Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTML Documentation #4439

Closed
7 tasks done
cakrit opened this issue Oct 18, 2018 · 8 comments
Closed
7 tasks done

HTML Documentation #4439

cakrit opened this issue Oct 18, 2018 · 8 comments
Assignees
Labels
area/docs priority/high Super important issue
Milestone

Comments

@cakrit
Copy link
Contributor

cakrit commented Oct 18, 2018

This issue is the equivalent of an agile delivery process Epic. The end state for our documentation will be the following:

  • The netdata project contains all source files, static content, doc configs and required scripts to build its static html documentation.
  • Source files are markdown documents throughout the netdata directory structure
  • Static content is images, html fragments, javascripts etc. that reside in a separate directory structure under netdata (htmldoc)
  • Required scripts are the code that will be used to validate the consistency of the documentation and to build the site. They will also reside under folder htmldoc
  • Doc configs are the files requirements.txt, and runtime.txt that are needed by Netlify to generate the static site at the root directory.
  • Netlify is used to generate and publish the site. The main advantage of Netlify over mkdocs is that we are able to specify a custom build command, whereas mkdocs forces us to use either mkdocs or sphinx. We need the custom build command, as the generated files will not be tracked in git.
  • Every commit, regardless of whether it is related to code or documentation will trigger the documentation to be built.
  • We will have a way to see older versions of the documentation.
  • The documentation site will include dynamic links to live demos that enable users to see a referenced chart not only on one of our live demo sites, but also on any of their servers we have kept in our registry (will utilize the registry cookie).
  • The HTML site will contain edit page links that lead to the appropriate .md file in the netdata repo

High level list of things that need to happen:

  • Incrementally prepare the static site builder, in netdata-doc. The project netdata-doc is temporary.
  • Put the static site builder inside netdata, in a separate branch
  • Add all required artifacts to the netdata master, update the link in the wiki and lock the wiki to prevent other changes there. From this point onwards all changes are done on the netdata repo.
  • Create new site build script, that takes all markdown files from netdata.
  • Finalize html site structure (New documentation structure #4321).
  • Update the links in the wiki to point to the html site.
  • Documentation links sanity checker Documentation links sanity checker #4416

The following will be part of phase 2 and split into separate issues:

@cakrit cakrit self-assigned this Oct 18, 2018
@ktsaou
Copy link
Member

ktsaou commented Oct 18, 2018

The only problem I see is the images. If we add them into the repo, it will explode in size. This will be problematic, especially since we will also plan to distribute packages with it.

I would suggest to keep all images in a CDN and refer them from documentation.

So, the only images inside the repo, should the images the agent needs.

@cakrit
Copy link
Contributor Author

cakrit commented Oct 18, 2018

Not a bad idea regarding the images, we'll see how big they'll be of course... Do the packages need to contain the images?

@Ferroin
Copy link
Member

Ferroin commented Oct 19, 2018

Alternatively regarding the images, if we can get all of them as uncompressed SVG's, then there shouldn't be any issues with repo size. The size issues with images arise from how git has to handle binary data, but SVG's are text, so they don't demonstrate the same problems.

@cakrit
Copy link
Contributor Author

cakrit commented Oct 19, 2018

With SVGs I can try something like this too: https://www.svgminify.com/

@Ferroin
Copy link
Member

Ferroin commented Oct 19, 2018

While keeping them small is nice, going too far will lead to huge diffs, which will cause the same issues that binary files do, albeit to a lesser degree.

@cakrit
Copy link
Contributor Author

cakrit commented Nov 4, 2018

I've done a lot of work on the 'htmldoc' branch, please take a look at the code under htmldoc and the generated site at https://netdata.netlify.com, as I'll need feedback.

@cakrit
Copy link
Contributor Author

cakrit commented Nov 27, 2018

Site live, all links updated to point to https://docs.netdata.cloud

@cakrit cakrit closed this as completed Nov 27, 2018
@ktsaou
Copy link
Member

ktsaou commented Nov 28, 2018

I think the main README.md needs update too. There is a section about documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docs priority/high Super important issue
Projects
None yet
Development

No branches or pull requests

3 participants