Sculpin Review

Sculpin Review

Sun, Oct 18, 2020

Check out or comparison page other options when finding the best blogging platform

Sculpin is a Static site generator written in PHP with a dependency on yarn.

Getting started

sudo apt-get install composer php-xml
composer create-project sculpin/blog-skeleton test-sculpin
cd test-sculpin
yarn install
composer yarn-watch
composer sculpin-watch
touch source/_posts/2020-10-01-my-first-post.md
---
title: Time travel
tags:
    - firstpost
    - testing
categories:
    - testing
---

# Hello world.

Normal text.

*Markdown is cool.*

**So is twig, because it knows this page's name is: {{ page.title }}**

At this point I have content displaying. If you had trouble getting that working, check the troubleshooting section

Folder layout

Creating content

I organize my content by category. Each category is a folder, with the posts under the category. This allows you to have landing pages for each category called _index.md.

The content files are all split into 2 parts, the front matter and the content. The front matter is where Hugo gets parameter values to fill in the templates.

The front matter should look something like this:

---
title: "Post Title"
date: 2020-10-04T17:46:45-06:00
image: "posts/blogging/hugo-logo.svg"
draft: false
---

Markdown Syntax

Supports the standard markdown syntax as well as TWIG macros.

Images and other Assets

Content Templates (Archetypes)

Sculpin doesn’t have any default templates, so you’ll have to copy and paste your template from somewhere if you want to use one.

Customizing themes

I couldn’t find any premade themes that can be downloaded for Sculpin, so you’ll have to modify the one that it comes with.

The files you’ll look to customize will be here:

Theme syntax

Sitemap

Sculpin generates the sitemap for you, so you don’t have to worry about that.

Speed

Troubleshooting

In TcpServer.php line 164:
                                                                    
  Failed to listen on "tcp://0.0.0.0:8000": Address already in use  

In which case you need to kill the server that’s running in the background.

ps -ef | grep php
kill <pid from previous command>

Or if you want a one liner…

kill `ps -C php -o pid=`