80 lines
3.8 KiB
YAML
80 lines
3.8 KiB
YAML
uuid:
|
|
- value: d344a28e-aa79-4533-8eac-f112926fe811
|
|
langcode:
|
|
- value: en
|
|
type:
|
|
- target_id: daily_email
|
|
target_type: node_type
|
|
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
|
|
revision_timestamp:
|
|
- value: '2025-05-11T08:59:58+00:00'
|
|
revision_uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
revision_log: { }
|
|
status:
|
|
- value: true
|
|
uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
title:
|
|
- value: 'Extending Sculpin with PHP'
|
|
created:
|
|
- value: '2025-05-02T00:00:00+00:00'
|
|
changed:
|
|
- value: '2025-05-11T08:59:58+00:00'
|
|
promote:
|
|
- value: false
|
|
sticky:
|
|
- value: false
|
|
default_langcode:
|
|
- value: true
|
|
revision_translation_affected:
|
|
- value: true
|
|
path:
|
|
- alias: /daily/2025/05/02/extend
|
|
langcode: en
|
|
body:
|
|
- value: |
|
|
<p>I like the <a href="/presentations/sculpin">Sculpin static site generator</a> - a tool I've used for various personal and client projects where a full content management system like Drupal isn't need.</p>
|
|
|
|
<p>It's written in PHP and uses several Symfony components, including Twig for templating.</p>
|
|
|
|
<p>These are the same as Drupal and, of course, the Symfony framework. Two tools I'm very familiar with.</p>
|
|
|
|
<p>A big reason why I decided to learn Sculpin in 2015 was to learn Twig and other Drupal 8 concepts before it was released.</p>
|
|
|
|
<p>You don't need to write PHP code to use Sculpin, but you can easily extend it with PHP code if you need to.</p>
|
|
|
|
<p>You can write custom service classes - the same as in Drupal or Symfony - and move complex logic there and out of your template files.</p>
|
|
|
|
<p>This also means you can write automated tests with PHPUnit.</p>
|
|
|
|
<p>I've added <code>src</code> and <code>tests</code> directories to <a href="https://code.oliverdavies.uk/opdavies/oliverdavies.uk/src/commit/f21bb125c5b01a9e5cd572c77dca0e8d5cc13849">my website repository</a>, which contain my custom Twig extensions that add new functions for counting the number of presentations I've given and my years of experience.</p>
|
|
|
|
<p>There are a lot of choices for static site generators, including several PHP-based ones, but the familiarity and customisability of Sculpin make it a good choice for me.</p>
|
|
|
|
|
|
format: full_html
|
|
processed: |
|
|
<p>I like the <a href="http://default/presentations/sculpin">Sculpin static site generator</a> - a tool I've used for various personal and client projects where a full content management system like Drupal isn't need.</p>
|
|
|
|
<p>It's written in PHP and uses several Symfony components, including Twig for templating.</p>
|
|
|
|
<p>These are the same as Drupal and, of course, the Symfony framework. Two tools I'm very familiar with.</p>
|
|
|
|
<p>A big reason why I decided to learn Sculpin in 2015 was to learn Twig and other Drupal 8 concepts before it was released.</p>
|
|
|
|
<p>You don't need to write PHP code to use Sculpin, but you can easily extend it with PHP code if you need to.</p>
|
|
|
|
<p>You can write custom service classes - the same as in Drupal or Symfony - and move complex logic there and out of your template files.</p>
|
|
|
|
<p>This also means you can write automated tests with PHPUnit.</p>
|
|
|
|
<p>I've added <code>src</code> and <code>tests</code> directories to <a href="https://code.oliverdavies.uk/opdavies/oliverdavies.uk/src/commit/f21bb125c5b01a9e5cd572c77dca0e8d5cc13849">my website repository</a>, which contain my custom Twig extensions that add new functions for counting the number of presentations I've given and my years of experience.</p>
|
|
|
|
<p>There are a lot of choices for static site generators, including several PHP-based ones, but the familiarity and customisability of Sculpin make it a good choice for me.</p>
|
|
|
|
|
|
summary: null
|
|
field_daily_email_cta: { }
|