An open API service indexing awesome lists of open source software.

https://github.com/urda/website

Repo for my website running on GitHub Pages
https://github.com/urda/website

Last synced: 3 months ago
JSON representation

Repo for my website running on GitHub Pages

Awesome Lists containing this project

README

          

# [urda.com](https://urda.com/)

My personal website and theme. I post everything from engineering, to programming, to creative works, and other thoughts.

# Features of this theme and site generator

## Site Settings

- `title` - Set the desired title of this website.
- `author` - Set the desired author of this website.
- `description` - Set this to a description of your site.
- `avatar` - Set the path to your avatar image you want displayed.
- `avatar_alt_text` - Set the alt text for your avatar image for a11y support.
- `language` - Set the site language (e.g., `en-US`). Used for `` and Open Graph locale.
- `social_image` - Default Open Graph sharing image. Override per-page with `social_image` in front matter.
- `url` - Set your website's URL. This needs to be set to support RSS and other features.
- `baseurl` - Set this if you need to adjust the base URL (such as a GitHub org website).

## Homepage Options and Settings

- Control the homepage 'oneliner':
- You can set `homepage_oneliner` to any string you would like to promote on your homepage.

## Socials

You can configure your socials in the config as well under the `socials` section.

- `email` - Set an e-mail address for users to access.
- `flickr` - Share your Flickr photos and profile to the world.
- `github` - Set your GitHub username to share your code.
- `instagram` - Share your moments to the world.
- `linkedin` - Share your professional LinkedIn profile to visitors.
- `mastodon` - Connects your Mastodon account to the website.
- `rss` - Enable or disable the RSS feeds throughout the website.

## Excerpts

Post excerpts on the homepage and blog archive are controlled by the content itself:

- **Showcase posts:** Place `` in your content. Everything before the marker becomes the excerpt and is displayed in full.
- **Standard posts:** If no marker is present, the excerpt is auto-generated by stripping HTML and truncating to `excerpt_truncate_words` (default: 50 words) with an inline "Read More" link.
- **Short posts:** Posts shorter than the truncation limit are shown in full.

## Analytics

This project supports inserting analytics as desired. It currently supports:

- [Cloudflare Web Analytics](https://www.cloudflare.com/web-analytics/)
- Set the `cloudflare_web_analytics_token` value in `_config.yml` from your `token` value from your Cloudflare JS snippet.

# Working on website content

## Creating a new blog post

1. Create a new file in `_posts/` named `YYYY-MM-DD-your-title.md`.
2. Add front matter at the top:
```yaml
---
layout: post
title: Your Post Title
---
```
3. Write your content in Markdown below the front matter.
4. Optionally add `` to control the excerpt shown on listing pages.
5. For content images, create a directory `content/YYYYMMDD/` and reference images with relative paths.

## Creating a new page

1. Create a new file in `_pages/` (e.g., `_pages/about.md`).
2. Add front matter:
```yaml
---
layout: page
title: About
permalink: /about/
---
```
3. Add the page to site navigation by updating `nav_links` in `_config.yml`.

# Working on the project

- This project uses [Jekyll](https://jekyllrb.com/) to generate the static site.
- This project uses [Sass](https://sass-lang.com/) for styling.
- This project uses `docker` to build, test, and serve the site locally.
- This means you can run all the operations with just a Docker image, no local setup needed.
- This project uses `make` to simplify running commands locally and in CI/CD.

## Running linting

```bash
make lint
```

## Running tests

```bash
make test
```

## Managing project version

### Check version strings

Get a report on if all version strings match or not.

```bash
make version-check
```

### Get version string

Gets the bare version string for the project. If there is an error exit code will be `1`.

```bash
make version-only
```

### Update version strings

Enter a prompt to update all version values across the project at the same time.

```bash
make version-update
```