Skip to content

ouspg/ouspg.github.io

Repository files navigation

ouspg.github.io

The website for OUSPG

Developing locally

  1. Install hugo
  2. git clone git@github.com:ouspg/ouspg.github.io.git
  3. cd ouspg.github.io
  4. git submodule init && git submodule update
  5. If you plan to change things bit might be time to git checkout -b ... at this point
  6. hugo server
  7. Point your web browser to the local URL given by hugo in the previous step
  8. Edit anything and enjoy automatic live updates and refresh by hugo and your browser
  9. Commit changes, push your branch and make a pull request against main

If you want to make the page accessible in the local network and disable some caching, run Hugo as

hugo server -D --disableFastRender --bind 0.0.0.0

CSS compiling

There is a helper script to build CSS from the Tailwind classes. Run npm run dev to compile changes automatically.

You must install dependencies of the theme in themes/congo at first.

Modifying top banner

Modify the file config/_default/languages.en.toml to change the contents of the banner, or disable it.

Sample configuration:

notification1 = { enabled = true, info_full = "Go check this wonderful search engine!", info_short = "Here is Google.", url = "https://google.com" }

Dynamic content generation

Content discovery

Target repositories under OUSPG need content topics set before it can be discovered, filtered and categorised. Topic learning is used to list repositories which are are specifically meant for learning.

Acquiring data

To get repository metadata from the OUSPG org, use GitHub CLI to include only useful fields for presentation purposes. Authentication is required beforehand unless tokens have been used.

gh repo list ouspg --json url,description,name,repositoryTopics,stargazerCount,openGraphImageUrl

Filter by repository topic with jq

jq ' map(select(.repositoryTopics[]?.name=="learning"))' out.json

Sort by stars:

jq ' map(select(.repositoryTopics[]?.name=="learning")) | sort_by(.stargazerCount)' out.json

Combined command with GH cli

gh repo list ouspg --json url,description,name,repositoryTopics,stargazerCount,openGraphImageUrl --jq 'map(select(.repositoryTopics[]?.name=="learning")) | sort_by(.stargazerCount)'

The repository meta information is currently updated automatically in deployment (see workflows) into the data folder, but not modified back to the repository. The file in the repository serves for development purposes and can be modified locally and updated if needed.

Benchmarking recommendations

Future development ideas

Use a subdomain for resources (guides, docs et al.) and move content into the other repository. Could be https://github.com/h-enk/doks

Dark theme tuning?

Black: #101010 Red-text: #b7384b Red: #b7384b Red-hover: #830c16

Castle sizing

width="530pt" height="640pt"

Releases

No releases published

Packages

No packages published