|
André Jaenisch
3e0f177ccf
All checks were successful
ci/woodpecker/pr/reuse Pipeline was successful
ci/woodpecker/pr/prettier Pipeline was successful
ci/woodpecker/pr/askama Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pull_request_closed/askama Pipeline was successful
ci/woodpecker/push/askama Pipeline was successful
Due to licensing I better check against an empty icon. Signed-off-by: André Jaenisch <andre.jaenisch@posteo.de> |
||
|---|---|---|
| .woodpecker | ci: ensure folder exists | |
| LICENSES | chore: set up REUSE and package.json | |
| src | fix: check against empty icon | |
| tests | refactor: find a common ground | |
| .gitignore | feat: support Askama | |
| askama.toml | feat: support Askama | |
| Cargo.lock | feat: support Askama | |
| Cargo.toml | feat: support Askama | |
| package-lock.json | refactor: find a common ground | |
| package.json | refactor: find a common ground | |
| prettier.config.json | chore: add Prettier for Nunjucks | |
| README.md | docs: add provenance | |
| REUSE.toml | chore: update REUSE.toml | |
| vite.config.js | refactor: find a common ground | |
| vitest.config.js | refactor: allow for inlining | |
Anvil components
UI components of Anvil, written in Nunjucks.
Motivation
Jinja2 is a template language that inspired compatible packages in a variety of programming languages. In Node.js that would be Nunjucks. So to have components composed on the server, we are publishing them as Nunjucks partials.
To get an idea of how they would appear rendered Vituum is used. This ensures that Vite can build it, so options like Tauri remain on the table.
Documentation
See Storybook.
Development
A development server can be run via Vite.
npm run dev
Note, that Hot Module Reloading isn't always working properly.
Lint
This projects is using Prettier for formatting and linting.
npm run lint
Test
This project is using Vitest and Playwright for testing in a headless Chromium.
npm run test
Build
This projects is using Vite.
npm run build
Publish
In order to publish a new version to Codeberg, the following steps are required:
- Ensure you are building the latest version.
- Create a personal access token (
{pat}) with the following permissions: 2.1.misc:read2.2.repository:write2.3.package:write - Add a configuration
(saved to
$HOME/.npmrc) to add Codeberg as a registry:npm config set -- '//codeberg.org/api/packages/Anvil/npm/:_authToken' "{pat}" - Publish to Codeberg:
npm publish --registry=https://codeberg.org/api/packages/anvil/npm/ - Increase the version number in
package.json
License
AGPL 3.0 or later. See LICENSE.
Provenance
This software is proudly and fondly written, maintained, used -- and most crucially -- understood by real human beings. While we can't personally attest to the provenance of every line of code ever contributed, the vast majority of the codebase has certainly been developed without the aid of large language models and other stochastic 'intelligence'.
While the license may not guarantee warranty 'of any kind', you can at least use this software in the comforting knowledge that its veracity and coherence is vouched for by sentient intelligence with skin in the game and a reputation to uphold.
Contribution guidelines
We expect contributors to adhere to the ethos of the project.
Source code is not an artifact, an intermediate representation, nor a bothersome annoyance whose creation is to be offloaded to metal and transistors. Source code is a source of truth -- the only source of truth that constitutes this software project -- and it deserves to be understood and curated by the accountable and reasoned mind of a human being.
Please refrain from contributing changes that you have not personally understood and instigated the authorship of. We do not expect perfection, but we do expect you to personally understand your own motivations and decisions.