| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This repository provides common tools for building documentation sites for plugins maintained by the CakePHP team. This build tooling is not meant for community plugins.
To use these tools your plugin should create a docker image based on markstory/cakephp-docs-builder. It should add your plugin's docs to /data/docs and then use the tools provided in the base image to build the site using sphinx. An example of this is:
# Generate the HTML output.
FROM markstory/cakephp-docs-builder as builder
COPY docs /data/docs
RUN cd /data/docs-builder && \
# In the future repeat website for each version
make website SOURCE=/data/docs DEST=/data/website/1.1
# Build a small nginx container with just the static site in it.
FROM nginx:1.15-alpine
COPY --from=builder /data/website /data/website
COPY --from=builder /data/docs-builder/nginx.conf /etc/nginx/conf.d/default.conf
# Move each version into place
RUN mv /data/website/1.1/html/ /usr/share/nginx/html/1.1Your plugin's docs will need to define a minimal sphinx configuration. You'll need at least the following:
An example conf.py is as follows:
# Global configuration information used across all the
# translations of documentation.
#
# Import the base theme configuration
from cakephpsphinx.config.all import *
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The full version, including alpha/beta/rc tags.
release = '1.1'
# The search index version. This needs to match
# the INDEX_PREFIX variable used when `make populate-index` is called.
search_version = 'authorization-11'
# The marketing display name for the book.
version_name = ''
# Project name shown in the black header bar
project = 'CakePHP Authorization'
# Other versions that display in the version picker menu.
version_list = [
{'name': '1.1', 'number': '1.1', 'title': '1.1.x', 'current': True},
]
# Languages available.
languages = ['en']
# The GitHub branch name for this version of the docs
# for edit links to point at.
branch = 'master'
# Current version being built
version = '1.1'
# Language in use for this directory.
language = 'en'After defining a docker file for your plugin you and building the image, you'll get the following:
The languages offered by a plugin are stored in a few places and each needs to be updated separately:
When you make changes to either cakephp/cakephpsphinx or this repository you need to publish a new docker image and update the cakephp server.
This will build new images and publish them to ghcr.io. Once new images have been published they need to be pulled onto the cakephp.org server
ssh apps.cakephp.org
docker pull ghcr.io/cakephp/docs-builder
docker pull ghcr.io/cakephp/docs-builder:runtime| Back | FazBrowse Home | New Git URL |