A skeleton for a Sculpin based blog.
Powered by Sculpin. =)
A very basic Sculpin based blog supporting the following features:
- Very minimal Bootstrap based theme.
- A handful of existing posts in
source/_posts/
to get you started. Feel free to remove these when you are ready. - An about page at
/about
. - An index page at
/
. It displays all posts and paginates them. - A blog archive page at
/blog
. It displays post titles broken down by month and is paginated. - A blog categories page at
/blog/categories
. - A blog category index at
/blog/categories/$category
. Similar to the blog archive except broken down by each category. - A blog tags page at
/blog/tags
. - A blog tag index at
/blog/tags/$tag
. Similar to the blog archive except broken down by each tag.
$ composer install
php vendor/bin/sculpin generate --watch --server
Your newly generated clone of sculpin-blog-skeleton is now
accessible at http://localhost:8000/
.
If you wish to install components via composer and have them automatically installed into your source directory you will need the following configuration options to your composer.json file.
- component-dir: The directory you wish the components to be installed
- components: An array of component names to be installed
"config": {
"component-dir": "source/components",
"components": [
"components/bootstrap",
"components/jquery",
"components/highlightjs"
]
}
The component manager will introspect these values to determine what it needs to copy into your source directory on composer install
.
By default the site will be generated in output_dev/
. This is the location
of your development build.
To preview it with Sculpin's built in webserver, run either of the following
commands. This will start a simple webserver listening at localhost:8000
.
To serve files right after generating them, use the generate
command with
the --server
option:
php vendor/bin/sculpin generate --server
To listen on a different port, specify the --port
option:
php vendor/bin/sculpin generate --server --port=9999
Combine with --watch
to have Sculpin pick up changes as you make them:
php vendor/bin/sculpin generate --server --watch
To serve files that have already been generated, use the serve
command:
php vendor/bin/sculpin serve
To listen on a different port, specify the --port
option:
php vendor/bin/sculpin serve --port=9999
The only special consideration that needs to be taken into account for standard webservers in development is the fact that the URLs generated may not match the path at which the site is installed.
This can be solved by overriding the site.url
configuration option when
generating the site.
sculpin generate --url=http://my.dev.host/blog-skeleton/output_dev
With this option passed, {{ site.url }}/about
will now be generated as
http://my.dev.host/blog-skelton/output_dev/about
instead of /about
.
When --env=prod
is specified, the site will be generated in output_prod/
. This
is the location of your production build.
php vendor/bin/sculpin generate --env=prod
These files are suitable to be transferred directly to a production host. For example:
php vendor/bin/sculpin generate --env=prod
rsync -avze 'ssh -p 999' output_prod/ user@yoursculpinsite.com:public_html
If you want to make sure that rsync deletes files that you deleted locally on the on the remote too, add the --delete
option to the rsync command:
rsync -avze 'ssh -p 999' --delete output_prod/ user@yoursculpinsite.com:public_html
In fact, publish.sh
is provided to get you started. If you plan on deploying to an
Amazon S3 bucket, you can use s3-publish.sh
alongside the s3cmd
utility (must be
installed separately).