Comments (3)
I envisioned it a little bit differently:
- Each build builds a single documentation version, which is specified by the latest commit
- If the build is on
master
and (possibly) satisfies other certain conditions, the built pages are deployed using Travis's deploy hook to the/doc/latest
or a similar directory (note that naturally, thedeploy
stage isn't executed for pull requests) - If the build is tagged, the pages are also deployed to the
/doc/$TRAVIS_TAG
directory (e.g.,/doc/v0.2
)
The only thing that's left is configuring mkdocs
to work properly with this setup, which includes at least:
- Specifying the base URL so it matches the deployment
- Adding a widget with the version selector (e.g., to the footer). In the simplest case, a list of available versions could be manually specified in
mkdocs.yml
from exonum-doc.
@slowli, anything will be good. Just wanted to state that we need to support multiple versions of documentation.
from exonum-doc.
So, a slight elaboration on how I imagine things are going to work:
- There are branches for this repo corresponding to minor versions of the core repository (i.e.,
v0.1
,v0.2
, ...,v1.0
, ...) in addition tomaster
. master
corresponds to the latest version.- These branches can be target of PRs. This may be the case if we forgot (or didn't have time) to document some feature, discovered a bug, etc. In general, though, PRs target
master
as usual. - Commits from a PR can be backported to the relevant version branches if deemed necessary. It can be signaled via a special tag on the PR (say, "needs backport").
- During CI builds, the deploy step can determine the branch being built via the
TRAVIS_BRANCH
environment variable and push the built documentation accordingly.v<something>
can be pushed to the<something>
dir, andmaster
to thelatest
dir. - Note that since
TRAVIS_BRANCH
influences the location of the documentation, this location should be edited intosite_url
inmkdocs.yml
. This can be accomplished viased
. A minor question is whether it should be done when testing the docs, or only during deployment. - If we decide to use GitHub pages, the
gh-pages
branch should be checked out before deployment, then the relevant dir in it overwritten by the generated docs, and then the resulting dir pushed back togh-pages
. (We don't want to erase all other branches.) Seems a bit sketchy but certainly feasible. - If we use
scp
or something like it, just pushing the built docs to the relevant remote dir seems to work fine.
Why not tags for versioning? Because we can miss something, so we'll inevitably have to amend documentation pinned to releases.
Do we need tags at all? Maybe; your suggestions appreciated.
cc @djsatok @boguslavsky @defuz
from exonum-doc.
Related Issues (20)
- Update configuration samples. HOT 3
- Unnecessary data in installation guide
- Invalid reference to cryptocurrency example in transaction article
- Remove `Transaction::info()` from docs
- Update macros description HOT 1
- Describe CORS settings
- Merkle patricia HOT 3
- Point new Contributors to "trivial" Issues HOT 7
- Missing Website (exonum.com) Sources (for contributing) HOT 1
- Website: Some Major-Minor Issues HOT 2
- Describe transaction execution result
- Add API reference HOT 2
- Update docs to actual state of framework and correct some critical moments. HOT 1
- Use contributor license agreement & GitHub integration
- Rework document hierarchy HOT 2
- Update link colors
- Improvements in Serialization article
- Add whitelist description to System Configuration article
- Describe service interoperability in roadmap
- Update installation guide HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exonum-doc.