Skip to content

gristlabs/grist-help

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grist Help Center

Repository for Grist documentation and tutorials.

Where are the docs published?

The public site is at https://support.getgrist.com/, served using GitHub Pages.

The content is hosted at https://github.com/dsagal/grist-help/. On changes to master (such as when a pull request is merged), the public site gets automatically republished.

Previews of pull requests are automatically built by Netlify, and made available at URLs such as https://deploy-preview-153--grist-help-preview.netlify.app/. These are shown in the PR Conversation tab.

Setting up local environment

# initiate a python virtual environment
python3 -m venv env
source ./env/bin/activate # for most shells, or source ./env/bin/activate.fish or source ./env/bin/activate.csh depending on your shell
pip install -r requirements.txt
./docs.py live en # or whatever code for language you want to see

Then visit http://localhost:8000/ to preview documentation. All the articles, as well as static files, are under /help/en/docs subdirectory. While ./docs.py live is running, you may make changes there, and the open page will refresh to show the changes.

While ./docs.py live is running, you can run ./check_links.sh to check for broken links in the site. It will print out a lot of chatter, then if there are broken links, conclude with a section like this:

...
Found 5 broken links.

http://localhost:8000/col-refs/col-types
http://localhost:8000/afterschool-program/page-widgets.md/
http://localhost:8000/api/'+e+'
http://localhost:8000/api/%3C/textarea%3E%3Cimg%20src=x%20abc=1//
http://localhost:8000/api/'+u(e)+'

FINISHED --2020-03-13 10:38:07--
Total wall clock time: 1.3s
Downloaded: 36 files, 2.0M in 0.009s (226 MB/s)

In order to build the website with all the languages, run both build-all (so it builds the website) and then serve for preview:

source ./env/bin/activate
./docs.py build-all
./docs.py serve

Also see ./docs.py --help for the full list of commands and options available.

Publishing for preview

This is now automatically done by Netlify. Whenever you create a pull request, Netlify will build the site from your branch, and make it available at a URL like https://deploy-preview-153--grist-help-preview.netlify.app/. A link is placed into the Conversation tab of the pull request.

Any further pushes to this branch will cause the site to update. It may take Netlify a few minutes to notice the push, and takes about a minute more to rebuild the preview site.

Publishing changes live

This is now automatically done by GitHub Actions, whenever a commit is made to master, or a pull request is merged into master. You can see the history of these builds here: Publish Live workflow.

Editing the API

The API is documented in api/grist.yml. When editing this file, you can watch changes at http://localhost:9090 by running:

./api/preview.sh

Once you're done, add the results to the main documentation with:

./api/build.sh

Updating function reference

To update help/en/docs/functions.md from the documentation comments in Grist, run:

./build-functions.sh <path-to-grist-checkout>

It replaces content between BEGIN mkpydocs/END mkpydocs markers in help/en/docs/functions.md. You can edit text outside of those markers directly.

Updating plugin API reference

To update help/en/docs/code from the documentation comments in Grist, run:

./build-plugin-api.sh <path-to-grist-checkout>

You need to first run yarn install in your Grist checkout directory.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

The script docs.py is MIT licensed, credits to Sebastián Ramírez and the FastAPI project contributors.