21 Commits

Author SHA1 Message Date
3428aab0de Move about to _notes
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-07 12:30:54 +09:00
150a7127cc Update README.md
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-15 21:17:10 +00:00
21431bc420 added about page
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-15 12:00:19 +00:00
224f5a509a make smallest breakpoint 20em instead of 30em
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-19 18:18:18 +05:00
14303d6b28 delete github actions
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-19 17:07:45 +05:00
af6809bab6 update readme 2024-07-19 17:06:09 +05:00
67bb78d0f2 Build dev image in compose
Some checks failed
continuous-integration/drone/push Build is passing
GitHub Pages Deploy / deploy (push) Has been cancelled
JS Lint / lint (push) Has been cancelled
HTMLProofer / test (2.7) (push) Has been cancelled
HTMLProofer / test (3.0) (push) Has been cancelled
2024-07-19 14:01:18 +02:00
1a7cba18ff Update README
Some checks failed
continuous-integration/drone/push Build is passing
GitHub Pages Deploy / deploy (push) Has been cancelled
JS Lint / lint (push) Has been cancelled
HTMLProofer / test (2.7) (push) Has been cancelled
HTMLProofer / test (3.0) (push) Has been cancelled
2024-07-15 20:08:46 +02:00
00a7b14efa Update nginx v
Some checks are pending
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is passing
2024-07-15 18:25:54 +02:00
36238a8e87 Add .html to uri in nginx
Some checks failed
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is failing
2024-07-15 18:24:55 +02:00
24d730631b Use stack ssh
Some checks are pending
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is passing
2024-07-15 18:12:48 +02:00
6d564675fa Remove service
Some checks failed
continuous-integration/drone/push Build is failing
GitHub Pages Deploy / deploy (push) Has been cancelled
JS Lint / lint (push) Has been cancelled
HTMLProofer / test (2.7) (push) Has been cancelled
HTMLProofer / test (3.0) (push) Has been cancelled
2024-07-10 10:18:30 +02:00
b65877595d Use prod compose
Some checks failed
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is failing
2024-07-10 10:16:58 +02:00
4cf125f349 Use correct (?) secret
Some checks failed
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is failing
2024-07-10 10:15:39 +02:00
01a66409cb Add env vars
Some checks failed
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is failing
2024-07-10 10:14:22 +02:00
322b2b8092 Reference correct build step
Some checks failed
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build is failing
2024-07-10 10:06:31 +02:00
c1042a40bc Fix different indentation
Some checks reported errors
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build encountered an error
2024-07-10 10:06:03 +02:00
efac2d6664 Actually fix indentation
Some checks reported errors
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build encountered an error
2024-07-10 10:04:51 +02:00
8cebecbbfd Fix indentation
Some checks reported errors
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build encountered an error
2024-07-10 10:03:03 +02:00
dfffae35b2 Attempt at drone deploy
Some checks reported errors
GitHub Pages Deploy / deploy (push) Waiting to run
JS Lint / lint (push) Waiting to run
HTMLProofer / test (2.7) (push) Waiting to run
HTMLProofer / test (3.0) (push) Waiting to run
continuous-integration/drone/push Build encountered an error
2024-07-10 10:00:42 +02:00
cc07af72c5 Setup local docker-based development environment 2024-07-09 14:36:39 +02:00
17 changed files with 264 additions and 58 deletions

35
.drone.yml Normal file
View File

@ -0,0 +1,35 @@
---
kind: pipeline
name: publish pipeline
steps:
- name: publish jekyll container
image: plugins/docker
settings: &docker-build-settings
username: 3wordchant
password:
from_secret: git_autonomic_zone_token_3wc
repo: git.autonomic.zone/autonomic-cooperative/kcl-site
auto_tag: true
registry: git.autonomic.zone
when:
branch:
- main
event:
exclude:
- custom
- name: deploy-site
image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest
settings:
stack: kcl_smallclients_autonomic_zone
host: smallclients.autonomic.zone
compose: docker-compose.yml
deploy_key:
from_secret: drone_ssh_smallclients.autonomic.zone
environment:
DOMAIN: kcl.smallclients.autonomic.zone
STACK_NAME: kcl_smallclients_autonomic_zone
NGINX_CONF_VERSION: v2
REPOSITORY: "autonomic-cooperative/kcl-site"
depends_on:
- publish jekyll container

View File

@ -1,25 +0,0 @@
name: GitHub Pages Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true
- name: Build site
run: bundle exec rake build
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site
cname: digitalgarden.hypha.coop

View File

@ -1,12 +0,0 @@
name: JS Lint
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14.16.0'
- run: npm install standard
- run: npx standard

View File

@ -1,19 +0,0 @@
name: HTMLProofer
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version: ['2.7', '3.0']
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Install Curl
run: sudo apt install libcurl4-openssl-dev
- name: Run tests
run: bundle exec rake

35
Dockerfile Normal file
View File

@ -0,0 +1,35 @@
# Stage 1: Build the Jekyll site
FROM ruby:3.0.0 AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
git \
&& rm -rf /var/lib/apt/lists/*
# Install the specific version of Bundler
RUN gem install bundler:2.2.13
WORKDIR /srv/jekyll
# Copy Gemfile and Gemfile.lock and install dependencies
COPY Gemfile Gemfile.lock ./
RUN bundle _2.2.13_ install
# Copy the rest of the application files
COPY . .
# Build the Jekyll site
RUN jekyll build -d /dist
# Stage 2: Serve the Jekyll site using Nginx
FROM nginx:1.26.0
WORKDIR /usr/share/nginx/html
# Copy the generated site from the builder stage
COPY --from=builder /dist .
# Expose port 80 for the web server
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

30
Dockerfile.dev Normal file
View File

@ -0,0 +1,30 @@
FROM ruby:3.0.0 as jekyll
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
git \
&& rm -rf /var/lib/apt/lists/*
# used in the jekyll-server image, which is FROM this image
COPY docker-entrypoint.sh /usr/local/bin/
RUN gem update --system && gem install jekyll && gem cleanup
EXPOSE 4000
WORKDIR /site
ENTRYPOINT [ "jekyll" ]
CMD [ "--help" ]
# build from the image we just built with different metadata
FROM jekyll as jekyll-serve
COPY --from=jekyll /usr/local/bin/docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# on every container start, check if Gemfile exists and warn if it's missing
ENTRYPOINT [ "docker-entrypoint.sh" ]
CMD [ "bundle", "exec", "jekyll", "serve", "--force_polling", "-H", "0.0.0.0", "-P", "4000" ]

View File

@ -33,3 +33,5 @@ gem 'wdm', '~> 0.1.1', platforms: %i[mingw x64_mingw mswin]
gem 'html-proofer', '~> 3.19'
gem 'rake', '~> 13.0'
gem 'webrick'

View File

@ -99,6 +99,7 @@ GEM
typhoeus (1.4.0)
ethon (>= 0.9.0)
unicode-display_width (1.7.0)
webrick (1.8.1)
yell (2.2.2)
PLATFORMS
@ -115,6 +116,7 @@ DEPENDENCIES
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
webrick
BUNDLED WITH
2.2.13

View File

@ -1,6 +1,6 @@
# Digital Garden
A public notebook / digital garden for King's College London's digital humanities department.
A digital garden for King's College London's [Centre for Digital Culture](https://www.kcl.ac.uk/research/cdc).
Based on [Hypha's digital garden for The Bentway's Digital and/as Public Space Micro-residency](https://digitalgarden.hypha.coop).
@ -16,8 +16,14 @@ Based on [Hypha's digital garden for The Bentway's Digital and/as Public Space M
- [D3.js](https://d3js.org/), a JavaScript library for visualizing data
+ Initial knowledge graph implementation from the [Digital garden Jekyll template](https://github.com/maximevaillancourt/digital-garden-jekyll-template)
- [Jekyll Feed plugin](https://github.com/hyphacoop/jekyll-feed), a plugin for Jekyll to generate an RSS feed
- [Jekyll serve](https://github.com/BretFisher/jekyll-serve) by Brett Fisher
## Development
### Using docker
1. Run `docker compose -f docker-compose.dev.yml up`
2. Visit your `localhost` on port `4000`: http://localhost:4000 or http://0.0.0.0:4000
### Using jekyll
1. Clone repository: `git clone ssh://git@git.autonomic.zone:2222/autonomic-cooperative/kcl-digital-humanities-garden.git`
2. Install ruby's command line tools with your package manager (e.g. `brew install ruby`)
3. Install Bundler gem: `gem install bundler`
@ -29,3 +35,5 @@ Based on [Hypha's digital garden for The Bentway's Digital and/as Public Space M
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Digital Garden</span> content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
All code at <a xmlns:cc="http://creativecommons.org/ns#" href="https://github.com/hyphacoop/digitalgarden/" property="cc:attributionName" rel="cc:attributionURL">github.com/hyphacoop/digitalgarden/</a> is licensed under a <a rel="license" href="https://www.gnu.org/licenses/gpl.html">GNU General Public License v3.0</a>, the text of which is included in the repository [here](https://github.com/hyphacoop/digitalgarden/blob/main/LICENSE).
## Local docker

23
_notes/about.md Normal file
View File

@ -0,0 +1,23 @@
---
layout: page
title: about
---
[![](/assets/images/cdc.webp)](https://www.kcl.ac.uk/research/cdc)
This is a digital garden for the [Centre for Digital Culture (CDC)](https://www.kcl.ac.uk/research/cdc) at [King's College London](https://kcl.ac.uk/).
The Centre for Digital Culture is an interdisciplinary research centre promoting research and public engagement with digital culture, including the dynamics and practices, imaginaries and materialities, interactions and infrastructures, forms and formats that accompany the web, social media and networked digital devices. Through our projects and activities we support critical inquiry both with and about digital technologies across disciplines, languages, regions and online spaces.
The Centre for Digital Culture is part of the [Digital Futures Institute](https://www.kcl.ac.uk/dfi).
## website credits
The website was developed with the [Autonomic cooperative](https://autonomic.zone/) drawing on a [digital garden project](https://thebentway.ca/stories/digital-and-as-public-space/) from [Hypha](https://hypha.coop/), a worker co-operative based in Toronto.
It uses the following open source components:
- **[Anthony](http://velvetyne.fr/fonts/anthony/)** - a typeface designed by [Sun Young Oh](https://www.sunyoungoh.com/) and inspired from artworks by British sculptor Anthony Caro. The form of this typeface comes from his sculptures that are leaning against each other. Anthony is licensed under the [SIL Open Font License v1.1](http://scripts.sil.org/OFL)
- **[Work Sans](https://github.com/weiweihuanghuang/Work-Sans)** - a typeface designed by [Wei Huang](http://charlix.cx/) based loosely on early Grotesques. Work Sans was made in part on the stolen lands of the Wurundjeri and Boon Wurrung people of the Kulin nations. Work Sans is licensed under the [SIL Open Font License v1.1](http://scripts.sil.org/OFL)
- **[Tachyons](https://tachyons.io/)** - a modular CSS library with a few extended features.
- **[D3.js](https://d3js.org/)** - a JavaScript library for visualizing data. D3.js was used to create the interactive knowledge graph. Originally from [Digital garden Jekyll template](https://github.com/maximevaillancourt/digital-garden-jekyll-template) by Maxime Vaillancourt.

File diff suppressed because one or more lines are too long

23
about.md Normal file
View File

@ -0,0 +1,23 @@
---
layout: page
title: about
---
[![](/assets/images/cdc.webp)](https://www.kcl.ac.uk/research/cdc)
This is a digital garden for the [Centre for Digital Culture (CDC)](https://www.kcl.ac.uk/research/cdc) at [King's College London](https://kcl.ac.uk/).
The Centre for Digital Culture is an interdisciplinary research centre promoting research and public engagement with digital culture, including the dynamics and practices, imaginaries and materialities, interactions and infrastructures, forms and formats that accompany the web, social media and networked digital devices. Through our projects and activities we support critical inquiry both with and about digital technologies across disciplines, languages, regions and online spaces.
The Centre for Digital Culture is part of the [Digital Futures Institute](https://www.kcl.ac.uk/dfi).
## website credits
The website was developed with the [Autonomic cooperative](https://autonomic.zone/) drawing on a [digital garden project](https://thebentway.ca/stories/digital-and-as-public-space/) from [Hypha](https://hypha.coop/), a worker co-operative based in Toronto.
It uses the following open source components:
- **[Anthony](http://velvetyne.fr/fonts/anthony/)** - a typeface designed by [Sun Young Oh](https://www.sunyoungoh.com/) and inspired from artworks by British sculptor Anthony Caro. The form of this typeface comes from his sculptures that are leaning against each other. Anthony is licensed under the [SIL Open Font License v1.1](http://scripts.sil.org/OFL)
- **[Work Sans](https://github.com/weiweihuanghuang/Work-Sans)** - a typeface designed by [Wei Huang](http://charlix.cx/) based loosely on early Grotesques. Work Sans was made in part on the stolen lands of the Wurundjeri and Boon Wurrung people of the Kulin nations. Work Sans is licensed under the [SIL Open Font License v1.1](http://scripts.sil.org/OFL)
- **[Tachyons](https://tachyons.io/)** - a modular CSS library with a few extended features.
- **[D3.js](https://d3js.org/)** - a JavaScript library for visualizing data. D3.js was used to create the interactive knowledge graph. Originally from [Digital garden Jekyll template](https://github.com/maximevaillancourt/digital-garden-jekyll-template) by Maxime Vaillancourt.

BIN
assets/images/cdc.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

12
docker-compose.dev.yml Normal file
View File

@ -0,0 +1,12 @@
# no version needed since 2020
services:
jekyll:
image: git.autonomic.zone/autonomic-cooperative/kcl-site-dev:latest
build:
context: .
dockerfile: Dockerfile.dev
volumes:
- .:/site
ports:
- '4000:4000'

37
docker-compose.yml Normal file
View File

@ -0,0 +1,37 @@
---
version: "3.8"
services:
app:
image: git.autonomic.zone/autonomic-cooperative/kcl-site:latest
networks:
- proxy
volumes:
- html_content:/usr/share/nginx/html
configs:
- source: nginx_conf
target: /etc/nginx/nginx.conf
deploy:
update_config:
failure_action: rollback
order: start-first
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}-jekyll.loadbalancer.server.port=80"
- "traefik.http.routers.${STACK_NAME}-jekyll.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}-jekyll.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}-jekyll.tls.certresolver=production"
networks:
proxy:
external: true
internal:
volumes:
html_content:
configs:
nginx_conf:
name: ${STACK_NAME}_nginx_conf_${NGINX_CONF_VERSION}
file: nginx.conf
template_driver: golang

19
docker-entrypoint.sh Normal file
View File

@ -0,0 +1,19 @@
#!/bin/bash
set -e
if [ ! -f Gemfile ]; then
echo "NOTE: hmm, I don't see a Gemfile so I don't think there's a jekyll site here"
echo "Either you didn't mount a volume, or you mounted it incorrectly."
echo "Be sure you're in your jekyll site root and use something like this to launch"
echo ""
echo "docker run -p 4000:4000 -v \$(pwd):/site bretfisher/jekyll-serve"
echo ""
echo "NOTE: To create a new site, you can use the sister image bretfisher/jekyll like:"
echo ""
echo "docker run -v \$(pwd):/site bretfisher/jekyll new ."
exit 1
fi
bundle install --retry 5 --jobs 20
exec "$@"

36
nginx.conf Normal file
View File

@ -0,0 +1,36 @@
events {
worker_connections 1024;
}
http {
include mime.types;
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen 80;
location / {
root /usr/share/nginx/html;
try_files $uri $uri.html $uri/ =404;
}
location /error_page.html {
internal;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js|htm|html)$ {
root /usr/share/nginx/html;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
error_page 404 /error_page.html;
}
}