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`. There used to be other skins, but they're no longer there. Hopefully, I'll add them in the future. Until then, you can always edit the CSS yourself amd make a custom skin!

```bash
$ cd awesomeblog
$ petroglyph init
Copying skin 'monoblue'...
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.5.0.tar.gz (16.0 kB view details)

Uploaded Source

File details

Details for the file petroglyph-0.5.0.tar.gz.

File metadata

  • Download URL: petroglyph-0.5.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for petroglyph-0.5.0.tar.gz
Algorithm Hash digest
SHA256 a0b2dea7cfdd75e383e68b085b0614d2bb3fee020e17257888e34aad063775a2
MD5 d7b8a66b0eb3c85840d6648b6e139bd1
BLAKE2b-256 f976698d57089b6ea42305a203927587fd5edfdb784ef94015e91d4653f74b60

See more details on using hashes here.

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