statikbe / craft

Craft CMS scaffolding package, for internal projects by Statik.be
MIT License
28 stars 5 forks source link
craftcms create-project scaffolding tailwindcss

Craft CMS starter package by Statik.be

This a scaffolding package for Craft CMS, by Statik.be. We use this internally to start new projects.

Assumptions made

We assume a couple of things


🛠 Usage

Before beginning make sure you have Ddev installed and your docker-engine is running. Otherwise the install process will fail on initialization.

Use the following command to set up a new project:


composer create-project statikbe/craft PATH

➡️ A Craft CMS project will be created. Next Craft asks to start the set-up:

   ______ .______          ___       _______ .___________.
  /      ||   _  \        /   \     |   ____||           |
 |  ,----'|  |_)  |      /  ^  \    |  |__   `---|  |----`
 |  |     |      /      /  /_\  \   |   __|      |  |
 |  `----.|  |\  \----./  _____  \  |  |         |  |
  \______|| _| `._____/__/     \__\ |__|         |__|

     A       N   E   W       I   N   S   T   A   L   L
               ______ .___  ___.      _______.
              /      ||   \/   |     /       |
             |  ,----'|  \  /  |    |   (----`
             |  |     |  |\/|  |     \   \
             |  `----.|  |  |  | .----)   |
              \______||__|  |__| |_______/

Generating an application ID ... done
Generating a security key ... done

Welcome to Craft CMS!

Are you ready to begin the setup? (yes|no) [yes]

➡️ The next questions will be asked:

➡️ Using the above defaults suggested by craft, will allow you to connect to your Ddev database and the installation will continue.

➡️ Craft is installed, the plugins are installed and the existing project config is applied! 🚀

Now we're ready to initiate the Statik set-up:


cd PATH

ddev craft statik/setup

➡️ This will give you the following options/ask you the following questions:

       _______.___________.    ___   .___________.__   __  ___
        /       |           |   /   \  |           |  | |  |/  /
       |   (----`---|  |----`  /  ^  \ `---|  |----|  | |  '  /
        \   \       |  |      /  /_\  \    |  |    |  | |    <
    .----)   |      |  |     /  _____  \   |  |    |  | |  .  \
    |_______/       |__|    /__/     \__\  |__|    |__| |__|\__\

       A     N  E  W     C  R  A  F  T     P  R  O  J  E  C  T

If you continue the next sections will be removed: confirmAccount, editPassword, editProfile, forgotPassword, forgotPasswordConfirmation, login, profile, register, registrationCompleted, setPassword, setPasswordConfirmation

➡️ The installation is ready!


🎨 Frontend Setup

We use tailwindscss and vite.js

Getting started


[optional] nvm install
yarn install

Afterwards you can build using


yarn dev

or


yarn watch

CSS and Javascript

tailoff/css and tailoff/js

Favicon Add an svg in tailoff/img/ called favicon.svg and run


yarn favicon

Icons Icon go in the folder tailoff/icons


🧪 Testing

There are two tests added to the frontend stack. An A11y tester that uses pa11y-ci under the hood. And a html tester that we wrote ourself, inspired by the pa11y code, that uses html-validate under the hood. You can call them by using these commands:

$ yarn test-a11y
$ yarn test-html

They both use the BASE_URL variable from the .env file to get the craft sitemap. This sitemap gets parsed to get a list of all url's in the site. And the tests are then performed on these URL's.

Attention To get the tester running on your local system. Run the following command in your terminal

export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"

⚙️ Development

To work on this repo you can clone it like you would a regular project:


git clone git@github.com:statikbe/craft.git craft

⭐️ Features & support

We'd love the hear your suggestions and review your pull requests, but keep in mind that is repo is for internal projects first.