Initial commit

Migrated from Astro.
This commit is contained in:
Oliver Davies 2025-03-01 22:15:39 +00:00
commit a62acb33c3
14 changed files with 3739 additions and 0 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use flake

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
output_*
source/build
vendor

10
.tmux Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env bash
tmux new-window -dn scratch
tmux new-window -dn sculpin
tmux new-window -dn tailwind
tmux send-keys -t sculpin "vendor/bin/sculpin generate --server --watch" Enter
tmux send-keys -t tailwind "tailwindcss --output source/build/tailwind.css --watch" Enter
nvim .

View file

@ -0,0 +1,3 @@
sculpin_content_types:
posts:
enabled: false

View file

@ -0,0 +1,2 @@
name: 'Building Bootstrap with Tailwind CSS'
locale: en

View file

@ -0,0 +1,3 @@
---
imports:
- sculpin_site.yml

35
composer.json Normal file
View file

@ -0,0 +1,35 @@
{
"name": "opdavies/sculpin-skeleton",
"description": "A skeleton Sculpin site.",
"license": "MIT",
"authors": [
{
"name": "Oliver Davies",
"homepage": "https://www.oliverdavies.uk",
"role": "Developer"
}
],
"require": {
"sculpin/sculpin": "^3.0"
},
"scripts": {
"build": "sculpin generate --clean --no-interaction --env prod",
"dev": "sculpin generate --clean --no-interaction",
"generate": "sculpin generate --clean --no-interaction",
"prod": "composer run-script generate -- --env prod",
"watch": [
"Composer\\Config::disableProcessTimeout",
"composer run-script generate -- --watch --server"
]
},
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
}
},
"config": {
"allow-plugins": {
"sculpin/sculpin-theme-composer-plugin": true
}
}
}

3519
composer.lock generated Normal file

File diff suppressed because it is too large Load diff

27
flake.lock generated Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1740695751,
"narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

23
flake.nix Normal file
View file

@ -0,0 +1,23 @@
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs =
{ nixpkgs, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
in
{
devShells.${system}.default =
with pkgs;
mkShell {
buildInputs = with pkgs; [
php82
php82Packages.composer
tailwindcss
];
};
formatter.${system} = pkgs.nixfmt-rfc-style;
};
}

44
run Executable file
View file

@ -0,0 +1,44 @@
#!/usr/bin/env bash
# Do not edit this file. It is automatically generated by https://www.oliverdavies.uk/build-configs.
set -o errexit
set -o nounset
set -o pipefail
PATH="${PATH}:./vendor/bin"
# Generate the site.
function generate {
local args=()
if [[ "${APP_ENV:-}" == "production" ]]; then
args=(--env="prod")
else
args=(--server --watch)
fi
sculpin generate "${args[@]}" "${@}"
}
function help {
printf "%s <task> [args]\n\nTasks:\n" "${0}"
compgen -A function | grep -v "^_" | cat -n
printf "\nExtended help:\n Each task has comments for general usage\n"
}
# Start the project.
function start {
sculpin generate --server --watch "${@}"
}
# Include any local tasks.
# https://stackoverflow.com/a/6659698
[[ -e "${BASH_SOURCE%/*}/run.local" ]] && source "${BASH_SOURCE%/*}/run.local"
TIMEFORMAT="Task completed in %3lR"
time "${@:-help}"
# vim: ft=bash

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html lang="{{ site.locale|default('en') }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ site.name|default('Sculpin Skeleton') }}</title>
<link rel="stylesheet" href="/build/tailwind.css" />
</head>
<body>
{% block body %}
{% block content %}{% endblock %}
{% endblock %}
</body>
</html>

16
source/index.html.twig Normal file
View file

@ -0,0 +1,16 @@
---
layout: base
use:
- examples
---
<ul>
{% for example in data.examples %}
<li>
<a href="{{ example.url }}">
{{ example.title }}
</a>
</li>
{% endfor %}
</ul>

38
tailwind.config.cjs Normal file
View file

@ -0,0 +1,38 @@
const colors = require("tailwindcss/colors");
const plugin = require("tailwindcss/plugin");
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["source/**/*.{md,html.twig}"],
theme: {
extend: {
colors: {
gray: {
750: "#343a40",
...colors.neutral,
},
},
fontFamily: {
sans: [
"-apple-system",
"BlinkMacSystemFont",
"Segoe UI",
"Roboto",
"Helvetica Neue",
"Arial",
"sans-serif",
"Apple Color Emoji",
"Segoe UI Emoji",
"Segoe UI Symbol",
],
},
},
},
plugins: [
require("@tailwindcss/typography"),
plugin(({ addVariant }) => {
addVariant("hocus", ["&:hover", "&:focus"]);
}),
],
};