/hubpress.io

A web application to build your blog on GitHub

Primary LanguageJavaScriptMIT LicenseMIT

HubPress

What Is HubPress?

editor

HubPress is a free, open source tool to build your future awesome blog!

Created and maintained by Anthonny Quérouil (twitter @anthonny_q).

Note
HubPress is actually in preview, if you find some bugs come to see us.

Documentation is rapidly evolving as the project gains momentum. Check back regularly for more tips on how to use HubPress.

Getting Started

Installation

Fork the repository

Click the Fork icon Fork to create a copy of this repository within your GitHub account.

Use the github.io domain

If you have never used your GitHub Pages domain before, you can use this procedure to quickly set up HubPress. With this method, only a few steps are required to get HubPress deployed and ready for use.

Important
If you are currently using your username.github.io GitHub Pages domain for another project, or if you want to use a custom domain name, skip to the next procedure for instructions.
  1. Rename your repository to <username>.github.io

  2. Set values in hubpress/config.json

    Edit config

    The following parameters are mandatory :

    • username, which is your GitHub user name,

    • repositoryName, which is the new name of the repository fork, <username>.github.io.

  3. Commit the changes, and open the GitHub Pages domain: http://<username>.github.io/.

  4. The following screen indicates you have correctly configured HubPress

    Install complete

Use a Custom Domain or GitHub Page Domain Already In Use

If you want your blog to be available on a custom domain, or you are already using your GitHub Pages domain to host another project, some extra configuration is required.

  1. In the repository settings, set the default branch to gh-pages :

    Settings gh-pages

  2. Switch your repository to the branch gh-pages

    Install complete

  3. Set the required values in `hubpress/config.json

    Edit config

    The following parameters are mandatory :

    • username, which is your GitHub user name,

    • repositoryName, which is the repository fork. For example, hubpress.io if you did not rename it.

  4. Commit the changes, and open the GitHub Pages domain: http://<username>.github.io/<repositoryName>/.

  5. The following screen indicates you have correctly configured HubPress

    Install complete

Administration Console

The HubPress Administration Console is available at /hubpress

Log Into the Administration Console

Install complete

Enter your GitHub credentials to log into HubPress Admin.

Once you authenticate, a personal token is created for future calls from HubPress to the GitHub API.

This is synchronized across all sessions of HubPress, so if you open the Administration Console on your PC and then your Tablet, the token is applicable to all devices.

Settings Page

You can configure basic blog settings (such as CNAME and Pagination) and social media accounts you want to connect to your blog.

Meta

This section contains basic information configured in the /hubpress/config.json file.

The Git CNAME field is configurable, and lets you specify a custom domain name for your blog. See https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages/ for instructions about setting up a CNAME for your blog.

Site

Title and Description

The Title and Description fields allow you to give your blog a name, and tell visitors what they can expect from your blog posts.

The Logo and Cover Image fields can be used the following ways:

  • A HTML link to an image hosting service. For example gravatar.

  • A link to an image committed to the /images directory of your blog repository.

Note
See the /images/README.adoc file for tips about embedding images into your blog posts.
Theme

The Theme is selectable from the list of themes stored in the /themes directory. Specify it according to it is spelled in it’s containing folder.

Google Analytics

The Google Analytics field takes the unique Google Analytics code generated for the site.

Disquss Shortname

The Disquss shortname field takes your Discuss user name. Only the user name is required, not a link to your profile page.

Social Network

All fields in this group require full URLs to your public profile page. The way these values are rendered on your blog depends on the theme selected.

Managing Posts

When you first start HubPress, the Posts view is empty. As you create blog posts, the page populates with the list of posts on the left, and a live preview of the blog post itself on the right.

Creating a Post

Note
If you have never used AsciiDoc before to write content, the AsciiDoctor Writer’s Guide should be your first stop in your journey. The guide provides both basic and advanced mark-up examples for you to copy and use.

HubPress Editor displays the AsciiDoc code on the left, and the live preview on the right.

Basic AsciiDoc Blog Tips

Blog Title and Headings

The blog title is always Level 1 in an AsciiDoc post. For example, = Blog Title sets the name of the Blog Post to Blog Title.

If you want a first-level heading you use == First Level Heading, and so on to create other nested headings.

Cover Image

If you want to add a cover image to your Blog Post, you must set the hp-image attribute.

For example :

= Blog Title
:hp-image: http://github.com/<username>/<repositoryName>/images/a-cover-image.jpg
Publication date

By default, the publication date is the date of the day to which you introduced your Blog Post. You can force the publication date by adding the published_at

For example :

= Blog Title
:published_at: 2015-01-31
Tags and Categories

Actually, only tags are supported. You can add some tags by using the hp-tags attribute.

For example :

= Blog Title
:hp-tags: tag1,tag2,tag3

Credits

Thanks to Jared Morgan for initially tidying up the README you see here, and continuing to be the "docs guy" for HubPress.