Compare commits

...
20 Commits
Author SHA1 Message Date
inherentlee 56963da02c small style tweaks and copyright
continuous-integration/drone/push Build is passing
2026-08-05 11:01:36 -07:00
inherentlee bbc88efe34 note about checking for changes
continuous-integration/drone/push Build is passing
2026-08-05 10:56:52 -07:00
inherentlee a8719799f9 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-08-05 10:54:58 -07:00
inherentlee a77cabf9f1 Update content through Mattrbld
continuous-integration/drone/push Build is passing
2026-08-05 10:54:28 -07:00
inherentlee d706703dd1 contact info 2026-08-05 10:53:49 -07:00
inherentlee d6d52e8bef update attribution docs
continuous-integration/drone/push Build is passing
2026-08-05 10:52:35 -07:00
inherentlee 67908bcd0a attrbituion update and notes
continuous-integration/drone/push Build is passing
2026-08-05 10:50:28 -07:00
inherentlee 1b41d37b26 Merge remote-tracking branch 'refs/remotes/origin/main' 2026-08-05 10:44:40 -07:00
inherentlee b0d68de18f help text 2026-08-05 10:44:22 -07:00
inherentlee a913d145b1 Update content through Mattrbld
continuous-integration/drone/push Build is passing
2026-08-05 10:17:35 -07:00
inherentlee 85788ca8e9 remove image stuff
continuous-integration/drone/push Build is passing
2026-08-05 10:14:45 -07:00
inherentlee 0a517c7fc6 remove image stuff
continuous-integration/drone/push Build is passing
2026-08-05 10:13:39 -07:00
inherentlee 850ef1c270 dronefile
continuous-integration/drone/push Build is passing
2026-07-20 16:27:23 -07:00
inherentlee eba8241ed7 sobmodules 2026-07-20 16:27:04 -07:00
inherentlee 8bcea43bbf tweaks 2026-06-22 10:38:32 -07:00
inherentlee 6cd8a7c884 focus rings for header and footer 2026-06-22 10:36:27 -07:00
inherentlee b2bba0a459 Merge remote-tracking branch 'origin' 2026-06-22 09:56:09 -07:00
inherentlee 0e1ca62428 inset image css 2026-06-22 09:55:47 -07:00
inherentlee 24a3125b6b update readme for project 2026-06-22 09:55:25 -07:00
inherentlee 827e94efd1 error message tweaks 2026-06-22 09:53:52 -07:00
13 changed files with 92 additions and 129 deletions
+25
View File
@@ -0,0 +1,25 @@
kind: pipeline
type: docker
name: default
steps:
- name: build
image: node:current
environment:
REPOSITORY: district-dharma-site
GIT_USER: inherentlee
GIT_TOKEN:
from_secret: GIT_TOKEN
commands:
- git config credential.helper '!f() { echo username=$GIT_USER; echo "password=$GIT_TOKEN"; };f'
- git submodule update --remote --init --merge
- npm install
- npm run build
- apt-get update && apt-get install -y rsync
- rsync -uavh _site/ $REPOSITORY --delete --exclude .git
- cd $REPOSITORY
- git checkout main
- git config --global --add safe.directory /drone/src/$REPOSITORY
- git add -A
- git commit -m "drone build $(TZ=':America/Los_Angeles' date)"
- git push
+3
View File
@@ -0,0 +1,3 @@
[submodule "district-dharma-site"]
path = district-dharma-site
url = https://heckin.technology/inherentlee/district-dharma-site.git
+10
View File
@@ -12,6 +12,16 @@
},
"protected": true
},
{
"icon": "error",
"label": "Help",
"target": {
"name": "Project.Documentation",
"params": {
"path": "/README.md"
}
}
},
{
"icon": "document-stack",
"label": "Pages",
-4
View File
@@ -1,4 +0,0 @@
{
"alt": "A chickadee on a fence post.",
"title": null
}
-26
View File
@@ -30,32 +30,6 @@
}
}
},
{
"type": "image",
"default": null,
"icon": "image",
"key": "hero",
"label": "Hero image",
"options": {
"resolutionHint": "1800",
"removable": true,
"simple": false
},
"tab": "Page data",
"validation": {
"max": null,
"required": false,
"unit": "filesize (MB)"
},
"value": null,
"version": 1,
"visibility": {
"hidden": false,
"showByValue": {
"field": null
}
}
},
{
"type": "rich text",
"default": null,
+25 -81
View File
@@ -1,96 +1,40 @@
# 11ty Template
# District Dharma
Template repository for my 11ty projects.
Home page for District Dharma based out of DC.
## full drone/submodule setup from scratch
## Prerequisites
### 1. create repo
1. **Heckin' Tech Gitea Personal Access Token (PAT)**
1. Click on your user in the upper right and choose "Settings" from the dropdown
1. Go to "Applications" in the left-hand settings menu
1. Choose "Generate new token"
- Token name is up to you
- Token access should be public only
- Token permissions should be read & write on repositories
1. **Save your token somewhere secure. If lost, you must generate a new token**
1. **Repository access:** Lee will grant contributor permissions. Repository URL is [heckin.technology/inherentlee/district-dharma](https://heckin.technology/inherentlee/district-dharma)
in heckin gitea, create destination repo.
## Managing content
### 2. add dronefile to source repo
### Content management system
Filename: `.drone.yml`, in root of repo. Note the `<vars>` to replace.
Your content management system is Mattrbld. Mattrbld can be found at [mattrbld.com](mattrbld.com). The first time you access it (or access in a new browser, on a new machine, or with cookies wiped), you will need to give it the repository URL above and set up a user name. Feel free to just set your full name (spaces are ok). This will label your "commits" (changes) to the repository as you.
```yaml
kind: pipeline
type: docker
name: default
### Checking for changes
steps:
- name: build
image: node:current
environment:
REPOSITORY: <dest-repo>
GIT_USER: <username>
GIT_TOKEN:
from_secret: GIT_TOKEN
commands:
- git config credential.helper '!f() { echo username=$GIT_USER; echo "password=$GIT_TOKEN"; };f'
- git submodule update --remote --init --merge
- npm install
- npm run build
- apt-get update && apt-get install -y rsync
- rsync -uavh _site/ $REPOSITORY --delete --exclude .git
- cd $REPOSITORY
- git checkout main
- git config --global --add safe.directory /drone/src/$REPOSITORY
- git add -A
- git commit -m "drone build $(TZ=':America/Los_Angeles' date)"
- git push
```
It's unlikely there will be conflicts between changes I make and changes you would like to make. However, it's never a bad idea to go to the "Dashboard" tab and choose to check for updates.
### 3. create PAT
### Making changes
in heckin, go to settings > applications, and create a PAT with read & write permissions to repositories.
All changes will be in the "Pages" tab. There are two pages:
### 4. activate project in drone and add PAT
- **attribution:** This page has a brief site creator attribution, mentions the site generator, credits the fonts used, and reports that no generative AI was used in creating the site. It is unlikely you will need to edit this page.
- **index:** This page includes the body content for the home page of District Dharma. Note that it does *not* include the contact form at the bottom, which cannot be created via Mattrbld and is done on the backend. For form changes, contact me.
in drone, find your project and activate it.
### Saving changes
in the settings, I chose to disable pull requests and forks. I set my runner timeout to 15m.
To save your changes and see them reflected in the live site, you will navigate to the "Dashboard" tab and sync your changes. Here you will need to enter the email you use for the Heckin' Tech Gitea as well as the generated PAT. If you receive any non-transient errors, feel free to reach out to me.
you can set your PAT either as a project secret or an organization secret. In either case call it `GIT_TOKEN`.
## Contact
### 5. first commit to submodule
assuming we are committing the _site folder...
```sh
cp -r _site ../temp
cd ../temp
git init
git add -A
git commit -m "first"
git remote add origin <remote-url>
git push -u origin main
```
### 6. add submodule to local repo
in root dir of local repo, add the submodule.
```sh
git submodule add <remote-url>
```
if you used the SSH url, set it to the HTTPS url.
```sh
git submodule set-url <dest-repo> <remote-url-https>
git add .gitmodules # the changes from submodule add are auto-staged, this config change isn't
```
commit your changes and push.
```sh
git commit -m "add submodule"
```
(commit your dronefile changes too.)
### 7. profit
if it doesn't work, cry
If for any reason you are having trouble finding me, all my contact information can be found at [leecat.art/contact](https://leecat.art/contact).
+1
View File
@@ -1,3 +1,4 @@
<footer>
<p>© 2026</p>
<p><a href="/attribution/">site attribution</a></p>
</footer>
+4 -4
View File
@@ -6,7 +6,7 @@ layout: page.njk
{{ content | safe }}
<form action="https://formgrid.dev/api/f/842wiwnz" method="POST" class="contact-form">
<h2 class="center">Contact Us</h2>
<h2 class="center">Get in touch</h2>
<p class="center">All fields
<span aria-hidden="true">marked with an asterisk (<span class="red">*</span>)</span>
are required.</p>
@@ -16,14 +16,14 @@ layout: page.njk
<label for="name">Name <span class="red" aria-hidden="true">*</span></label>
<input id="name" type="text" name="name" placeholder="Your Name"
required aria-required="true" aria-describedby="name-error">
<p id="name-error" class="error">Name cannot be empty</p>
<p id="name-error" class="error">Name cannot be empty.</p>
</div>
<div class="form-field">
<label for="email">Email <span class="red" aria-hidden="true">*</span></label>
<input id="email" type="email" name="email" placeholder="you@example.com"
required aria-required="true" aria-describedby="email-error">
<p id="email-error" class="error">Email cannot be empty</p>
<p id="email-error" class="error">Email cannot be empty and must be a valid email.</p>
</div>
</div>
@@ -31,7 +31,7 @@ layout: page.njk
<label for="message">Message <span class="red" aria-hidden="true">*</span></label>
<textarea id="message" name="message" rows="4" placeholder="What's your message?"
required aria-required="true" aria-describedby="message-error"></textarea>
<p id="message-error" class="error">Message cannot be empty</p>
<p id="message-error" class="error">Message cannot be empty.</p>
</div>
<button type="submit" class="form-button">Send message</button>
-5
View File
@@ -1,11 +1,6 @@
---
layout: base.njk
---
{% if hero %}
<img id="hero" src="{{ hero.src }}" alt="{{ hero.alt }}">
{% endif %}
<div id="content">
<h1>{{ title }}</h1>
+21 -7
View File
@@ -11,6 +11,7 @@
--color-text: light-dark(var(--color-dark), var(--color-light));
--color-bg: light-dark(var(--color-light), var(--color-dark));
--color-accent: light-dark(var(--color-blue-dark), var(--color-blue-light));
--color-accent-flipped: light-dark(var(--color-blue-light), var(--color-blue-dark));
--color-red: light-dark(var(--color-red-dark), var(--color-red-light));
}
@@ -28,8 +29,8 @@
}
*:focus-visible {
outline-offset: .1rem;
outline: .1rem solid var(--color-accent);
outline-offset: .12rem;
outline: .12rem solid var(--color-accent);
border-radius: .25rem;
}
@@ -98,6 +99,7 @@ h1, h2, h3, h4, h5, h6 {
font-variant: small-caps;
font-family: Montserrat;
font-weight: 400;
letter-spacing: 5%;
}
h1 {
@@ -134,13 +136,25 @@ a:visited {
/* Header/nav/footer */
header {
height: 20vh;
padding: 1rem;
padding: calc(20vh / 8);
background-color: var(--color-accent);
}
.logo {
height: 100%;
width: auto;
padding: calc(20vh / 30);
border: calc(20vh / 50) solid var(--color-accent);
border-radius: calc(20vh / 3);
}
header a:focus-visible {
outline: none; /* covered by logo rule below */
}
header a:focus-visible .logo {
border-color: var(--color-text);
outline: calc(20vh / 30) solid var(--color-accent-flipped);
}
@media (prefers-color-scheme: light) {
@@ -158,10 +172,12 @@ header {
footer {
background-color: var(--color-accent);
color: var(--color-bg);
padding: 1rem;
}
footer p {
text-align: center;
margin: 0;
}
footer a,
@@ -170,8 +186,6 @@ footer a:visited {
text-decoration-color: var(--color-bg);
}
/* Misc */
#hero {
aspect-ratio: 40 / 9;
object-fit: cover;
footer a:focus-visible {
outline: .15rem solid var(--color-accent-flipped);
}
+2 -2
View File
@@ -1,8 +1,8 @@
---
title: Attribution
___mb_schema: /.mattrbld/schemas/page.json
---
This site is built using [{{ eleventy.generator }}](https://www.11ty.dev/){target="_blank"} by [Lee Cattarin](https://leecat.art){target="_blank"}.
This site is built using [{{ eleventy.generator }}](https://www.11ty.dev/){target="_blank"} by [Lee Cattarin](https://leecat.art){target="_blank"}. It is hosted by [heckin' technology](https://heckin.technology/){target="_blank"}.
The header font is [Monserrat](https://fonts.google.com/specimen/Montserrat){target="_blank"}. The body font is [Atkinson Hyperlegible Next](https://www.brailleinstitute.org/freefont/){target="_blank"}, developed by the Braille Institute.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB