-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
12a8c3e
commit 66e9463
Showing
5 changed files
with
105 additions
and
90 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,7 @@ maintainers = [ | |
{ name = "Wolfgang Fahl", email = "[email protected]" }, | ||
] | ||
readme = "README.md" | ||
license = {text = "Apache-2.0"} | ||
license = {text = "Apache-2.0"} | ||
dependencies = [ | ||
# https://github.com/WolfgangFahl/nicegui_widgets | ||
"ngwidgets>=0.14.2", | ||
|
@@ -68,9 +68,11 @@ test = [ | |
] | ||
|
||
[tool.hatch.build.targets.wheel] | ||
packages = [ | ||
"frontend", | ||
] | ||
only-include = ["frontend"] | ||
|
||
[tool.hatch.build.targets.wheel.sources] | ||
"frontend" = "frontend" | ||
|
||
|
||
[project.scripts] | ||
wikicms = "frontend.cmsmain:main" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,83 +1,88 @@ | ||
#!/bin/bash | ||
# WF 2020-01-31 | ||
# create docs for a configurable project | ||
# WF 2024-07-30 - updated | ||
|
||
# | ||
# check whether the given command is installed | ||
# | ||
checkinstalled() { | ||
local l_cmd="$1" | ||
which $l_cmd > /dev/null | ||
if [ $? -ne 0 ] | ||
then | ||
echo "$l_cmd need to be installed" 1>&2 | ||
exit 1 | ||
fi | ||
} | ||
# Extract project name from pyproject.toml | ||
PROJECT_NAME=$(grep "\[project\]" pyproject.toml -A1 | grep name | cut -d '=' -f2 | tr -d ' "') | ||
PACKAGE_NAME=$(grep "\[tool.hatch.build.targets.wheel.sources\]" pyproject.toml -A1 | tail -1 | cut -d '=' -f2 | tr -d ' "') | ||
|
||
fixconf() { | ||
local l_year="$1" | ||
local l_author="$2" | ||
conf=conf.py | ||
# fix sys path | ||
# https://stackoverflow.com/questions/10324393/sphinx-build-fail-autodoc-cant-import-find-module | ||
grep "# sys.path" $conf | ||
if [ $? -eq 0 ] | ||
then | ||
tmpconf=/tmp/conf$$.py | ||
cat $conf | awk -v author="$l_author" -v year="$l_year" ' | ||
BEGIN { | ||
quote="\x27" | ||
squote="\047" | ||
} | ||
/# import os/ { next } | ||
/# import sys/ { next } | ||
/copyright/ { | ||
printf "copyright = %s%s, %s%s\n",squote,year,author,squote | ||
next | ||
} | ||
/author/ { | ||
printf "author = %s%s%s\n",squote,author,squote | ||
next | ||
} | ||
/html_theme = / { | ||
# html_theme = 'alabaster' | ||
printf "html_theme = %ssphinx_rtd_theme%s\n",squote,squote | ||
printf "master_doc = %sindex%s\n",squote,squote | ||
next | ||
} | ||
# add sphinx_rtd extension | ||
/extensions = / { | ||
print $0 | ||
printf "\t%ssphinx_rtd_theme%s,\n",squote,squote | ||
printf "\t%ssphinx.ext.napoleon%s,\n",squote,squote | ||
next | ||
} | ||
/# sys.path/ { | ||
print("#https://stackoverflow.com/a/44980548/1497139") | ||
print("import os") | ||
print("import sys") | ||
print("import sphinx_rtd_theme") | ||
printf("basepath=os.path.abspath(%s../..%s)\n",squote,squote) | ||
printf("print(%sadding basepath %%s%s %% (basepath))\n",squote,squote) | ||
print("sys.path.insert(0, basepath)") | ||
printf("print(%ssys.path is now: %%s%s %% (sys.path))\n",squote,squote) | ||
next | ||
} | ||
{ print}' > $tmpconf | ||
#diff $tmpconf $conf | ||
mv $tmpconf $conf | ||
echo "$src/conf.py has been fixed" | ||
fi | ||
|
||
# Function to print usage information | ||
print_usage() { | ||
echo "Usage: $0 [OPTIONS]" | ||
echo "Options:" | ||
echo " -pr, --project NAME Set the project name (default: $PROJECT_NAME)" | ||
echo " -pa, --package NAME Set the package name (default: $PACKAGE_NAME)" | ||
echo " -d, --deploy Deploy the documentation after building" | ||
echo " -h, --help Display this help message" | ||
} | ||
|
||
src=docs/source | ||
checkinstalled sphinx-apidoc | ||
sphinx-apidoc --full -f -o $src . | ||
cd $src | ||
# Parse command line arguments | ||
DEPLOY=false | ||
while [[ "$#" -gt 0 ]]; do | ||
case $1 in | ||
-pr|--project) PROJECT_NAME="$2"; shift ;; | ||
-pa|--package) PACKAGE_NAME="$2"; shift ;; | ||
-d|--deploy) DEPLOY=true ;; | ||
-h|--help) print_usage; exit 0 ;; | ||
*) echo "Unknown parameter: $1"; print_usage; exit 1 ;; | ||
esac | ||
shift | ||
done | ||
|
||
# Ensure we're in the correct directory | ||
if [[ ! -d "$PACKAGE_NAME" ]]; then | ||
echo "Error: $PACKAGE_NAME package directory not found. Are you in the correct directory?" | ||
exit 1 | ||
fi | ||
|
||
# Check if mkdocs is installed | ||
if ! command -v mkdocs &> /dev/null; then | ||
pip install mkdocs mkdocs-material mkdocstrings[python] | ||
fi | ||
|
||
# Create or update mkdocs.yml | ||
cat << EOF > mkdocs.yml | ||
site_name: $PROJECT_NAME API Documentation | ||
theme: | ||
name: material | ||
plugins: | ||
- search | ||
- mkdocstrings: | ||
handlers: | ||
python: | ||
setup_commands: | ||
- import sys | ||
- import os | ||
- sys.path.insert(0, os.path.abspath(".")) | ||
selection: | ||
docstring_style: google | ||
rendering: | ||
show_source: true | ||
nav: | ||
- API: index.md | ||
EOF | ||
|
||
# Create or update index.md | ||
index_md=docs/index.md | ||
mkdir -p docs | ||
cat << EOF > $index_md | ||
# $PROJECT_NAME API Documentation | ||
::: $PACKAGE_NAME | ||
options: | ||
show_submodules: true | ||
EOF | ||
|
||
fixconf 2021 "Wolfgang Fahl" | ||
make clean html | ||
if [ "$GHACTIONS" != "ACTIVE" ] | ||
then | ||
open _build/html/index.html | ||
# Ignore DeprecationWarnings during build | ||
export PYTHONWARNINGS="ignore::DeprecationWarning" | ||
|
||
# Build the documentation | ||
mkdocs build --config-file ./mkdocs.yml | ||
|
||
# Deploy if requested | ||
if [ "$DEPLOY" = true ]; then | ||
mkdocs gh-deploy --force --config-file ./mkdocs.yml | ||
fi | ||
|
||
echo "Documentation process completed for $PROJECT_NAME." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/bash | ||
# WF 2024-07-31 | ||
# prepare a release | ||
scripts/doc -d | ||
|
||
# Commit with a message that includes the current ISO timestamp | ||
git commit -a -m "release commit" | ||
git push |