Coder Social home page Coder Social logo

sculpin-blog-skeleton's Introduction

Sculpin - PHP Static Site Generator

License Build Status Total Downloads

Sculpin takes data sources such as text files (Markdown, Textile, etc.) and transforms them using Twig templates to produce a set of static HTML files that can be deployed to almost any hosting platform.

Visit sculpin.io for more information.

Documentation

Sculpin documentation can be found at https://sculpin.io/documentation, and documentation for the Twig template language can be found at https://twig.symfony.com

There is also a collection of Sculpin "skeletons" to help you hit the ground running with your next Sculpin website.

Sculpin Skeletons

Skeletons are starting points for a new Sculpin based site. They include the basic structure of a site, such as Twig-based layout files and the supporting templates for generating pagination interfaces and listing your content by custom-defined categories.

In Sculpin, a metadata property such as a category or tag is called a "taxonomy", and the Blog skeletons below also provide taxonomy layouts to help you organize and categorize your content in multiple ways.

While you can always start a site from scratch, using a skeleton is a good way to get a bunch of structure in place with little or no effort.

Unless otherwise noted, the following skeletons are barebones. They have minimal styling and design, and are intended to help you get started with adding all of your own style and flavor.

  • Blog Skeleton A minimal Sculpin based blog, based on an older version of Bootstrap CSS.
  • Tailwind Blog Skeleton A basic Sculpin-based blog, with updated styling and configuration in place based on the Tailwind utility-first CSS framework.
  • Tailwind Landing Page Skeleton Ideal for a Company or Product website, this skeleton focuses on a single product page as an example - no blog in sight. The design is responsive and mobile-friendly, thanks to TailwindCSS.

Skeletons can be combined with the composer create-project command to clone Sculpin and install dependencies at the same time:

# Bootstrap Blog

composer create-project sculpin/blog-skeleton my-blog

# Tailwind Blog

composer create-project beryllium/sculpin-tailwind-blog-skeleton my-blog

# Tailwind Product Landing Page

composer create-project beryllium/sculpin-tailwind-landing-skeleton my-company

License

MIT, see LICENSE.

Community

Want to get involved? Here are a few ways:

Not Invented Here

There are other fine projects from which Sculpin has been inspired. If you are looking for a stable project with an established community, try something from the following list:

  • Jigsaw — PHP & Laravel-based static site generator
  • Jekyll — Ruby
  • Hugo — Go-based static site generator
  • GatsbyJS — JS-based static site generator and JAMstack orchestration tool

sculpin-blog-skeleton's People

Contributors

andrewiankidd avatar bellisk avatar beryllium avatar bolbo avatar ciarand avatar cordoval avatar dbu avatar dependabot[bot] avatar gabidavila avatar ifdattic avatar inverse avatar jokin avatar jsundquist avatar justblackbird avatar kenjis avatar kicken avatar mavimo avatar mrailton avatar naxoc avatar pawka avatar petk avatar resmo avatar simensen avatar stevector avatar steverhoades avatar toby-griffiths avatar tsphethean avatar wyrihaximus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sculpin-blog-skeleton's Issues

Bootstrap 4

Hello, would this repository be interested in migrating the current Bootstrap 3 to Bootstrap 4?

I think it should be fairly simple to migrate to Bootstrap 4. I can send pull request and we go from there...

Composer error

Michael@MICHAEL-MAIN /c/wamp/www/sculpin-blog
$ vendor/bin/sculpin generate --watch --server
PHP Strict standards:  Non-static method Composer\Factory::getComposerFile() sho
uld not be called statically, assuming $this from incompatible context in C:\wam
p\www\sculpin-blog\vendor\sculpin\sculpin\src\Sculpin\Bundle\EmbeddedComposerBun
dle\EmbeddedComposer.php on line 62
PHP Stack trace:
PHP   1. {main}() C:\wamp\www\sculpin-blog\vendor\sculpin\sculpin\bin\sculpin:0
PHP   2. Sculpin\Bundle\EmbeddedComposerBundle\EmbeddedComposer->__construct() C
:\wamp\www\sculpin-blog\vendor\sculpin\sculpin\bin\sculpin:49

Strict standards: Non-static method Composer\Factory::getComposerFile() should n
ot be called statically, assuming $this from incompatible context in C:\wamp\www
\sculpin-blog\vendor\sculpin\sculpin\src\Sculpin\Bundle\EmbeddedComposerBundle\E
mbeddedComposer.php on line 62

Call Stack:
    0.0027     239744   1. {main}() C:\wamp\www\sculpin-blog\vendor\sculpin\scul
pin\bin\sculpin:0
    0.8701     925984   2. Sculpin\Bundle\EmbeddedComposerBundle\EmbeddedCompose
r->__construct() C:\wamp\www\sculpin-blog\vendor\sculpin\sculpin\bin\sculpin:49




  [ErrorException]
  Warning: preg_match(): Unknown modifier '.' in C:\wamp\www\sculpin-blog\ven
  dor\dflydev\ant-path-matcher\src\dflydev\util\antPathMatcher\AntPathMatcher
  .php line 224



generate [--watch] [--server] [--url="..."] [--port="..."]

<meta name="robots" content="noindex, follow"> in default layout

Hello,

I recently set up a small website with sculpin and wondered why it wouldn't be found in search engines until a friend of mine pointed out to me that the sites include this meta tag:

<meta name="robots" content="noindex, follow">

Aargh! I noticed the default robots.txt but that? Why would that be put in a bootstrap layout file?

`sculpin-watch` times out

When running composer sculpin-watch, the command times out after 5 minutes due to the process timeout.

[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "./vendor/bin/sculpin generate --watch --server" exceeded the timeout of 300 seconds.

COMPOSER_PROCESS_TIMEOUT=0 composer sculpin-watch works.

Is there a better way of doing this?

Permalink format for categories & tags

I have not yet found a way on how to change the URL format of the categories and tags. It's currently just using the urlencoded category name but I want to have pretty names (slugs) and I've already created a function for it.
Yet, after hours of searching I haven't found a way on how and where to change the category page structure, i.e. I can change the links like in category.html, but I of course have to change the name in such a way that Sculpin also generates them in the same way.

So instead of
/categories/My%20Category/index.html
I'd like to have
/categories/my-category/index.html

However, where can I change the filename that's being used to generate these files?

Composer Install throws Deprecation notice

After doing a clone of the repo, and doing a composer install it returns

Deprecation Notice: The callback Sculpin\Composer\SculpinThemePlugin\SculpinThemePlugin::onPostPackageInstall declared at /Users/bretterer/Code/brianretterer-com/vendor/sculpin/sculpin-theme-composer-plugin/src/Sculpin/Composer/SculpinThemePlugin/SculpinThemePlugin.php accepts a Composer\Script\PackageEvent but post-package-install events use a Composer\Installer\PackageEvent instance. Please adjust your type hint accordingly, see https://getcomposer.org/doc/articles/scripts.md#event-classes in phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:322
Deprecation Notice: The callback Sculpin\Composer\SculpinThemePlugin\SculpinThemePlugin::onPrePackageInstall declared at /Users/bretterer/Code/brianretterer-com/vendor/sculpin/sculpin-theme-composer-plugin/src/Sculpin/Composer/SculpinThemePlugin/SculpinThemePlugin.php accepts a Composer\Script\PackageEvent but pre-package-install events use a Composer\Installer\PackageEvent instance. Please adjust your type hint accordingly, see https://getcomposer.org/doc/articles/scripts.md#event-classes in phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:322

Add LICENCE file

I'm just adding the licence file to my blog & wanted to check on the licensing requirements of this project as I'm using this library to publish my blog.
Do I need to credit the use of this package, or not? Or actually… am I allowed to use this for my personal blog? Could I use it for a commercial blog?

Fatal Error with sculpin.phar dependency on PHP 7.0.11

$ php sculpin.phar install

Fatal error: Cannot use 'String' as class name as it is reserved in phar:///usr/local/docroot/proj/sr-blog/sculpin.phar/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/String.php on line 18

add a humans.txt

http://humanstxt.org/

Quoting the site:

What is humans.txt?
It's an initiative for knowing the people behind a website. It's a TXT file that contains information about the different people who have contributed to building the website.

Production build uses versioning and the template doesn't point to that version

When running in prod mode, the assets are made with Symfony Encore with versioning.

See webpack.config.js, line 17/18:

// enables hashed filenames (e.g. app.abc123.css)
.enableVersioning(Encore.isProduction())

However in _layouts/default.html, this still uses the non-versioned file:

<link rel="stylesheet" href="{{ site.url }}/build/app.css">

Running these commands:

yarn encore prod
./vendor/bin/sculpin generate --env=prod

I would expect to get a production ready site but app.css does not exist. I would expect default.html to point to app.HASH.css. The same is true for the JS.

Is there some way Sculpin can use encore_entry_link_tags and encore_entry_script_tags as Symfony does, or similar? I would much rather use the versioned assets, as then it helps with caching. I can't see anywhere in the Sculpin docs that does this.

I can see in this post from 2017 that "There is no easy way for Sculpin to handle the manifest.json file. Yet." is this something that's been resolved, or is the addition of enableVersioning in webpack.config.js an error?

I can see this comment that seems to cover the same issue: sculpin/sculpin#354 (comment)

If there's no way to use Encore versioning, is there some way I can use app.css?v={{ buildFragment }} where buildFragment is a random number that's created every time the site is built?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.