Sculpin — Static Site Generator

Overview

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
Comments
  • PHP Fatal error:  Cannot use 'String' as class name as it is reserved in phar: when using php 7

    PHP Fatal error: Cannot use 'String' as class name as it is reserved in phar: when using php 7

    Hey there,

    I get the following error when switching to php 7.

    Fatal error: Cannot use 'String' as class name as it is reserved in phar:///<path>/sculpin.phar/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/String.php on line 18
    

    Kind regards, stev

    opened by stevleibelt 49
  • Add support for commands as services

    Add support for commands as services

    In current moment we can see such errors:

    PHP Deprecated: Auto-registration of the command 
    "Sculpin\Bundle\SculpinBundle\Command\ServeCommand" is 
    deprecated since Symfony 3.4 and won't be supported in 4.0. 
    Use PSR-4 based service discovery instead
    

    This is due to the fact that the commands must be explicitly registered as services, this PR adds support for this.

    The source of the implementation was taken from the framework-bundle https://github.com/symfony/framework-bundle/blob/505aa68e04b160318c68b61f02fc1c341f43fa34/Console/Application.php

    opened by lex111 23
  • MD format not shown correctly

    MD format not shown correctly

    The entry MD file:

    
    ---
    
    title: Test article 7
    date: 2015-4-19
    category: business
    
    ---
    
    **Hello everybody!**
    ...
    

    The MD file:

    <div class="col-md-4 news-item">
        <h2 class="title"><a href="{{jianshu.url}}">{{jianshu.title}}</a></h2>
        <img class="thumb" src="http://lorempixel.com/100/100/{{cate}}"  alt="{{jianshu.title}} | {{cate}}" />
        {{jianshu.content|raw}}
        <a class="read-more" href="{{jianshu.url}}">Read More <i class="fa fa-chevron-right"></i></a>                
    </div>
    

    index.html.twig:

       {{page.blocks.content|raw}}
    

    Output:

    ashampoo_snap_2015 04 21_07h57m12s_001_

    The output is not formatted.

    opened by taylorren 22
  • Twig imports broken

    Twig imports broken

    I'm on Sculpin v2.0.0-46-g0862cc9. I've been trying to import macros from another Twig source (_views/macros.twig) with no luck. I pulled these macros from my library of macros that I use in most of my Twig projects. I initially thought that it might have been a problem with one or more of my macros, but I'm now down to just:

    {% macro tag(name) %}
    <span class="label label-default"><a href="{{ site.url }}/blog/tag/{{ name }}">{{ name }}</a></span>
    {% endmacro %}
    

    {% import 'macros' as macros %} results in no apparent changes to the Twig context.

    {% from 'macros' import tag %} results in tag being null in the Twig context.

    No matter what, I seem unable to import anything from an external source. I've come across two places demonstrating successful imports, but I tried them myself with no joy. Am I doing something wrong, or is this actually broken?

    opened by thomas-p-wilson 15
  • Timezone warning

    Timezone warning

    Just started playing with Sculpin and ran into a small issue.

    OSX Mavericks comes with PHP 5.4 installed by default (which is great) but it does not have a default timezone set. Upon running sculpin generate I'm getting this warning:

    Warning: date(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in phar:///bin/sculpin/src/Sculpin/Core/Source/FilesystemDataSource.php on line 138

    So the error message makes it sound like everything is okay (defaults to UTC), but then I get this error:

    [InvalidArgumentException] "1970-01-01T00:00:00Z" is not a valid date.

    Not sure what's happening there. Help? :)

    opened by reinink 15
  • Missing maintainer?

    Missing maintainer?

    This projects looks un-maintained with last (and only) release almost 2 years ago. I had a great start and it would be pity if dying.

    Any info to this?

    opened by TomasVotruba 13
  • upgrade markdown library

    upgrade markdown library

    | Q | A | | --- | --- | | Bug Fix? | yes | | New Feature? | no | | BC Breaks? | no | | Deprecations? | no | | Tests Pass? | yes | | Fixed Tickets | #130 | | License | MIT | | Doc PR | |

    Sent using Gush

    opened by cordoval 13
  • Bumped react/http up to 0.4 from 0.2

    Bumped react/http up to 0.4 from 0.2

    API didn't change for our use and the lib plus dependencies received several bug fixes including one that causes 100% CPU usage as described in #295. Another thing is that this opens the door to react/filesystem in a later stage for the webservers file IO.

    awaiting author updates 
    opened by WyriHaximus 12
  • After Deleting Example Posts and Added New Ones - Argument 2 passed error FormatterManager::formatBlocks

    After Deleting Example Posts and Added New Ones - Argument 2 passed error FormatterManager::formatBlocks

    Steps to reproduce my error.

    1. composer create-project sculpin/blog-skeleton myblog
    2. cd my blog
    3. composer sculpin-watch message Method Composer\Config::disableProcessTimeout is not callable, cannot call sculpin-watch script
    4. delete example files from Posts
    5. Add any of the example files back to post or create new post
    6. I receive the following error.
    Detected new or updated files
    Generating: 100% (51 sources / 0.01 seconds)
    Converting:  14%[FAILED]
    Exception: Argument 2 passed to Sculpin\Core\Formatter\FormatterManager::formatBlocks() must be of the type string, null given, called in /Users/kclarks2/Sites/live/anothersculpin/vendor/sculpin/sculpin/src/Sculpin/Core/Formatter/FormatterManager.php on line 160
     at vendor/sculpin/sculpin/src/Sculpin/Core/Formatter/FormatterManager.php
    
    opened by kclarkson 11
  • Sculpin do not install with composer

    Sculpin do not install with composer

    With composer

    ➜  www  composer --version
    Composer version 1.0-dev (1cb427ff5c0b977468643a39436f3b0a356fc8eb) 2015-04-26 21:18:04
    

    We get that:

    ➜  www  composer global  require  sculpin/sculpin 
    Changed current directory to /home/alx/.composer
    Using version ~2.0 for sculpin/sculpin
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Installation request for sculpin/sculpin ~2.0 -> satisfiable by sculpin/sculpin[v2.0.0].
        - sculpin/sculpin v2.0.0 requires composer/composer 1.*@dev -> no matching package found.
    
    Potential causes:
     - A typo in the package name
     - The package is not available in a stable-enough version according to your minimum-stability setting
       see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
    
    Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
    
    Installation failed, reverting ./composer.json to its original content.
    
    opened by alxkolm 11
  • Know which twig files are called

    Know which twig files are called

    Hello everyone,

    We are using Sculpin at my company for our designers. We would like to know if there is an easy way to know which twig files are called on the website (a little bit like the webprofilerbundle for symfony :-).

    opened by dupuchba 11
  • Uncaught TypeError with PHP 8.0.13

    Uncaught TypeError with PHP 8.0.13

    Running ./vendor/bin/sculpin generate with PHP 8.0.13 will fail with following error:

    PHP Fatal error:  Uncaught TypeError: Sculpin\Core\Permalink\SourcePermalinkFactory::normalize(): Argument #1 ($param) must be of type string, null given, called in /my-project/vendor/sculpin/sculpin/src/Sculpin/Core/Permalink/SourcePermalinkFactory.php on line 110 and defined in /my-project/vendor/sculpin/sculpin/src/Sculpin/Core/Permalink/SourcePermalinkFactory.php:214
    

    BTW, I can't get the sculpin version with -V option. It just says Sculpin app/dev/debug.

    ./vendor/bin/sculpin -V
    Sculpin app/dev/debug
    

    In my composer.json, I have included this:

        "require": {
            "sculpin/sculpin": "^3.1"
        },
    
    opened by zemian 2
  • Shouldn't the `assets` folder be excluded from output?

    Shouldn't the `assets` folder be excluded from output?

    Hi, I noticed that the assets folder is copied into the output_dev or output_prod folder after a site is generated. But the content of the assets folder is for Symfony Encore, and it already generated the build folder to be copy. So assets seems to be unnecessary? Or perhaps give a flag to users to include/exclude it?

    opened by zemian 0
  • phpstan fixes

    phpstan fixes

    This fixes about 14 issues that PHPStan complained about.

    Still to be resolved:

    • [ ] NodeDefinition weirdness
    • [ ] EventDispatcher weirdness
    • [ ] Several implementations of ArrayAccess without docblocks to indicate mixed return types makes phpstan grumpy
    • [ ] A few if statements that phpstan insists are superfluous, but it might be misunderstanding the algorithm
    opened by beryllium 0
  • Using Docker for Sculpin

    Using Docker for Sculpin

    This issue is intended to be a discussion point for how we can use Docker with Sculpin.

    Primary concerns:

    • Delivering a stable experience for users
    • Handling complex site configurations, including possible multi-site configurations
    • handling complex installations, with required PHP extensions & custom sculpin kernel & many composer deps

    My hope is that all of this could be solved with a very short Dockerfile that people can easily put in their projects. Ideally, with minimal required maintenance for both users & project maintainers.

    opened by beryllium 1
  • Installation broken with Composer 2 (sculpin/sculpin-theme-composer-plugin requires legacy composer-plugin-api)

    Installation broken with Composer 2 (sculpin/sculpin-theme-composer-plugin requires legacy composer-plugin-api)

    Problem

    Composer 2 has been released this weekend. Unfortunately, installing any Sculpin-based site currently fails when using Composer 2:

    $ composer create-project sculpin/sculpin
    Creating a "sculpin/sculpin" project at "./sculpin"
    Installing sculpin/sculpin (3.0.3)
      - Installing sculpin/sculpin (3.0.3): Extracting archive
    Created project in /home/me/workspace/clue-rq/sculpin
    Installing dependencies from lock file (including require-dev)
    Verifying lock file contents can be installed on current platform.
    Your lock file does not contain a compatible set of packages. Please run composer update.
    
      Problem 1
        - sculpin/sculpin-theme-composer-plugin is locked to version v1.0.2 and an update of this package was not requested.
        - sculpin/sculpin-theme-composer-plugin v1.0.2 requires composer-plugin-api ^1.1 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
      Problem 2
        - ocramius/package-versions is locked to version 1.4.2 and an update of this package was not requested.
        - ocramius/package-versions 1.4.2 requires composer-plugin-api ^1.0.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
      Problem 3
        - ocramius/package-versions 1.4.2 requires composer-plugin-api ^1.0.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
        - jean85/pretty-package-versions 1.2 requires ocramius/package-versions ^1.2.0 -> satisfiable by ocramius/package-versions[1.4.2].
        - jean85/pretty-package-versions is locked to version 1.2 and an update of this package was not requested.
    
    Use the option --with-all-dependencies to allow upgrades, downgrades and removals for packages currently locked to specific versions.
    
    ocramius/package-versions only provides support for Composer 2 in 1.8+, which requires PHP 7.4.
    If you can not upgrade PHP you can require composer/package-versions-deprecated to resolve this with PHP 7.0+.
    
    You are using Composer 2, which some of your plugins seem to be incompatible with. Make sure you update your plugins or report a plugin-issue to ask them to support Composer 2.
    

    This weekend, Travis CI started shipping Composer 2 for PHP 7.4, so this has potential to break many existing builds. PHP 7.3 and older still use Composer 1 on Travis CI. Other CI systems may or may not make the same decision of course.

    Analysis

    The same installation instructions work just fine using Composer 1. The error output leads us to see this is actually an issue (outstanding upgrade) in sculpin/sculpin-theme-composer-plugin rather than the main sculpin/sculpin package. I figured posting here gives this problem more visibility (plus, most sites would only directly depend on this main package).

    sculpin/sculpin-theme-composer-plugin v1.0.2 requires composer-plugin-api ^1.1
    

    Upgrading this package shouldn't be too much work according to Composer's upgrade docs. It looks like this would be a matter of adding a dummy uninstall() and deactivate() method, so this could potentially also be made compatible with both Composer 1 and Composer 2 without too much work. Unfortunately, that code does not currently ship any tests and I don't see any changes having any effect on my site, so I don't feel comfortable taking a stab at a PR and I'm only leaving this as a heads-up here for the time being.

    • https://php.watch/articles/composer-2#plugin-api-2
    • https://github.com/composer/composer/blob/7fcf559f622256e0ee4ab920459eb47b848b4706/UPGRADE-2.0.md#for-integrators-and-plugin-authors
    • https://github.com/composer/composer/issues/8726

    Work around

    Fortunately, working around this problem temporarily is easy for most(?) sites using Sculpin.

    You can simply downgrade to Composer 1 and the installation should work just fine again.

    As an alternative, my site doesn't appear to actually require the conflicting sculpin/sculpin-theme-composer-plugin package (I make no use of any themes whatsoever and only use custom templates). This means I can configure Composer to ignore (replace with nothing) this affected package without causing any noticeable effects (comparing the build output and generated HTML) like this:

    {
        "replace": {
            "sculpin/sculpin-theme-composer-plugin": "1.0.2"
        }
    }
    
    opened by clue 2
Releases(3.2.0)
  • 3.1.1(Jul 16, 2021)

  • 3.1.0(Dec 2, 2020)

  • 3.0.3(Dec 5, 2019)

  • 3.0.2(May 27, 2019)

    This Sculpin release fixes issues (#432, #434) with certain file names and file types.

    When processing content types, such as entries in source/_posts/*, Sculpin will now skip certain files.

    • "hidden" files (beginning with a .) will be skipped silently.
      • This helps suppress files like .DS_Store.
    • files which aren't recognized by any registered Formatter will be skipped with a "Skipped ..." message.
      • This helps combat strange behaviour for files with no extension.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.1(Apr 17, 2019)

    This release improves the content:create command and fixes an issue with sorting that is caused by PHP's uasort behaving in an undefined way when sorting items with equal values.

    • Boilerplate is now generated by default when using content:create. Use --dry-run/-d to suppress the creation of these files. Note that the content type YAML definition still needs to be added by hand to your sculpin_kernel.yml file.
    • Taxonomy-related boiler plate files now default to using the default layout instead of no layout at all. This should result in prettier output.
    • ProxySourceCollection now uses the StableSort algorithm from Martijn van der Lee to ensure stable sorting results, which will eliminate some of the issues reported in bug #308 that were causing generate to constantly repeat in watch mode.
    • Thanks to Rami Jumaah and Christian Riesen, Pages can now refer to their own relative pathname and filename using page.relative_pathname and page.filename. This can be useful for implementing an "Edit This Page" link directly to a GitLab or GitHub VCS URL.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Apr 10, 2019)

    Sculpin 3 is here!

    It's been a long time coming, but thanks to the intrepid efforts of many contributors, Sculpin 3 is finally here.

    This new release brings the project a bit more in line with modern PHP features and introduces some new commands and parameters.

    Shout out to the following folks for all of their contributions - thanks for your help!

    New in Sculpin 3:

    • Supports PHP 7.2 and higher!
    • Initialize a bare-bones set of source/ files using the new init command
    • The generate command now supports --source-dir and --output-dir parameters
    • Create custom content types with the new content:create command
      • Generates a very basic skeleton of templates
      • Supports defining custom taxonomies (such as tags or categories or any other categorizations you need)

    However, there are some changes that affect backwards compatibility.

    • PHP 7.2 is the minimum PHP version that Sculpin 3 will run on
      • Some new return typehints may require custom bundles to have their method signatures updated.
      • A number of core classes are now final and some methods have been moved to protected and private to help reduce the code's complexity.
    • Changes to the symfony/yaml component mean that certain YAML front matter values will need to be enclosed in quotes, particularly if they contain colons.
      • Sculpin should be quite verbose when this happens.
    • Changes to pagination mean that certain URLs, such as "/blog/page/2.html", will change to a folder (e.g., "/blog/page/2/").
    • Bundles that write to the sculpin.output_dir parameter should be updated to use the sculpin.writer service instead, in order to respect the --output-dir parameter.

    Also, the Sculpin Blog Skeleton has begun being modernized, and the first stage of this involves setting things up with Yarn and Encore and Webpack instead of the previous solution for assets.

    If you encounter issues with the new release or have suggestions, please use GitHub Issues or the comments below.

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-rc5(Apr 8, 2019)

  • 3.0.0-rc4(Apr 4, 2019)

    This is Release Candidate 4 for Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is a Release Candidate, please help by filing GitHub issues if you notice any problems!

    New for Release Candidate 4:

    A number of developers have chipped in to provide some great code cleanups and fixes. Thanks to @dbu @GawainLynch @ChristianRiesen @bellisk @opdavies, things are looking much nicer in Sculpin land.

    • Some references to %kernel.root_dir% have been changed to a hopefully more-accurate %kernel.project_dir% argument (#420)
    • PermalinkCollectionStrategy has been pulled out of the container so that SF4.2+ can properly dump the service container if desired (#419)
    • Exception handling has been improved and now displays colourful & more informative exceptions in watch mode (#421)
      • Missing data provider fatal error is now a more-informative exception (#418)
    • References to Twig classes have been switched to use namespaces (#423, efaa7c3)
    • A number of core classes are now final and some methods have been moved to protected and private; this will help reduce the complexity/surface of the code (#416, #417)
      • If this causes an issue, please file an issue or a PR. There might be use cases that weren't known about.

    New for Release Candidate 3:

    • Fixed an issue with custom bundles not being able to register event handlers. There may be other custom bundle/extension issues lurking in the corners. Keep an eye out!

    New for Release Candidate 2:

    • :folder permalink property
    • Bugfix for theme resource method

    New for Release Candidate 1:

    • New --source-dir parameter to the generate command
    • New init command for initializing a bare-bones Sculpin configuration
    Description:
      Initialize a default site configuration.
    
    Usage:
      init [options]
    
    Options:
      -t, --title=TITLE              Specify a title for your Sculpin site.
                                     [default: "My Sculpin Site"]
    
      -s, --subtitle=SUBTITLE        Specify a sub-title for your Sculpin site.
                                     [default: "A Static Site Powered By Sculpin"]
    
          --project-dir=PROJECT-DIR  The project directory.
                                     [default: "."]
    
    Help:
      The init command initializes a default site configuration.
    

    New for Alpha 4:

    • @lex111 has made great progress with updating sculpin's source code to use more PHP 7.x syntax and functionality.
      • Attention: Sculpin extension developers - it would be helpful to check that your extension works with this alpha release's changes.

    New for Alpha 3:

    • @lex111 found and fixed an issue with the event_dispatcher service not being public.
    • A little bit of syntax cleanup (array() to [])

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-rc3(Mar 7, 2019)

    This is Release Candidate 3 for Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is a Release Candidate, please help by filing GitHub issues if you notice any problems!

    New for Release Candidate 3:

    • Fixed an issue with custom bundles not being able to register event handlers. There may be other custom bundle/extension issues lurking in the corners. Keep an eye out!

    New for Release Candidate 2:

    • :folder permalink property
    • Bugfix for theme resource method

    New for Release Candidate 1:

    • New --source-dir parameter to the generate command
    • New init command for initializing a bare-bones Sculpin configuration
    Description:
      Initialize a default site configuration.
    
    Usage:
      init [options]
    
    Options:
      -t, --title=TITLE              Specify a title for your Sculpin site.
                                     [default: "My Sculpin Site"]
    
      -s, --subtitle=SUBTITLE        Specify a sub-title for your Sculpin site.
                                     [default: "A Static Site Powered By Sculpin"]
    
          --project-dir=PROJECT-DIR  The project directory.
                                     [default: "."]
    
    Help:
      The init command initializes a default site configuration.
    

    New for Alpha 4:

    • @lex111 has made great progress with updating sculpin's source code to use more PHP 7.x syntax and functionality.
      • Attention: Sculpin extension developers - it would be helpful to check that your extension works with this alpha release's changes.

    New for Alpha 3:

    • @lex111 found and fixed an issue with the event_dispatcher service not being public.
    • A little bit of syntax cleanup (array() to [])

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-rc2(Mar 2, 2019)

    This is Release Candidate 2 for Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is a Release Candidate, please help by filing GitHub issues if you notice any problems!

    New for Release Candidate 2:

    • :folder permalink property
    • Bugfix for theme resource method

    New for Release Candidate 1:

    • New --source-dir parameter to the generate command
    • New init command for initializing a bare-bones Sculpin configuration
    Description:
      Initialize a default site configuration.
    
    Usage:
      init [options]
    
    Options:
      -t, --title=TITLE              Specify a title for your Sculpin site.
                                     [default: "My Sculpin Site"]
    
      -s, --subtitle=SUBTITLE        Specify a sub-title for your Sculpin site.
                                     [default: "A Static Site Powered By Sculpin"]
    
          --project-dir=PROJECT-DIR  The project directory.
                                     [default: "."]
    
    Help:
      The init command initializes a default site configuration.
    

    New for Alpha 4:

    • @lex111 has made great progress with updating sculpin's source code to use more PHP 7.x syntax and functionality.
      • Attention: Sculpin extension developers - it would be helpful to check that your extension works with this alpha release's changes.

    New for Alpha 3:

    • @lex111 found and fixed an issue with the event_dispatcher service not being public.
    • A little bit of syntax cleanup (array() to [])

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-rc1(Nov 16, 2018)

    This is Release Candidate 1 for Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is a Release Candidate, please help by filing GitHub issues if you notice any problems!

    New for Release Candidate 1:

    • New --source-dir parameter to the generate command
    • New init command for initializing a bare-bones Sculpin configuration
    Description:
      Initialize a default site configuration.
    
    Usage:
      init [options]
    
    Options:
      -t, --title=TITLE              Specify a title for your Sculpin site.
                                     [default: "My Sculpin Site"]
    
      -s, --subtitle=SUBTITLE        Specify a sub-title for your Sculpin site.
                                     [default: "A Static Site Powered By Sculpin"]
    
          --project-dir=PROJECT-DIR  The project directory.
                                     [default: "."]
    
    Help:
      The init command initializes a default site configuration.
    

    New for Alpha 4:

    • @lex111 has made great progress with updating sculpin's source code to use more PHP 7.x syntax and functionality.
      • Attention: Sculpin extension developers - it would be helpful to check that your extension works with this alpha release's changes.

    New for Alpha 3:

    • @lex111 found and fixed an issue with the event_dispatcher service not being public.
    • A little bit of syntax cleanup (array() to [])

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-alpha4(Oct 13, 2018)

    This is an alpha release of Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is an Alpha, please keep an eye out for issues. There are some Symfony 3.4-related deprecation notices that have been popping up under certain environments, and it would be nice to resolve them. If you have such an environment, it would be helpful to add those notices to an issue to be resolved.

    New for Alpha 4:

    • @lex111 has made great progress with updating sculpin's source code to use more PHP 7.x syntax and functionality.
      • Attention: Sculpin extension developers - it would be helpful to check that your extension works with this alpha release's changes.

    New for Alpha 3:

    • @lex111 found and fixed an issue with the event_dispatcher service not being public.
    • A little bit of syntax cleanup (array() to [])

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • v2.1.2(Oct 13, 2018)

    Fixed

    • (#393) Non-existent flag being passed to YamlConfigurationBuilder due to an accidental BC break in the dflydev/dot-access-configuration library.
    • (#343) slugs are used literally and not escaped again.
    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-alpha3(Sep 30, 2018)

    This is an alpha release of Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is an Alpha, please keep an eye out for issues. There are some Symfony 3.4-related deprecation notices that have been popping up under certain environments, and it would be nice to resolve them. If you have such an environment, it would be helpful to add those notices to an issue to be resolved.

    New for Alpha 3:

    • @lex111 found and fixed an issue with the event_dispatcher service not being public.
    • A little bit of syntax cleanup (array() to [])

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-alpha2(Sep 13, 2018)

    This is an alpha release of Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is an Alpha, please keep an eye out for issues. There are some Symfony 3.4-related deprecation notices that have been popping up under certain environments, and it would be nice to resolve them. If you have such an environment, it would be helpful to add those notices to an issue to be resolved.

    New for Alpha 2:

    • A number of dependencies have been updated to the latest versions. This may introduce unexpected behaviour or deprecation notices in workflows that are not currently part of the test suite.

    • Handling of the new --output-dir parameter has been modified. Bundles and extensions that rely on sculpin.output_dir should be updated to use the sculpin.writer service for writing to the proper output location.

    • The temporary workaround for the dflydev/dot-access-configuration dependency in Alpha 1 has been removed.

    Alpha 1:

    • A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    • This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-alpha(Sep 8, 2018)

    This is an alpha release of Sculpin 3.0.0.

    New requirements for this version of Sculpin include PHP 7.2 or higher.

    As this is an Alpha, please keep an eye out for issues. There are some Symfony 3.4-related deprecation notices that have been popping up under certain environments, and it would be nice to resolve them. If you have such an environment, it would be helpful to add those notices to an issue to be resolved.

    A potential BC break to watch out for is a change in the URL format of interstitial "pagination" files. Bookmarks for "Page 2" and such may need to be updated.

    This alpha version also includes the new "sculpin content:create" command, which allows you to generate a custom data type and associated templates straight from the command line:

    Usage:
      content:create [options] [--] <type>
    
    Arguments:
      type                           Name for this type (e.g., "posts")
    
    Options:
      -b, --boilerplate              Generate boilerplate/placeholder/template files.
      -t, --taxonomy=TAXONOMY        Organize content by taxonomy categories ("tags",
                                     "categories", "types", etc) (multiple values allowed)
    
    Help:
      The content:create command helps you create a custom content type and,
      optionally, the associated boilerplate/templates.
    

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Mar 24, 2017)

Owner
Sculpin
PHP Static Site Generator
Sculpin
Phrozn is extremely flexible static site generator in PHP.

Phrozn Phrozn is extremely flexible static site generator in PHP. Philosophy Configurable: you should be able to tune it to your needs SCM-Enabled: no

Povilas Balzaravičius 459 Oct 30, 2022
PHP Static site generator

Spress - PHP Static site generator Spress is a static site generator built with Symfony components. License: MIT. Requirements Linux, Unix, Mac OS X o

Spress 375 Nov 28, 2022
WordPress static site generator for security, performance and cost benefits

WordPress static site generator for security, performance and cost benefits

Leon Stafford 1.3k Dec 30, 2022
Cecil is a CLI application that merges plain text files (written in Markdown), images and Twig templates to generate a static website.

Cecil is a CLI application that merges plain text files (written in Markdown), images and Twig templates to generate a static website.

Cecil 208 Dec 13, 2022
Site-builder is a simple static site generator. It allows you to create and manage a website out of simple text files and templates.

Site-builder is a simple static site generator. It allows you to create and manage a website out of simple text files and templates. This gives you many of the advantages of a CMS, but because the result is plain old HTML, it's more secure and has higher performance.

Matt Robinson 28 May 24, 2022
Phrozn is extremely flexible static site generator in PHP.

Phrozn Phrozn is extremely flexible static site generator in PHP. Philosophy Configurable: you should be able to tune it to your needs SCM-Enabled: no

Povilas Balzaravičius 459 Oct 30, 2022
PHP Static site generator

Spress - PHP Static site generator Spress is a static site generator built with Symfony components. License: MIT. Requirements Linux, Unix, Mac OS X o

Spress 375 Nov 28, 2022
WordPress static site generator for security, performance and cost benefits

WordPress static site generator for security, performance and cost benefits

Leon Stafford 1.3k Dec 30, 2022
The official Statamic 3 static site generator package

Statamic Static Site Generator Generate static sites with Statamic 3. Installation Install the package using Composer: composer require statamic/ssg

Statamic 187 Dec 25, 2022
Laravel static site/blog generator with markdown support.

Katana static site & blog generator PHP static site & blog generator with markdown support. Using the power of laravel's Blade templating engine. Kata

Mohamed Said 380 Sep 3, 2022
A static site for the Jenkins automation server

jenkins.io This repository is what powers the Jenkins website. This uses Awestruct with Asciidoctor under the hood to provide a very useful and compel

Jenkins Infra 252 Dec 30, 2022
Starter kit for content-based static site using Stenope

Stenope Skeleton This skeleton is an opinionated starter kit for creating your static website with Stenope. It contains a few features to get you star

Stenope 2 Sep 28, 2022
Simple static Composer repository generator - For a full private Composer repo use Private Packagist

Satis Simple static Composer repository generator. Run from source Satis requires a recent PHP version, it does not run with unsupported PHP versions.

Composer 2.9k Jan 3, 2023
The fastest pure PHP database framework with a powerful static code generator, supports horizontal scale up, designed for PHP7

Maghead 4.0.x IS CURRENTLY UNDER HEAVY DEVELOPMENT, API IS NOT STABLE Maghead is an open-source Object-Relational Mapping (ORM) designed for PHP7. Mag

Maghead 477 Dec 24, 2022
Run your WP site on github pages, php innovation award winner https://www.phpclasses.org/package/12091-PHP-Make-a-WordPress-site-run-on-GitHub-pages.html

Gitpress Run wordpress directly on github pages Gitpress won the innovation award for may 2021 Read more about this https://naveen17797.github.io/gitp

naveen 13 Nov 18, 2022
Site Web pour un site de conciergerie d'entreprise

DATE DE CREATION : 30 novembre 2021 • Développement d'un site Web pour une entreprise de conciergerie pour entreprise, une interface pour les dirigea

Tiffany Dufetel 1 Jan 10, 2022
InfyOm Laravel Generator - API, Scaffold, Tests, CRUD Laravel Generator

InfyOm Laravel Generator Generate Admin Panels CRUDs and APIs in Minutes with tons of other features and customizations with 3 different themes. Read

InfyOmLabs (InfyOm Technologies) 3.5k Jan 1, 2023
Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless development of your applications.

Laravel CRUD Generator This Generator package provides various generators like CRUD, API, Controller, Model, Migration, View for your painless develop

AppzCoder 1.3k Jan 2, 2023
Laravel Design Pattern Generator (api generator)

Laravel Design Pattern Generator (api generator) you can create your restful api easily by using this library and you can filter, sort and include elo

HusseinAlaa 2 Sep 25, 2022
One time password generator, validator, and qrcode generator that has no web dependencies (self-contained) in PHP

otp-thing One time password generator, validator, and qrcode generator that has no web dependencies (self-contained) in PHP Introduction This started

Daniel Krusky 25 Apr 29, 2022