guides:editing_ubnetdef_website

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
guides:editing_ubnetdef_website [2017/03/20 21:45]
sysop created
guides:editing_ubnetdef_website [2017/09/18 18:18] (current)
jeredgei [2. Clone the website repository]
Line 1: Line 1:
-====== Editing ​`ubnetdef.org====== +====== Editing ubnetdef.org ======
 How the heck do I put content on `ubnetdef.org`?​ What is hugo?! Can someone hold me while I cry?! How the heck do I put content on `ubnetdef.org`?​ What is hugo?! Can someone hold me while I cry?!
 +
 +===== 0. Installing Hugo =====
 +[Hugo](https://​gohugo.io/​) is the tool we use to build ubnetdef.org. ​ All hugo does is take some static files, compiles them with our template, then output a bunch of html files.
 +
 +Please follow the installation guide located [here](https://​gohugo.io/#​action). ​ After you install it, please [read up more about hugo](https://​gohugo.io/​overview/​introduction/​).
 +
 +===== 1. Installing git =====
 +We use git for version control, so you're going to need git.
 +
 +You can use [GitHub Desktop](https://​desktop.github.com/​),​ or if you're feeling adventurous [git-bash](https://​git-scm.com/​download).
 +
 +===== 2. Clone the website repository =====
 +The website is located [here](https://​github.com/​ubnetdef/​website). ​ Clone it (which means "​download"​) to your local computer. ​ As a note, now's a good time to ensure you have a GitHub account, and are added to the UBNetDef GitHub account.
 +
 +Netdef Repo: https://​github.com/​ubnetdef/​website.git
 +
 +Lockdown Repo: https://​github.com/​ubnetdef/​lockdown-website
 +
 +**Git Command:**
 +
 +`git clone "​REPO"​`
 +
 +After cloning for the first time, there is no need to reclone the repo. To update your copy of the website to the most current version use the command `git pull` from a git CLI in the directory you previously created.
 +
 +
 +===== 3. Make some changes =====
 +You're going to need a terminal open.  Run `hugo server` inside the UBNetDef website directory you just cloned. ​ Visit the URL it shows, and you should see all the changes you did show up automatically. ​ Once your changes are completed, commit, then push them.
 +
 +===== 4. You're Done! =====
 +Once you push them to the GitHub repo, the website will auto-magically download the changes, and build it. Woah! It's magic.
 +
 +**Git commands:**
 +
 +`git add -A`
 +
 +`git committ -m "​Change comments"​`
 +
 +`git push`
 +
 +{{:​guides:​magic.jpeg?​400|}}
 +
 +====== Advanced ======
 +===== The hugo directory structure =====
 +  * Anything inside the `static/` directory automatically gets copied into the ubnetdef.org'​s website root.
 +    * Example: If I have a file called `test.txt` inside the `static/` directory, you will be able to access it via `https://​ubnetdef.org/​test.txt`
 +  * The `content/` directory contains, well, the page content. It is rendered in markdown.
 +
 +===== How the building process works =====
 +  * A webhook is setup on the GitHub repo, that will ping a url once a commit is pushed
 +  * We run [this webhook software](https://​github.com/​adnanh/​webhook) that will listen for the "​ping"​ from GitHub, and run a bash script.
 +  * You can see the scripts located in the `web-builder` user on the [ubnetdef.org webserver](/​cdr/​vms/​ubnetdef). ​ The relevant script is located below.
 +
 +<file bash /​home/​web-builder/​webhooks/​scripts/​build_hugo_website.sh>​
 +#​!/​usr/​bin/​env bash
 +
 +## USER CONFIG
 +WEBSITE=$1
 +## /USER CONFIG
 +
 +cd ~/​repos/​$WEBSITE
 +git fetch origin > /dev/null
 +git reset --hard origin/​master > /dev/null
 +
 +echo "​Building $WEBSITE..."​
 +
 +echo "​-----"​
 +~/bin/hugo
 +echo "​-----"​
 +
 +# Update the the files
 +rsync -crlpgoDi --delete public/* /​web/​$WEBSITE/​public | while read unused filename; do
 +  echo "​Updated $filename"​
 +done
 +
 +# Fix the group
 +chgrp -hRf web-admins /​web/​$WEBSITE/​public
 +
 +# Make all files group writable
 +find /​web/​$WEBSITE/​public -type f -exec chmod 664 {} \;
 +
 +echo "​$WEBSITE has been built and deployed!"​
 +</​file>​
  • guides/editing_ubnetdef_website.1490046309.txt.gz
  • Last modified: 2017/03/20 21:45
  • by sysop