docs/content/pages/setting-up-a-github-pages-s.../adding-content-to-your-gith...

4.8 KiB

title intro product redirect_from versions topics shortTitle
Adding content to your GitHub Pages site using Jekyll You can add a new page or post to your Jekyll site on {% data variables.product.prodname_pages %}. {% data reusables.gated-features.pages %}
/articles/adding-content-to-your-github-pages-site-using-jekyll
/github/working-with-github-pages/adding-content-to-your-github-pages-site-using-jekyll
fpt ghes ghec
* * *
Pages
Add content to Pages site

People with write permissions for a repository can add content to a {% data variables.product.prodname_pages %} site using Jekyll.

About content in Jekyll sites

Before you can add content to a Jekyll site on {% data variables.product.prodname_pages %}, you must create a Jekyll site. For more information, see "AUTOTITLE."

The main types of content for Jekyll sites are pages and posts. A page is for standalone content that isn't associated with a specific date, such as an "About" page. The default Jekyll site contains a file called about.md, which renders as a page on your site at YOUR-SITE-URL/about. You can edit the contents of that file to personalize your "About" page, and you can use the "About" page as a template to create new pages. For more information, see "Pages" in the Jekyll documentation.

A post is a blog post. The default Jekyll site contains a directory named _posts that contains a default post file. You can edit the contents of that post, and you can use the default post as a template to create new posts. For more information, see "Posts" in the Jekyll documentation.

Your theme includes default layouts, includes, and stylesheets that will automatically be applied to new pages and posts on your site, but you can override any of these defaults. For more information, see "AUTOTITLE."

{% data reusables.pages.about-front-matter %}

{% data reusables.pages.test-locally %}

Adding a new page to your site

{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %}

  1. In the root of your publishing source, create a new file for your page called PAGE-NAME.md, replacing PAGE-NAME with a meaningful filename for the page.

  2. Add the following YAML frontmatter to the top of the file, replacing PAGE-TITLE with the page's title and URL-PATH with a path you want for the page's URL. For example, if the base URL of your site is https://octocat.github.io and your URL-PATH is /about/contact/, your page will be located at https://octocat.github.io/about/contact.

    layout: page
    title: "PAGE-TITLE"
    permalink: /URL-PATH
    
  3. Below the frontmatter, add content for your page. {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} {% data reusables.files.choose_pull_request %} {% data reusables.files.merge_pull_request %} {% data reusables.files.write_commit_message_pull_request %} {% data reusables.files.confirm_merge %} {% data reusables.files.delete_branch %}

Adding a new post to your site

{% data reusables.pages.navigate-site-repo %} {% data reusables.pages.navigate-publishing-source %}

  1. Navigate to the _posts directory.

  2. Create a new file called YYYY-MM-DD-NAME-OF-POST.md, replacing YYYY-MM-DD with the date of your post and NAME-OF-POST with the name of your post.

  3. Add the following YAML frontmatter to the top of the file, including the post's title enclosed in quotation marks, the date and time for the post in YYYY-MM-DD hh:mm:ss -0000 format, and as many categories as you want for your post.

    layout: post
    title: "POST-TITLE"
    date: YYYY-MM-DD hh:mm:ss -0000
    categories: CATEGORY-1 CATEGORY-2
    
  4. Below the frontmatter, add content for your post. {% data reusables.files.write_commit_message %} {% data reusables.files.choose-commit-email %} {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} {% data reusables.files.choose_pull_request %} {% data reusables.files.merge_pull_request %} {% data reusables.files.write_commit_message_pull_request %} {% data reusables.files.confirm_merge %} {% data reusables.files.delete_branch %}

Your post should now be up on your site! If the base URL of your site is https://octocat.github.io, then your new post will be located at https://octocat.github.io/YYYY/MM/DD/TITLE.html.

Next steps

{% data reusables.pages.add-jekyll-theme %} For more information, see "AUTOTITLE."