Skip to content

Commit

Permalink
release commit
Browse files Browse the repository at this point in the history
  • Loading branch information
WolfgangFahl committed Aug 16, 2024
1 parent ca9ad1f commit 807739b
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 0 deletions.
18 changes: 18 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
site_name: dynamic_competence_map 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
88 changes: 88 additions & 0 deletions scripts/doc
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#!/bin/bash
# create docs for a configurable project
# WF 2024-07-30 - updated

# 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 ' "')


# 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"
}

# 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

# 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."
8 changes: 8 additions & 0 deletions scripts/release
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

0 comments on commit 807739b

Please sign in to comment.