Key change is using the new `absolute_url` and `relative_url` filters http://jekyllrb.com/news/2016/10/06/jekyll-3-3-is-here/ https://github.com/blog/2277-what-s-new-in-github-pages-with-jekyll-3-3
4.7 KiB
This provides guidance on how to contribute various content to rocksdb.org
.
Getting started
You should only have to do these one time.
- Rename this file to
CONTRIBUTING.md
. - Rename
EXAMPLE-README-FOR-RUNNING-DOCS.md
toREADME.md
(replacing the existingREADME.md
that came with the template). - Rename
EXAMPLE-LICENSE
toLICENSE
. - Review the template information.
- Review
./_config.yml
. - Make sure you update
title
,description
,tagline
andgacode
(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
.md
file doesn't actually matter; what is important is thedocid
being unique and thepermalink
correct 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
permalink
andcomments
in 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.md
or.markdown
). See current posts in that folder or./doc-type-examples/2016-04-07-blog-post-example.md
for an example of the YAML format. If the./_posts
directory 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/blog
index on your page.
- If you have not authored a blog post before, modify the
./_data/authors.yml
file with theauthor
id 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.md
for 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.yml
to add your new document to the navigation bar. Use thedocid
you put in your doc markdown in as theid
in the_data/nav_docs.yml
file. - 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.md
for more information. -
If you want a visible link to that file, update
_data/nav.yml
to 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.
Other Changes
- CSS:
./css/main.css
or./_sass/*.scss
. - Images:
./static/images/[docs | posts]/....
- Main Blog post HTML:
./_includes/post.html
- Main Docs HTML:
./_includes/doc.html