1
0
Fork 0

Sphinx documentation setup

main
Jeff Moe 2024-02-11 12:17:31 -07:00
parent a4c0cc611f
commit 0f4466161b
17 changed files with 448 additions and 0 deletions

97
Makefile 100644
View File

@ -0,0 +1,97 @@
# Makefile
# Jeff Moe with Parrot and Phind-CodeLlama-34B-v2_q8.gguf
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = docs/_source
BUILDDIR = docs/_build
AUTOBUILDOPTS = --host 127.0.0.1 --port 8000 --ignore "*.swp" --ignore "*.swx"
GETTEXT_BUILD = gettext_build
UPDATE_LOCALE = sphinx-intl update -p $(BUILDDIR)/locale/gettext -d $(SOURCEDIR)/locale -l
PO_FILES = $(wildcard docs/_source/locale/*/LC_MESSAGES/*.po)
MSGATTRIB = msgattrib
#LANGUAGES = am ar bg bn ca cak cs cy da de el en eo es et eu fa fi fil fr he hi hr hu id it ja ko lkt lt lv mk mr ms ne nl no pl pt ro ru si sk sl sq sr sv ta te th tr uk ur vi zh
LANGUAGES = en
.PHONY: check help html livehtml clean_sphinx clean gettext_build update_locale build_html all copy clean_po latex latexpdf
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " clean Remove all build files and directories (including translations)"
@echo " all Clean and make all targets"
@echo " gettext_build Build localisation strings for translation"
@echo " update_locale Update localisation"
@echo " update_locale_<lang> Update localisation for <lang>"
@echo " html Build the HTML documentation for all languages"
@echo " html_<lang> Build HTML documentation for <lang>"
@echo " latex Build the documentation using LaTeX for all languages"
@echo " latex_<lang> Build the documentation using LaTeX for <lang>"
@echo " latexpdf Build the PDFS documentation using LaTeX for all languages"
@echo " latexpdf_<lang> Build the PDFS documentation using LaTeX for <lang>"
@echo " index Copy static docs/index.html to docs/_build/html/index.html"
@echo " translations Translate from English"
all: clean gettext_build update_locale html index
check:
@for po in $(PO_FILES); do \
echo "Checking $$po..."; \
msgfmt --check --output-file=- "$$po" || exit 1; \
done
index:
cp -p docs/index.html docs/_build/html/index.html
clean:
for file in $(PO_FILES); do \
$(MSGATTRIB) --no-obsolete -o $$file $$file; \
done
cd docs && make clean
find $(SOURCEDIR) -type f -name "*.mo" -delete
rm -rf $(BUILDDIR)/*
gettext_build:
$(SPHINXBUILD) -b gettext -c $(SOURCEDIR) -d $(BUILDDIR)/doctrees/$(GETTEXT_BUILD) $(SOURCEDIR) $(BUILDDIR)/locale/gettext
update_locale:
@pids="" ; \
for lang in $(LANGUAGES); do \
( echo "Updating locale for $$lang..." ; $(UPDATE_LOCALE) $$lang ) & pids="$$pids $$!" ; \
done ; \
for pid in $$pids; do \
wait $$pid ; \
done
update_locale_%:
$(UPDATE_LOCALE) $*
html:
@for lang in $(LANGUAGES); do \
echo "Building HTML documentation for $$lang..."; \
$(SPHINXBUILD) -b html -d $(BUILDDIR)/doctrees -D language=$$lang $(SOURCEDIR) $(BUILDDIR)/html/$$lang; \
done
html_%: gettext_build
$(SPHINXBUILD) -b html -d $(BUILDDIR)/doctrees -D language=$* -c $(SOURCEDIR) $(SOURCEDIR) $(BUILDDIR)/html/$*/
latex:
@for lang in $(LANGUAGES); do \
echo "Building LaTeX documentation for $$lang..."; \
$(SPHINXBUILD) -b latex -d $(BUILDDIR)/doctrees -D language=$$lang -Dlatex_engine=xelatex $(SOURCEDIR) $(BUILDDIR)/latex/$$lang; \
done
latex_%:
$(SPHINXBUILD) -b latex -d $(BUILDDIR)/doctrees -D language=$* -Dlatex_engine=xelatex $(SOURCEDIR) $(BUILDDIR)/latex/$*/; \
latexpdf:
@for lang in $(filter-out ar he ja,$(LANGUAGES)); do \
echo "Building PDF documentation for $$lang..."; \
$(MAKE) -C $(BUILDDIR)/latex/$$lang ; \
done
latexpdf_%:
$(MAKE) -C $(BUILDDIR)/latex/$* ; \
translations:
./scripts/translate-all.sh

12
docs/Makefile 100644
View File

@ -0,0 +1,12 @@
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = _source
BUILDDIR = _build
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View File

@ -0,0 +1,8 @@
/* Jeff Moe with Parrot and Phind-CodeLlama-34B-v2_q8.gguf */
div.footer-wrapper {
display: none;
}
.wy-nav-content {
max-width: 95%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,6 @@
{% extends 'article.tpl' %}
{% block packages %}
\usepackage{fontspec}
{{ super() }}
{% endblock packages %}

View File

@ -0,0 +1,6 @@
{% extends "!layout.html" %}
{%- block extrahead %}
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/handsontable.full.min.css', 1) }}">
<script src="{{ pathto('_static/handsontable.full.min.js', 1) }}"></script>
{% endblock %}

View File

@ -0,0 +1,5 @@
=====
About
=====
About tinyparrot.

View File

@ -0,0 +1,72 @@
import sys, os
import sphinx.util.logging
logger = sphinx.util.logging.getLogger(__name__)
project = "tinyparrot: tinygrad for Parrot IDE"
copyright = "2024, Jeff Moe"
author = "Jeff Moe"
version = "0"
release = "0.0.0"
extensions = [
"notfound.extension",
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.napoleon",
"sphinx.ext.viewcode",
"sphinxcontrib.excel_table",
]
templates_path = ["_templates"]
exclude_patterns = []
source_suffix = ".rst"
master_doc = "index"
pygments_style = "staroffice"
python_display_short_literal_types = True
todo_include_todos = False
html_show_copyright = False
html_static_path = ["_static"]
html_favicon = "_static/favicon.ico"
html_logo = "_static/logo.png"
html_last_updated_fmt: None
html_show_sphinx = False
html_show_sourcelink = False
html_link_suffix = ".html"
html_theme = "sphinx_rtd_theme"
html_theme_options = {
"style_nav_header_background": "#4fb31f",
"display_version": False,
"prev_next_buttons_location": "bottom",
"collapse_navigation": True,
"sticky_navigation": True,
"navigation_depth": 4,
"includehidden": True,
"titles_only": False,
}
html_css_files = [
"custom.css",
]
html_context = {
"display_lower_left": True,
}
locale_dirs = ["locale/"]
gettext_compact = False
language = "en"
# languages = ('am', 'ar', 'bn', 'de', 'el', 'en', 'eo', 'es', 'eu', 'fil', 'fr', 'he', 'hi', 'id', 'it', 'ja', 'ko', 'mr', 'ms', 'nl', 'pl', 'pt', 'ru', 'see', 'ta', 'te', 'th', 'tr', 'ur', 'vi', 'zh')
languages = "en"
html_search_language = "en"
latex_engine = "xelatex"
latex_elements = {
"extraclassoptions": "openany,oneside",
"sphinxsetup": "hmargin={1in,1in}, vmargin={1in,1in}",
"inputenc": "",
"utf8extra": "",
"preamble": r"""
\usepackage{xcolor}
\usepackage{polyglossia}
""",
}
notfound_urls_prefix = "/en/"

View File

@ -0,0 +1,12 @@
==========
tinyparrot
==========
tinygrad deep learning framework for Parrot IDE.
.. toctree::
about
install
source
license
:maxdepth: 2
:caption: Contents:

View File

@ -0,0 +1,5 @@
=======
Install
=======
Install tinyparrot.

View File

@ -0,0 +1,5 @@
=======
License
=======
tinyparrot is under the MIT license.

View File

@ -0,0 +1,7 @@
===========
Source Code
===========
tinyparrot source code:
`<https://spacecruft.org/deepcrayon/tinyparrot>`_

28
docs/index.html 100644
View File

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="en">
<!-- Jeff Moe with Parrot and Phind-CodeLlama-34B-v2_q8.gguf -->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>tinyparrot: tinygrad for Parrot IDE</title>
<noscript>
<meta http-equiv="refresh" content="1; url=/en/" />
</noscript>
<script>
document.addEventListener('DOMContentLoaded', function() {
var language = navigator.language || navigator.userLanguage;
var path = '/en/';
switch (language.substr(0, 2)) {
case 'en':
path = '/en/';
break;
}
window.location.href = path;
});
</script>
</head>
<body>
</body>
</html>

65
pyproject.toml 100644
View File

@ -0,0 +1,65 @@
[build-system]
requires = [
"setuptools>=45",
"wheel",
"setuptools_scm[toml]>=6.2",
]
build-backend = "setuptools.build_meta"
[project]
name = "tinyparrot"
dynamic = ["version"]
authors = [
{name = "Jeff Moe", email = "moe@parrot.codes"},
]
description = "tinygrad for parrot."
readme = "README.md"
requires-python = ">=3.9"
keywords = [
"python",
]
license = {text = "MIT"}
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
]
dependencies = [
# CAD dependencies
"pydantic",
"typing_extensions >= 4.4.0, <5",
# Documentation dependencies
"polib",
"pycountry",
"requests",
"sphinx",
"sphinxcontrib-excel-table",
"sphinxcontrib-markdown",
"sphinx-autobuild",
"sphinx-autodoc-typehints",
"sphinx-intl",
"sphinx-notfound-page",
"sphinx-rtd-theme",
]
[project.urls]
Homepage = "https://parrot.codes"
Documentation = "https://spacecruft.org/deepcrayon/tinyparrot"
Repository = "https://spacecruft.org/deepcrayon/tinyparrot"
Issues = "https://spacecruft.org/deepcrayon/tinyparrot/issues"
Changelog = "https://spacecruft.org/deepcrayon/tinyparrot/raw/branch/main/CHANGELOG.txt"
[tool.setuptools.packages.find]
namespaces = true
where = ["src"]
[tool.setuptools_scm]
write_to = "src/tinyparrot/_version.py"
[project.scripts]
tinyparrot = "tinyparrot.tinyparrot_cli:main"