5.1 KiB
This provides guidance on how to contribute various content to the Prophet documentation.
Getting started
You should only have to do these one time.
- Rename this file to
CONTRIBUTING.md. - Rename
EXAMPLE-README-FOR-RUNNING-DOCS.mdtoREADME.md(replacing the existingREADME.mdthat came with the template). - Rename
EXAMPLE-LICENSEtoLICENSE. - Review the template information.
- Review
./_config.yml. - Make sure you update
title,description,taglineandgacode(Google Analytics) in./_config.yml.
Basic Structure
Most content is written in markdown. You name the file something.md, then have a header that looks like this:
---
docid: getting-started
title: Getting started with ProjectName
layout: docs
permalink: /docs/getting-started.html
---
Customize these values for each document, blog post, etc.
The filename of the
.mdfile doesn't actually matter; what is important is thedocidbeing unique and thepermalinkcorrect and unique too).
Landing page
Modify index.md with your new or updated content.
If you want a GridBlock as part of your content, you can do so directly with HTML:
<div class="gridBlock">
<div class="blockElement twoByGridBlock alignLeft">
<div class="blockContent">
<h3>Your Features</h3>
<ul>
<li>The <a href="http://example.org/">Example</a></li>
<li><a href="http://example.com">Another Example</a></li>
</ul>
</div>
</div>
<div class="blockElement twoByGridBlock alignLeft">
<div class="blockContent">
<h3>More information</h3>
<p>
Stuff here
</p>
</div>
</div>
</div>
or with a combination of changing ./_data/features.yml and adding some Liquid to index.md, such as:
{% include content/gridblocks.html data_source=site.data.features imagealign="bottom"%}
Blog
To modify a blog post, edit the appopriate markdown file in ./_posts/.
Adding a new blog post is a four-step process.
Some posts have a
permalinkandcommentsin the blog post YAML header. You will not need these for new blog posts. These are an artifact of migrating the blog from Wordpress to gh-pages.
- Create your blog post in
./_posts/in markdown (file extension.mdor.markdown). See current posts in that folder or./doc-type-examples/2016-04-07-blog-post-example.mdfor an example of the YAML format. If the./_postsdirectory does not exist, create it.
- You can add a
<!--truncate-->tag in the middle of your post such that you show only the excerpt above that tag in the main/blogindex on your page.
- If you have not authored a blog post before, modify the
./_data/authors.ymlfile with theauthorid you used in your blog post, along with your full name and Facebook ID to get your profile picture. - Run the site locally to test your changes. It will be at
http://127.0.0.1/blog/your-new-blog-post-title.html - Push your changes to GitHub.
Docs
To modify docs, edit the appropriate markdown file in ./_docs/.
To add docs to the site....
- Add your markdown file to the
./_docs/folder. See./doc-type-examples/docs-hello-world.mdfor an example of the YAML header format. If the./_docs/directory does not exist, create it.
- You can use folders in the
./_docs/directory to organize your content if you want.
- Update
_data/nav_docs.ymlto add your new document to the navigation bar. Use thedocidyou put in your doc markdown in as theidin the_data/nav_docs.ymlfile. - Run the site locally to test your changes. It will be at
http://127.0.0.1/docs/your-new-doc-permalink.html - Push your changes to GitHub.
Header Bar
To modify the header bar, change ./_data/nav.yml.
Top Level Page
To modify a top-level page, edit the appropriate markdown file in ./top-level/
If you want a top-level page (e.g., http://your-site.com/top-level.html) -- not in /blog/ or /docs/....
-
Create a markdown file in the root
./top-level/. See./doc-type-examples/top-level-example.mdfor more information. -
If you want a visible link to that file, update
_data/nav.ymlto add a link to your new top-level document in the header bar.This is not necessary if you just want to have a page that is linked to from another page, but not exposed as direct link to the user.
-
Run the site locally to test your changes. It will be at
http://127.0.0.1/your-top-level-page-permalink.html -
Push your changes to GitHub.
Code Blocks
This template uses rouge syntax highlighting out of the box. We have custom CSS for when those blocks are rendered. Rouge has plenty of supported languages.
Other Changes
- CSS:
./css/main.cssor./_sass/*.scss. - Images:
./static/images/[docs | posts]/.... - Main Blog post HTML:
./_includes/post.html - Main Docs HTML:
./_includes/doc.html