Adding documentation
parent
c781347bc3
commit
ad0e532be8
|
@ -0,0 +1,20 @@
|
|||
# Minimal makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line, and also
|
||||
# from the environment for the first two.
|
||||
SPHINXOPTS ?=
|
||||
SPHINXBUILD ?= sphinx-build
|
||||
SOURCEDIR = source
|
||||
BUILDDIR = build
|
||||
|
||||
# Put it first so that "make" without argument is like "make help".
|
||||
help:
|
||||
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
|
||||
.PHONY: help Makefile
|
||||
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
%: Makefile
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@ -0,0 +1,5 @@
|
|||
# Building Documentation
|
||||
|
||||
1. Run `make html`
|
||||
2. The docs appear in `docs/build/html`. You can open them in a browser (e.g., on Mac do `open docs/build/html/index.html`)
|
||||
3. Run `sync.sh` to upload it to the S3 bucket
|
|
@ -0,0 +1,2 @@
|
|||
sphinx
|
||||
sphinx-argparse
|
|
@ -0,0 +1,10 @@
|
|||
Command Line Reference
|
||||
====================================
|
||||
|
||||
.. argparse::
|
||||
:module: tfscript.cli
|
||||
:func: parseCLI
|
||||
:prog: tfscript
|
||||
|
||||
|
||||
This is the documentation for the CLI tool.
|
|
@ -0,0 +1,23 @@
|
|||
# Configuration file for the Sphinx documentation builder.
|
||||
#
|
||||
# For the full list of built-in configuration values, see the documentation:
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||
|
||||
project = 'TFScript'
|
||||
copyright = '2022, Nicholas Hope and Paco Hope'
|
||||
author = 'Nicholas Hope and Paco Hope'
|
||||
release = '1.0'
|
||||
extensions = [
|
||||
'sphinx.ext.duration',
|
||||
'sphinx.ext.doctest',
|
||||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.autosummary',
|
||||
'sphinxarg.ext' ]
|
||||
templates_path = ['_templates']
|
||||
exclude_patterns = []
|
||||
html_theme = 'alabaster'
|
||||
html_static_path = ['_static']
|
||||
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.path.abspath('../../src'))
|
|
@ -0,0 +1,12 @@
|
|||
Welcome to TFScript
|
||||
====================================
|
||||
|
||||
TFScript helps you manage all the customisations you make to your Team Fortress 2 configurations. If you have `custom scripts <https://wiki.teamfortress.com/wiki/Scripting_faq>`_ in your ``cfg`` files, then this will help you automate that.
|
||||
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
cli
|
||||
installing
|
|
@ -0,0 +1,6 @@
|
|||
Installing
|
||||
==============
|
||||
|
||||
You can get the software by going `to the repository <https://git.paco.to/tfscript/tfscript/releases>`_ and downloading.
|
||||
|
||||
Someday we hope you can just run ``pip install tfscript``.
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
|
||||
BUCKET=tfscript.nickhope.world
|
||||
AWSROLE="arn:aws:iam::096320175891:role/Admin"
|
||||
NORMALAGE=120 # in seconds
|
||||
# could be something like "foo" if everything is meant to be in /foo
|
||||
PREFIX=""
|
||||
AWS="aws" # for simple debugging, change this to AWS="echo aws"
|
||||
AWSLOG="sync.log"
|
||||
|
||||
export AWS_DEFAULT_OUTPUT=text
|
||||
export AWS_PAGER=
|
||||
CACHE="--cache-control max-age=\"${NORMALAGE}\",public"
|
||||
|
||||
# Set up AWS creds. Assume role once. Reuse creds after that.
|
||||
|
||||
temp_role=$(aws --output json sts assume-role \
|
||||
--role-arn "${AWSROLE}" \
|
||||
--role-session-name "tfscript-sync")
|
||||
|
||||
export AWS_ACCESS_KEY_ID=$(echo $temp_role | jq -r .Credentials.AccessKeyId)
|
||||
export AWS_SECRET_ACCESS_KEY=$(echo $temp_role | jq -r .Credentials.SecretAccessKey)
|
||||
export AWS_SESSION_TOKEN=$(echo $temp_role | jq -r .Credentials.SessionToken)
|
||||
|
||||
rm -f ${AWSLOG}
|
||||
${AWS} s3 sync --only-show-errors \
|
||||
build/html s3://${BUCKET} --delete \
|
||||
${CACHE} 2>&1 >> ${AWSLOG}
|
||||
|
||||
echo "Writing index files to directory markers"
|
||||
time (find build/html/* -name index.html | while read -r line; do
|
||||
# ${AWS} s3 cp $line "s3://$BUCKET/${BASH_REMATCH[1]}"
|
||||
# get rid of "public/"
|
||||
OBJKEY=${line#build\/html/*}
|
||||
# get rid of "/index.html"
|
||||
OBJKEY=${OBJKEY%/index.html}
|
||||
echo "Uploading from $line to s3://${BUCKET}/${OBJKEY}/"
|
||||
${AWS} s3api put-object --bucket "$BUCKET" \
|
||||
--body ${line} --key "${OBJKEY}" --content-type text/html ${CACHE} 2>&1 >> ${AWSLOG}
|
||||
${AWS} s3api put-object --bucket "$BUCKET" \
|
||||
--body ${line} --key "${OBJKEY}/" --content-type text/html ${CACHE} 2>&1 >> ${AWSLOG}
|
||||
done)
|
Loading…
Reference in New Issue