Welcome to my personal portfolio source code that is built with Sculpin, SASS and Bootstrap. This page is a combination of Sculpin's original directions with some of my personal notes and reminders.
Sculpin is a static site generator written in PHP. It converts Markdown files, Twig templates or standard HTML into a static HTML site that can be easily deployed.
For more information visit Sculpin
sculpin generate --server --watch **generates and watches in local dev
sculpin generate --env=prod --url=kclarkson/kclarkson.github.io **generates the production sculpin output along with url's
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.
sculpin install
sculpin generate --watch --server
Your newly generated clone of sculpin-blog-skeleton is now
accessible at http://localhost:8000/
.
curl -O https://download.sculpin.io/sculpin.phar
php sculpin.phar install
php sculpin.phar generate --watch --server
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:
sculpin generate --server
To listen on a different port, specify the --port
option:
sculpin generate --server --port=9999
Combine with --watch
to have Sculpin pick up changes as you make them:
sculpin generate --server --watch
To serve files that have already been generated, use the serve
command:
sculpin serve
To listen on a different port, specify the --port
option:
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.
sculpin generate --env=prod
These files are suitable to be transferred directly to a production host. For example:
sculpin generate --env=prod
rsync -avze 'ssh -p 999' output_prod/ [email protected]: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).