# Leigh Hackspace Website - Hugo Edition Hugo version: 0.124.1 ## Contributing Looking for something to contribute to the website? Check out the ["Good First Issues"](https://github.com/leigh-hackspace/website-hugo/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) tag in the Issues section for tasks that are simple, but need doing. All changes to the website must be done on a branch and pushed through the GitHub pull requests workflow. If you have any questions about this process then contact the [Tech Infrastructure](https://wiki.leighhack.org/membership/useful_contacts/#tech-infrastructure) people. ### Build the site locally To build the site locally you can do the following: * Download [Hugo extended edition](https://github.com/gohugoio/hugo/releases/) (named hugo_extended). * Check out repo (`git clone https://github.com/leigh-hackspace/website-hugo`) * Run `hugo serve -D --gc -w -F` (add -F to show content with future dates) or `make serve` (if you have `make` installed) * Go to `http://localhost:1313/` to view the local instance. The site will be updated in real-time with any changes made to the site files. ## Deployment Branches are automatically deployed to [https://web-test.leighhack.org](https://web-test.leighhack.org) with subfolders for each of the branches in the repository. Once merged into `main` it'll be deployed out to the live website. ## Common Tasks ### How do I add images to posts / What custom shortcodes are available? We have a few shortcodes that you can use: #### `image` `image` adds a image and manages the sizing and formatting. ``` {{< image src="netatalk.png" width="400x" class="is-pulled-right" title="The Netatalk logo.">}} ``` * `src` - The name of the image file, this can be a PNG, JPEG, or WEBP, the path is relevant to the file you're adding it into. * `class` - Is a CSS class that'll be applied to the `figure` created to show this image, common ones are `is-pulled-left` and `is-pulled-right`, more can be found in the [Bulma helpers](https://bulma.io/documentation/helpers). * `title` - This is the title and alt text used for the image. * `width` - The maximum dimensions of the image, this can be used in a few ways, either defining just the width (`400`), defining scaling to a width `400x`, or a specific width and height (`400x600`). Ideally try to use `400x` to keep image scaling working as expected. #### side by images The side-by-side-2-colds short code will put the images in the blog next to each other the markdown works is as follows ```markdown {{< side-by-side-2-cols "image1" "alt-text-1" "image2" "alt-text-1" >}} ``` this will present 2 images the same size side by side #### `gallery` `gallery` surrounds a group of image tags and makes a rotating gallery of the images: ``` {{< gallery >}} {{< image src="network-browser.jpg" title="Mac OS 9.2.2 'Network Browser' showing the 'nas-afp' service available via AFP over AppleTalk.">}} {{< image src="osx-finder.png" title="Mac OS X 10.4 Finder showing the 'nas-afp' service available via AFP over TCP/IP.">}} {{< image src="sonoma-finder.png" title="macOS Sonoma Finder showing the 'nas-afp' service available via AFP over TCP/IP.">}} {{< /gallery >}} ``` #### `rawhtml` `rawhtml` can be used to inject HTML from your Markdown post into the finished page. **It is really not advised to do this, the retro theme will ignore any HTML in these tags**. For example, this is used on the map page to inject the `div` required to render to OpenLayers map: ``` {{< rawhtml >}}
{{ rawhtml >}} ``` ### How to create a new blog post * Download and install [Hugo](https://github.com/gohugoio/hugo/releases/) (the extended edition) * Run `hugo new blog/