Intro to importing static docs from external projects
How to import static content from external repos?
Make sure any changes are committed.
When in this centralized documentation project root run the following command:
git subrepo clone <url.git> docs/<external-repo-name>This command will clone an external repo into a sub-directory
under docs/.
Next, refer files from imported repo in sidebars.js to have
those exposed in the site's side bar
(e.g. external-repo-name/document-id).
By default local clone is synced with an external source repo
master branch.
I do not need content from external repo anymore
When in project root run the following command:
git subrepo clean docs/<external-repo-name> --forceDelete the sub-directory with an external repo clone you do not need,
fix sidebars.js, then build and deploy the site.
How to develop documentation?
Firstly, follow the official guide.
The following command will start a development server:
yarn startWhenever imported content requires any changes introduce those
in a base repo (on master branch) and re-import it
into the documentation site with yarn update.
caution
Actually, git-subrepo allows pushing local changes to imported content
to a relevant base repo. Make sure this is an accepted method of
contribution to a base repo.
.gitrepo file in a sub-directory is an evidence of imported content.
It is recommended that documentation files from external repos have their own headers like the following:
---id: id-unique-across-an-imported-repotitle: Title of the document to show in the sidebar---In sidebars.js refer to every imported document using its id
prepended with imported repo directory name.
For example, if docu2inc repo is imported with README.md
file having intro as its id then sidebars.js should refer to
it as docu2inc/intro (not docu2inc/README). If a file
(e.g. extra.md) has no id assigned then it should be referred to
as docu2inc/extra (without extension).
Note that all files from an imported repo are accessible.
However, only those explicitly described in sidebars.js will
be exposed in the site's side bar.
warning
Unfortunately, it is not possible to update imported content
on-the-fly. You will need to stop development server,
update imported content with yarn update and launch
development server with yarn start again.
How to keep this site in sync with remote content?
yarn updateThis command will update local copies of files from all external repos.
Run yarn build and yarn deploy to re-build and publish the site.
It would be great to trigger site re-build and deployment
once any external repo's master is updated.
This feature is WIP. Possible solution is to employ "repository dispatch" events.