generated from inherentlee/11ty
Compare commits
20
Commits
e247babe70
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56963da02c | ||
|
|
bbc88efe34 | ||
|
|
a8719799f9 | ||
|
|
a77cabf9f1 | ||
|
|
d706703dd1 | ||
|
|
d6d52e8bef | ||
|
|
67908bcd0a | ||
|
|
1b41d37b26 | ||
|
|
b0d68de18f | ||
|
|
a913d145b1 | ||
|
|
85788ca8e9 | ||
|
|
0a517c7fc6 | ||
|
|
850ef1c270 | ||
|
|
eba8241ed7 | ||
|
|
8bcea43bbf | ||
|
|
6cd8a7c884 | ||
|
|
b2bba0a459 | ||
|
|
0e1ca62428 | ||
|
|
24a3125b6b | ||
|
|
827e94efd1 |
+25
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "district-dharma-site"]
|
||||
path = district-dharma-site
|
||||
url = https://heckin.technology/inherentlee/district-dharma-site.git
|
||||
@@ -12,6 +12,16 @@
|
||||
},
|
||||
"protected": true
|
||||
},
|
||||
{
|
||||
"icon": "error",
|
||||
"label": "Help",
|
||||
"target": {
|
||||
"name": "Project.Documentation",
|
||||
"params": {
|
||||
"path": "/README.md"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"icon": "document-stack",
|
||||
"label": "Pages",
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"alt": "A chickadee on a fence post.",
|
||||
"title": null
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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,3 +1,4 @@
|
||||
<footer>
|
||||
<p>© 2026</p>
|
||||
<p><a href="/attribution/">site attribution</a></p>
|
||||
</footer>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
Submodule
+1
Submodule district-dharma-site added at e84896b26a
+2
-2
@@ -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 |
Reference in New Issue
Block a user