Skip to main content

A static blog generator

Project description

Petroglyph
==========
[![Build Status](https://travis-ci.org/polybuildr/petroglyph.svg?branch=master)](https://travis-ci.org/polybuildr/petroglyph)

Petroglyph is a Python-based static blog generator. (Tested on 2.7.6).

## Installation

Petroglyph is now a pip package! You can install petroglyph by simply doing:
```bash
$ sudo pip install petroglyph
```

If you don't have `pip`, first install pip using your package manager.

```bash
$ sudo apt-get install python-pip #Ubuntu, etc.
$ sudo yum install python-pip #Fedora, etc.
```
If installing from `pip` doesn't work for you, please [file an issue](https://github.com/polybuildr/petroglyph/issues) and then use the old installation instructions below instead.

### Old installation procedure

To install, first install `mistune`, `pyyaml` and `docutils`.

```bash
$ pip install mistune pyyaml docutils
```

If you don't have `pip`, first install pip using your package manager.

```bash
$ sudo apt-get install python-pip #Ubuntu, etc.
$ sudo yum install python-pip #Fedora, etc.
```

If `pip` fails to install `pyyaml` (check for the line `Successfully installed pyyaml` in the output), then you can use your package manager to install `pyyaml`.

```bash
$ sudo apt-get install python-yaml #Ubuntu, etc.
$ sudo yum install PyYAML #Fedora, etc.
```

Next, install petroglyph. Petroglyph is currently not available as a pip package, so you'll have to install it manually.

You can download a [stable release from GitHub](https://github.com/polybuildr/petroglyph/releases) or clone from master.

There is a script named `petroglyph` in the folder, this is the script you will use to set up your blog. Consider putting this in your `PATH` for ease of use.

On Linux, if using `bash`, you can add a line to your `.bashrc` to do this.

```bash
$ echo 'export PATH="/path/to/petroglyph:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
```

Depending on your setup, this could be a different file, such as `~/.profile` or `~/.bash_profile`.

## Setting up a blog

1. Create a new directory for your blog.

```bash
$ mkdir awesomeblog
```
2. Inside this new directory, run `petroglyph init` and fill in the details.

The default theme is `monoblue`. If you want to use a different skin (`monogreen`, `monopurple` and `monored` included by default), run `petroglyph init --skin SKIN`.
```bash
$ cd awesomeblog
$ petroglyph init --skin monopurple
Copying skin 'monopurple'...
Creating posts directory...
Configuring settings...
Blog title: Awesome Blog
Blog author: John Doe
Blog description: The awesome blog!
Saved configuration in config.yaml.
Petroglyph initialized.
```
At any point if you want to replace your skin or change the configuration, run `petroglyph init` again.

3. Write a new post in the `/posts` directory with a `.md` extension. (reStructuredText is also supported, give the file an `.rst` extension.) Each post's filename will be used as the post's slug when the blog is generated. Markdown support is provided using [Mistune](https://github.com/lepture/mistune). Include post metadata by writing posts as follows:

```
---
title: The Post's Title
tags: some-tag, another-tag
---
Hello, world! **Bold**, _italics_ and `code`.

This part will be before the 'Read more'.

<!--more-->This part will come after the read more.
```
> A post title is **required**.

> Petroglyph uses the last modified time of a file when deciding the post publish date. If you'd like to use a custom date, add it to the metadata in the `YYYY-MM-DD` format.
```
date: 2015-06-07
```
4. Dry run petroglyph to see if everything works fine.
```bash
$ petroglyph --dry-run
Found 1 post.
1 new post.
```

5. Run petroglyph!
```bash
$ petroglyph
Found 1 post.
1 new post.
Generated 1 new post.
Done.
```
> If you ever want to regenerate all your pages (because of a theme change, for example), run `petroglyph --regenerate`.

6. Your blog is ready to be served in the `blog/` directory.
![](http://polybuildr.github.io/petroglyph/screenshot.png)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

petroglyph-0.4.1.tar.gz (15.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page