Skip to content

Commit

Permalink
create empty branch
Browse files Browse the repository at this point in the history
  • Loading branch information
rlskoeser committed Aug 10, 2023
0 parents commit 636dccd
Show file tree
Hide file tree
Showing 328 changed files with 14,884 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# initial pre-commit formatting commit (black, isort, prettier)
4c813f1cd663b7837cb2f5c41c33be5042a85c16
93 changes: 93 additions & 0 deletions .github/workflows/hugo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy Hugo site to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

# Default to bash
defaults:
run:
shell: bash

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: checkout repository
uses: actions/checkout@v3

- name: Get Hugo version
run: echo "HUGO_VERSION=$(cat .hugo_version)" >> $GITHUB_ENV

- name: setup hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: ${{ env.HUGO_VERSION }}
extended: true

- name: Get node version from package.json
run: echo "NODE_VERSION=$(cat package.json | jq -r '.volta.node')" >> $GITHUB_ENV

- name: setup node.js
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}

- name: fetch js dependencies from cache
uses: actions/cache@v3
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
restore-keys: |
npm-${{ hashFiles('package-lock.json') }}
npm-
- name: install js dependencies
run: npm ci

- name: Setup Pages
id: pages
uses: actions/configure-pages@v1

- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--minify \
--baseURL ${{ steps.pages.outputs.base_url }}
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./public

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
77 changes: 77 additions & 0 deletions .github/workflows/lighthouse-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: lighthouse ci

on:
pull_request:
branches:
- main
- develop

env:
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}

jobs:
build-ci:
name: build site and run lighthouse ci
runs-on: ubuntu-latest

steps:
- name: checkout repository
uses: actions/checkout@v3

- name: Get Hugo version
run: echo "HUGO_VERSION=$(cat .hugo_version)" >> $GITHUB_ENV

- name: setup hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: ${{ env.HUGO_VERSION }}
extended: true

- name: Get node version from package.json
run: echo "NODE_VERSION=$(cat package.json | jq -r '.volta.node')" >> $GITHUB_ENV

- name: setup node.js
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}

- name: fetch js dependencies from cache
uses: actions/cache@v3
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
restore-keys: |
npm-${{ hashFiles('package-lock.json') }}
npm-
- name: install js dependencies
run: npm ci

- name: build site
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: hugo --minify

# this step makes the site's built html and css available for download
# from github; see the run in github actions to access it as a zipfile.
# we don't export image derivatives because it makes the build a lot
# slower.
- name: export built files for download
uses: actions/upload-artifact@v3
with:
name: public
path: |
public/
!public/issues/**/images/
# lighthouse is configured using the lighthouserc.js file in the project
# root, see that file for more details. output from runs is uploaded to
# free google cloud storage and accessible via the github action run
- name: audit site using lighthouse ci
uses: treosh/lighthouse-ci-action@v9
with:
configPath: "./lighthouserc.js"
uploadArtifacts: true
temporaryPublicStorage: true
38 changes: 38 additions & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: unit-tests
on:
push:
branches:
- main
- develop
pull_request:

jobs:
jest-unit-tests:
name: unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.JS
uses: actions/setup-node@v3
with:
node-version: "16"

- name: Cache node modules
uses: actions/cache@v2
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
restore-keys: |
npm-${{ hashFiles('package-lock.json') }}
npm-
- name: Install JS dependencies
run: npm install

- name: Run jest tests
run: npm run test:coverage

- name: Upload test coverage to Codecov
uses: codecov/codecov-action@v3
22 changes: 22 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
### Hugo ###
# Generated files by hugo
/public/
/resources/_gen/
.hugo_build.lock

## OS Files
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/

# OSX
.DS_Store

# JS dependencies
node_modules/
coverage

# Lighthouse CI run output
.lighthouseci
Empty file added .gitmodules
Empty file.
1 change: 1 addition & 0 deletions .hugo_version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.101.0
15 changes: 15 additions & 0 deletions .percy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2
snapshot:
widths:
- 320
- 1440
minHeight: 960
percyCSS: ""
discovery:
allowedHostnames: []
disallowedHostnames: []
networkIdleTimeout: 100
upload:
files: "**/*.{png,jpg,jpeg}"
ignore: ""
stripExtensions: false
19 changes: 19 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
repos:
- repo: https://github.com/psf/black
rev: 22.3.0 # Replace by any tag/version: https://github.com/psf/black/tags
hooks:
- id: black
# Assumes that your shell's `python` command is linked to python3.6+
language_version: python
- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
- id: isort
args: ["--profile", "black", "--filter-files"]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.4.1
hooks:
- id: prettier
exclude: (\.html$|^content/|^layouts/.*.json)
# exclude hugo templates, which prettier does not support by default
# exclude content markdown files, to avoid introducing formatting conflicts with content editor changes
91 changes: 91 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Change log

## 1.0.1

- Minor content edits and revisions.
- bugfix to figure shortcode handling for attribution links

## 1.0

Soft launch, June 2023.

### timetree display & interaction

- As a user, I want timetree data points represented by leaf shapes so that the interface is more organic and I can more easily understand the visual as a tree.
- As a user, I want to see labels for leaves in the tree so I'll have a sense of the content and reasons to select specific leaves.
- As a user, I want to see tree branches as part of the timetree so I can more easily understand and read the visualization as a tree and see how the leaves connect.
- As a user I want both leaf and label highlighted when I hover over either, so I can see the connected content as I browse the tree.
- As a user, I want to see a legend for the branches in the intro panel so that I can understand the content is organized by themes and recognize the meaning of the leaf colors.
- As a user, I want to see all the leaves in the timetree so I can be confident I'm seeing all the content.
- As a user I want to see and interact with a the plaque on the trunk of the tree so I can read who the project is dedicated to.

### leaf details

- As a user, when I select a leaf in the timetree, I want to see details for that event so that I can read about it in detail.
- As a user, when I select a leaf to read more details, I want the leaf and label highlighted in the tree view so that I can see and remember what I selected.
- As a user, I want an indicator in the leaf details panel of what branch the leaf belongs to, so that the themes and organization will be more clear as I navigate the timetree.
- As a user, I want the url to change when I select a leaf so that I can bookmark or share the timetree with a specific leaf selected.

### tags

- As a user, when I select a tag in the leaf detail view, I want other leaves with that tag to be highlighted so that I can explore related content.
- As a user, when I select a tag I want to clearly see which tag is active so I can tell that I'm looking at a filtered view of the tree.
- As a user, when I select a tag I want it to stay active until I close it, so that I can more easily browse the leaves with that tag.
- As a user, I want the url to change when I select a tag so that I can bookmark or share the timetree with a specific tag selected.
- As a user, I want to browse a list of tags so that I can see how the data in the timetree is categorized.
- As a user, when I select a tag from the tag index page, I should be taken to the timetree with that tag active so that I can browse all leaves with that tag.

### mobile

- As a mobile user, I want a way to get back to the project introduction after I've closed it, so I can refer back to it after exploring the timetree.
- As a mobile user, I should see some leaf labels when the tree is not zoomed, so I can more easily understand that I can interact with the tree.
- As a user on a smaller screen, I want to zoom in on the timetree so that I can view and interact with the content more easily.

### accessibility

- As a user, I want the option of zooming in on the timetree on desktop and with buttons, so that the content and functionality is accessible in a variety of modes.
- As a keyboard or screen user, I want to navigate the timetree without a mouse or touch device so that I can explore the content in multiple paths and access all the information in a manner that is equivalent to the experience of a sighted user.

### error handling

- As a user, I should see a message if the leaf details fail to load so that I understand something went wrong.
- As a user I want to know when a page is not found so that I can understand what went wrong and navigate to other parts of the site.
- As a user with javascript turned off, I want to see a message explaining why I can't see the timetree so I can turn it on if I want to view it.

### content pages

- As a user, I want to access site navigation in the footer so I can find and access content related to the project.
- As a user, I want to read about the project so that I can understand who created it and find related resources.
- As a user who finds a leaf detail page from search, I should be prompted to view that leaf in the context of the timetree so that I can experience the project as intended.
- As a user, I want to see an indicator when a link takes me to another site or a PDF, so I know what to expect if I click on it.

### content editing

- Contributor documentation
- As a content editor, I want to optionally include images in leaf content so that I can provide illustrations and visual engagement for the timetree information.
- As a content editor, I want the option of a display title for use in the timetree so that I can use different titles in the leaf detail view and in the tree.
- As a team member, I want a way to turn on a visual debug mode so that I can understand how the layout is being generated.
- As a content editor, I want the option of marking a leaf as a draft so that I can unpublish content that isn't ready for inclusion in the timetree.
- As a content admin, I want leaves automatically positioned in the tree based on their branch and century, so that the display follows the agreed upon logic.

### design

- sitemap and flow
- home page / timetree layout and sizing; grid and flow for mobile/desktop
- color scheme and color palette for the leaves
- logic for interaction with leaves, tags
- logic for zoom behaviors
- typography and font for body content
- background image on content pages for visual identity

## Earlier versions / preliminary work

- Set up initial Hugo site with proposed site and data structure
- As a site editor, I want to run a script to import project data into the new Hugo page/data structure, so that existing content can be loaded in bulk.
- As a site editor, I want to import project data from multiple files without overwriting hugo content, so that I can import or update multiple groups of data at the same time.
- As a content editor, I want to see tags, sort date, and branch on leaf summary cards, so that I can review the imported data more easily.
- As a content editor, I want the leaves and branches in the tree to be displayed in configured order so that the content is displayed more logically and consistently.

utils / infrastructure:

- pre-commit hooks for automated & consistent formatting
Loading

0 comments on commit 636dccd

Please sign in to comment.