https://github.com/kujenga/website
Personal website/blog and experimental apps
https://github.com/kujenga/website
bootstrap giscus golang hugo preact wasm website
Last synced: 3 months ago
JSON representation
Personal website/blog and experimental apps
- Host: GitHub
- URL: https://github.com/kujenga/website
- Owner: kujenga
- License: cc-by-4.0
- Created: 2014-11-13T09:38:56.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2025-01-13T03:55:27.000Z (4 months ago)
- Last Synced: 2025-01-30T22:37:21.359Z (4 months ago)
- Topics: bootstrap, giscus, golang, hugo, preact, wasm, website
- Language: HTML
- Homepage: https://ataylor.io
- Size: 8.66 MB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Personal Website
[][ci]
Built with [Hugo][hugo] and deployed on [Google App Engine][gae] via
[CircleCI][ci]. See it live at [ataylor.io](https://ataylor.io).It uses [Fathom][fathomReferral] for privacy-first website analytics.
Directories are laid out as follows:
- `app` contains source code for the App Engine application.
- `app/site/public` is where static assets from the Hugo site are built for
embedding into the server binary and deployment within App Engine.
- `assets` is the Hugo assets directory for management via [pipes][hugoPipes].
- `content` is the Hugo directory for blog and other [page
content][hugoContent], mirroring the organization of the site.
- `content/blog` is where blog posts are written.
- `data` is the Hugo [data directory][hugoData] for various pieces of data such
as external posts of interest.
- `exp` contains experimental packages and code for various apps and pages.
- `layouts` is the Hugo directory for [templates][hugoTemplates], which have a
very specific [lookup order][hugoLookup] determining which templates are used
where. A few examples of these layouts are:
- `layouts/index.html` is the homepage for the site.
- `layouts/_default` contains default templates for when no specific template
is defined.
- `layouts/partials` contain reusable snippets for inclusion in other
templates.
- `scripts` is a collection of utility scripts for working with the repo and
things like deployment management.
- `static` contains [static files][hugoStatic] deployed as-is by Hugo.## Development
To install dependencies, make sure you have a recent version of
[node][nodeInstall], [go][goInstall], and [hugo][hugoInstall] installed, and run
the following command:```sh
npm install
```To run the application, perform the following command:
```sh
npm run start
```To run unit tests, perform the following commands:
```sh
npm test
``````sh
cd app
go test -v ./...
```To run browser automation tests, perform the following command:
```sh
npm run test:e2e
```[hugo]: https://gohugo.io
[gae]: https://cloud.google.com/appengine
[ci]: https://circleci.com/gh/kujenga/website
[fathomReferral]: https://usefathom.com/ref/HWQXER
[hugoPipes]: https://gohugo.io/hugo-pipes/introduction/
[hugoContent]: https://gohugo.io/content-management/organization/
[hugoData]: https://gohugo.io/templates/data-templates/
[hugoTemplates]: https://gohugo.io/templates/introduction/
[hugoLookup]: https://gohugo.io/templates/lookup-order/
[hugoStatic]: https://gohugo.io/content-management/static-files/
[hugoReleases]: https://github.com/gohugoio/hugo/releases
[nodeInstall]: https://nodejs.org/en/download/package-manager/
[goInstall]: https://go.dev/doc/install
[hugoInstall]: https://gohugo.io/getting-started/installing