diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml new file mode 100644 index 0000000..e00ebfa --- /dev/null +++ b/.github/workflows/hugo.yaml @@ -0,0 +1,78 @@ +# Sample workflow for building and deploying a Hugo site to GitHub Pages +name: Deploy Hugo site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: + - main + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.118.2 + steps: + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + - name: Install Dart Sass + run: sudo snap install dart-sass + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + fetch-depth: 0 + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: Install Node.js dependencies + run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" + - name: Build with Hugo + env: + # For maximum backward compatibility with Hugo modules + HUGO_ENVIRONMENT: production + HUGO_ENV: production + run: | + hugo \ + --gc \ + --minify \ + --baseURL "${{ steps.pages.outputs.base_url }}/" + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8acc7ca --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.hugo_build.lock +/public \ No newline at end of file diff --git a/404.html b/404.html deleted file mode 100644 index 8d884f2..0000000 --- a/404.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - Error 404 - Page Not found - - - - - - -
-
- Go Home -
-

Error 404

-

Page Not found

-
- - - - diff --git a/README.md b/README.md index 6e60c4a..83b1e2f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# A project deticated to the game Firewatch by Campo Santo. +# A project dedicated to the game Firewatch by Campo Santo. --- -## want to contribute? Fork the project then do a pull request. +## Want to contribute? Fork the project, and do a pull request. -![Contribute](https://projectfirewatch.com/cdn/contribute.png) +![Contribute](https://projectfirewatch.com/cdn/contribute.webp) --- @@ -17,16 +17,6 @@ --- -# Contributers! +# Contributors! ### Moved to. -### https://projectfirewatch.com/staff/ - ---- - -![Hits](https://camo.githubusercontent.com/612c403f0241d9c1edf9ea44167dc013cb6de7457457f6e7c0a1373b3b5db65c/68747470733a2f2f686974732e736565796f756661726d2e636f6d2f6170692f636f756e742f696e63722f62616467652e7376673f75726c3d68747470732533412532462532466769746875622e636f6d253246536f7068696141746b696e736f6e2532464669726577617463682d477569646526636f756e745f62673d253233323532353235267469746c655f62673d2532333235323532352669636f6e3d2669636f6e5f636f6c6f723d253233453745374537267469746c653d436c69636b61726f6f7326656467655f666c61743d74727565) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* +### https://projectfirewatch.com/info/project/contributors/ \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index e4de04c..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,3 +0,0 @@ -# Security Policy - -### If you find a spam link or something that has snuck onto this project, please let me know by emailing us. The email is in the ReadME.md diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 2cedced..0000000 --- a/_config.yml +++ /dev/null @@ -1,6 +0,0 @@ -theme: jekyll-theme-midnight - -plugins: - - jemoji - - jekyll-sitemap - - jekyll-seo-tag diff --git a/achievements/index.md b/achievements/index.md deleted file mode 100644 index 7bb5919..0000000 --- a/achievements/index.md +++ /dev/null @@ -1,143 +0,0 @@ -# All Achievements - ---- - -### [Home](/) - ---- - -![Good First Day](/cdn/webp/achievements/goodday.webp) -Good first day. -Completed Day 1 - -•  Story related and cannot be missed. Complete Day 1 of the game to unlock this achievement. - ---- - -![Back to work](/cdn/webp/achievements/backtowork.webp) -Back to work. -Completed Day 2 - -• Story related and cannot be missed. Complete Day 2 of the game to unlock this achievement. - ---- - -![Someone's out here.](/cdn/webp/achievements/someonesouthere.webp) -Someone's out here. -Completed Day 76 - -• Story related and cannot be missed. Complete Day 76 of the game to unlock this achievement. ⠀⠀ - ---- - -![Burn the place down.](/cdn/webp/achievements/burntheplacedown.webp) -Burn the place down. -Completed Day 77 - -•  Story related and cannot be missed. Complete Day 77 of the game to unlock this achievement. - ---- - -![Firewatch](/cdn/webp/achievements/firewatch.webp) -Firewatch. -Completed Day 79 - -•  Story related and cannot be missed. Complete Day 79 of the game to unlock this achievement. - ---- - -![Shutter Bug](/cdn/webp/achievements/shutterbug.webp) -Shutter Bug. -Filled a disposable camera with photos. - -• This can be completed as early as Day 2. After finding the downed line and heading down the path (headed toward cache 241), you will see a backpack hanging on a tree. Knock it down and grab the items in it. One of the items is a disposable camera. Use up the remaining pictures to unlock the achievement. - ---- - -![Love Turts](/cdn/webp/achievements/loveturts.webp) -Love Turts. -Adopted a turtle as a pet. - -•  In Firewatch, turtles can be found in several locations throughout the wilderness. I listed a few of these locations below if you wish to find a turtle pet of your own. However, keep in mind that a turtle will not always be present at the locations listed below. These are just some of the common locations that players have found their own turtle companions. Once you find a turtle, make sure to report it to Delilah and adopt it to bring it with you. - -Thorofare Trail -The first location you can check for a turtle is along the Thorofare Trail. Starting at the Two Forks Lookout tower, head southeast along a trail leading away from the bottom of the tower stairs. Before the trail curves to the left, look for an opening in the fence leading to another trail heading east. Continue down this trail. - -You will eventually pass by a fallen log that you can either hop over or walk around. At the end of the path, look for a turtle sitting on a rock just in front of the rockslide. Pick up the turtle, and report it to Delilah to give it a name. Make sure to press Hold to adopt the turtle as your new pet companion. - -![Map Location](/cdn/webp/achievements/jonesylakemap.webp) - -![Turt Location](/cdn/webp/achievements/thorofaretrailturt.webp) - -Jonesy Lake -During Day 1, you will need to travel to Jonesy Lake to inspect some suspicious behavior. Consult your map and head west toward the lake along the lake trails. When you reach the lake, walk along its shoreline to the north. Keep an eye out for yellow supply cache 305. Open the cache and copy the map information to update your map. Continue a few feet north of the supply cache and look for a flat rock beneath a tree, close to the lake. With any luck, there may be a turtle sitting atop the rock for you to befriend. - -![Map Location](/cdn/webp/achievements/thorofaretrailmap.webp) - -![Turt](/cdn/webp/achievements/turtatjonesylake.webp) - -Beartooth Point -During Day 2, you must travel north toward Beartooth Point to inspect a communication line. The trails will diverge into several winding paths, as shown in the map image below. Use the nearby telephone line as your guide through the valley. - -![Map Location](/cdn/webp/achievements/beartoothpointmap.webp) - -![Turt](/cdn/webp/achievements/beartoothpointturt.webp) - ---- - -![The Life and Times of Raccoon Carter](/cdn/webp/achievements/thelifeandtimesofraccooncarter.webp) -The Life and Times of Raccoon Carter. -Got attacked by a raccoon; probably didn't get rabies. - -•  Start a free roam game and go to the location marked on the map. Enter the cabin where the arrow is pointing and go down the stairs. Open the stove and a raccoon will jump out and the achievement will unlock. - -![Map 1](/cdn/webp/achievements/2438900192_preview_UhPAbZJ.webp) - -•  This can be completed as early as Day 76. When you start Day 76, head north toward Beartooth Point. About halfway there (between the words "Thorofare Trail" and "Telephone"), the trail splits once and then again. After the split, look for an old outhouse that is falling apart (it contains the lyrics to Ol' Shoshone inside). From the outhouse, head east and look for an old cabin that is falling apart. Inside, go into the basement and open the stove. A raccoon should jump out and the achievement will unlock. - -![Map 2](/cdn/webp/achievements/2438900192_preview_4208-001.webp) -![Raccoon](/cdn/webp/achievements/2438900192_preview_racoon.webp) - ---- - -![Bee Plot](/cdn/webp/achievements/beeplot.webp) -Bee Plot. -Got stung by a bee. It happens. - -• Start a free roam game and make sure you bring your climbing gear and the axe with you. -Go to the area marked on the map and open the gate. Directly in front of you is a small box thing you can open. Open it and a bee will fly out and sting you and the achievement will unlock.  - -![Bee Plot](/cdn/webp/achievements/2438900192_preview_wapiti.webp) - ---- - -![Ol' Shoshone](/cdn/webp/achievements/olshoshone.webp) -Ol' Shoshone. -Listened to the tape of "Ol' Shoshone." Cavorted among the aspens. - -•  Start a free roam game. Make sure you take the axe with you from the lookout. -Go to the area marked on the map and clear out the bushes where the arrow is pointing. Continue through and you will see a chair and a bunch of junk. Pick up the tape and the achievement should pop. - -![Ol' Shoshone](/cdn/webp/achievements/2438900192_preview_shoshone.webp) - - ---- - -# Credits - -[Guide By TORGADDON](https://steamcommunity.com/sharedfiles/filedetails/?id=2438900192) - -[truesteamachievements.com](https://truesteamachievements.com/) - -[xboxachievements.com](https://www.xboxachievements.com/) - -[astats.astats.nl](https://astats.astats.nl) - -[usgamer.net](https://www.usgamer.net/) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* - diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/assets/css/404/main.css b/assets/css/404/main.css deleted file mode 100644 index 72ae342..0000000 --- a/assets/css/404/main.css +++ /dev/null @@ -1,77 +0,0 @@ -/* -* @Author: SSimg -* @Date: 2017-06-14 16:49:39 -* @Last Modified by: SSimg -* @Last Modified time: 2017-06-14 21:15:22 -*/ -body { - margin: 0; -} - -body, -html { - width: 100%; - height: 100%; - background-color: #272727; -} - -body { - color: #FFF; - padding: 0; - min-height: 100%; - text-align: center; - display: table; - font-family: "Arial", "Helvetica", sans-serif; -} - -h1 { - font-weight: 300; - margin: 0; - font-size: 52px; -} - -h1 span { - font-weight: 700; -} - -h2 { - font-weight: 100; - margin: 0; - font-size: 24px; -} - -a { - text-decoration: none; - color: #fff; - font-size: inherit; -} - -.cover { - display: table-cell; - vertical-align: middle; - padding: 0 20px; -} - -.header { - background-color: #353535; - width: 100%; - position: absolute; - top: 0; - left: 0; - height: 60px; -} - -.btn-back { - position: absolute; - top: 12px; - left: 20px; - padding: 10px 20px; - border-radius: 4px; - font-weight: 300; - font-size: 12px; - background-color: #272727; -} - -.btn-back:hover { - background-color: #353535; -} \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css deleted file mode 100644 index 5cd18bd..0000000 --- a/assets/css/style.css +++ /dev/null @@ -1,795 +0,0 @@ -/*! normalize.css 2012-02-07T12:37 UTC - https://github.com/necolas/normalize.css */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block -} -/* Make sure embeds and iframes fit their containers */ - -embed, -iframe, -object { - max-width: 100%; -} -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1 -} - -audio:not([controls]) { - display: none -} - -[hidden] { - display: none -} - -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100% -} - -html, -button, -input, -select, -textarea { - font-family: sans-serif -} - -body { - margin: 0 -} - -a:focus { - outline: thin dotted -} - -a:hover, -a:active { - outline: 0 -} - -h1 { - font-size: 2em; - margin: 0.67em 0 -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0 -} - -h3 { - font-size: 1.17em; - margin: 1em 0 -} - -h4 { - font-size: 1em; - margin: 1.33em 0 -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0 -} - -h6 { - font-size: 0.75em; - margin: 2.33em 0 -} - -abbr[title] { - border-bottom: 1px dotted -} - -b, -strong { - font-weight: bold -} - -blockquote { - margin: 1em 40px -} - -dfn { - font-style: italic -} - -mark { - background: #ff0; - color: #000 -} - -p, -pre { - margin: 1em 0 -} - -pre, -code, -kbd, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em -} - -q { - quotes: none -} - -q:before, -q:after { - content: ''; - content: none -} - -small { - font-size: 75% -} - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline -} - -sup { - top: -0.5em -} - -sub { - bottom: -0.25em -} - -dl, -menu, -ol, -ul { - margin: 1em 0 -} - -dd { - margin: 0 0 0 40px -} - -menu, -ol, -ul { - padding: 0 0 0 40px -} - -nav ul, -nav ol { - list-style: none; - list-style-image: none -} - -img { - border: 0; - -ms-interpolation-mode: bicubic -} - -svg:not(:root) { - overflow: hidden -} - -figure { - margin: 0 -} - -form { - margin: 0 -} - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em -} - -legend { - border: 0; - padding: 0; - white-space: normal; - *margin-left: -7px -} - -button, -input, -select, -textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle -} - -button, -input { - line-height: normal -} - -button, -input[type="button"], -input[type="reset"], -input[type="submit"] { - cursor: pointer; - -webkit-appearance: button; - *overflow: visible -} - -button[disabled], -input[disabled] { - cursor: default -} - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; - *height: 13px; - *width: 13px -} - -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box -} - -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none -} - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0 -} - -textarea { - overflow: auto; - vertical-align: top -} - -table { - border-collapse: collapse; - border-spacing: 0 -} - -@font-face { - font-family: 'OpenSansLight'; - src: url("../fonts/OpenSans-Light-webfont.eot"); - src: url("../fonts/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Light-webfont.woff") format("woff"), url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Light-webfont.svg#OpenSansLight") format("svg"); - font-weight: normal; - font-style: normal -} - -@font-face { - font-family: 'OpenSansLightItalic'; - src: url("../fonts/OpenSans-LightItalic-webfont.eot"); - src: url("../fonts/OpenSans-LightItalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-LightItalic-webfont.woff") format("woff"), url("../fonts/OpenSans-LightItalic-webfont.ttf") format("truetype"), url("../fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic") format("svg"); - font-weight: normal; - font-style: normal -} - -@font-face { - font-family: 'OpenSansRegular'; - src: url("../fonts/OpenSans-Regular-webfont.eot"); - src: url("../fonts/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Regular-webfont.woff") format("woff"), url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Regular-webfont.svg#OpenSansRegular") format("svg"); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased -} - -@font-face { - font-family: 'OpenSansItalic'; - src: url("../fonts/OpenSans-Italic-webfont.eot"); - src: url("../fonts/OpenSans-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Italic-webfont.woff") format("woff"), url("../fonts/OpenSans-Italic-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Italic-webfont.svg#OpenSansItalic") format("svg"); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased -} - -@font-face { - font-family: 'OpenSansSemibold'; - src: url("../fonts/OpenSans-Semibold-webfont.eot"); - src: url("../fonts/OpenSans-Semibold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Semibold-webfont.woff") format("woff"), url("../fonts/OpenSans-Semibold-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold") format("svg"); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased -} - -@font-face { - font-family: 'OpenSansSemiboldItalic'; - src: url("../fonts/OpenSans-SemiboldItalic-webfont.eot"); - src: url("../fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-SemiboldItalic-webfont.woff") format("woff"), url("../fonts/OpenSans-SemiboldItalic-webfont.ttf") format("truetype"), url("../fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic") format("svg"); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased -} - -@font-face { - font-family: 'OpenSansBold'; - src: url("../fonts/OpenSans-Bold-webfont.eot"); - src: url("../fonts/OpenSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Bold-webfont.woff") format("woff"), url("../fonts/OpenSans-Bold-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Bold-webfont.svg#OpenSansBold") format("svg"); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased -} - -@font-face { - font-family: 'OpenSansBoldItalic'; - src: url("../fonts/OpenSans-BoldItalic-webfont.eot"); - src: url("../fonts/OpenSans-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-BoldItalic-webfont.woff") format("woff"), url("../fonts/OpenSans-BoldItalic-webfont.ttf") format("truetype"), url("../fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic") format("svg"); - font-weight: normal; - font-style: normal; - -webkit-font-smoothing: antialiased -} - -.highlight table td { - padding: 5px -} - -.highlight table pre { - margin: 0 -} - -.highlight, -.highlight .w { - color: #d0d0d0 -} - -.highlight .err { - color: #151515; - background-color: #ac4142 -} - -.highlight .c, -.highlight .cd, -.highlight .cm, -.highlight .c1, -.highlight .cs { - color: #888 -} - -.highlight .cp { - color: #f4bf75 -} - -.highlight .nt { - color: #f4bf75 -} - -.highlight .o, -.highlight .ow { - color: #d0d0d0 -} - -.highlight .p, -.highlight .pi { - color: #d0d0d0 -} - -.highlight .gi { - color: #90a959 -} - -.highlight .gd { - color: #ac4142 -} - -.highlight .gh { - color: #6a9fb5; - font-weight: bold -} - -.highlight .k, -.highlight .kn, -.highlight .kp, -.highlight .kr, -.highlight .kv { - color: #aa759f -} - -.highlight .kc { - color: #d28445 -} - -.highlight .kt { - color: #d28445 -} - -.highlight .kd { - color: #d28445 -} - -.highlight .s, -.highlight .sb, -.highlight .sc, -.highlight .sd, -.highlight .s2, -.highlight .sh, -.highlight .sx, -.highlight .s1 { - color: #90a959 -} - -.highlight .sr { - color: #75b5aa -} - -.highlight .si { - color: #8f5536 -} - -.highlight .se { - color: #8f5536 -} - -.highlight .nn { - color: #f4bf75 -} - -.highlight .nc { - color: #f4bf75 -} - -.highlight .no { - color: #f4bf75 -} - -.highlight .na { - color: #6a9fb5 -} - -.highlight .m, -.highlight .mf, -.highlight .mh, -.highlight .mi, -.highlight .il, -.highlight .mo, -.highlight .mb, -.highlight .mx { - color: #90a959 -} - -.highlight .ss { - color: #90a959 -} - -body { - padding: 0px 0 20px 0px; - margin: 0px; - font: 14px/1.5 "OpenSansRegular", "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #f0e7d5; - font-weight: normal; - background: #252525; - background-attachment: fixed !important; - background: linear-gradient(#2a2a29, #1c1c1c) -} - -h1, -h2, -h3, -h4, -h5, -h6 { - color: #fff; - margin: 0 0 10px; - font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal -} - -p, -ul, -ol, -table, -pre, -dl { - margin: 0 0 20px -} - -h1, -h2, -h3 { - line-height: 1.1 -} - -h1 { - font-size: 28px -} - -h2 { - font-size: 24px -} - -h4, -h5, -h6 { - color: #e8e8e8 -} - -h3 { - font-size: 18px; - line-height: 24px; - font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal; - color: #ffffffe5 -} - -a { - color: #FFA500; - font-weight: 400; - text-decoration: none -} - -a:hover { - color: #ffb731 -} - -a small { - font-size: 11px; - color: #666; - margin-top: -0.6em; - display: block -} - -ul { - list-style-image: url("../images/bullet.png") -} - -strong { - font-family: 'OpenSansBold', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal -} - -.wrapper { - max-width: 650px; - margin: 0 auto; - position: relative; - padding: 0 20px -} - -section img { - max-width: 100% -} - -blockquote { - border-left: 3px solid #ffcc00; - margin: 0; - padding: 0 0 0 20px; - font-style: italic -} - -code { - font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace; - color: #efefef; - font-size: 13px; - margin: 0 4px; - padding: 4px 6px; - border-radius: 2px -} - -pre { - padding: 8px 15px; - background: #191919; - border-radius: 2px; - border: 1px solid #121212; - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3); - overflow: auto; - overflow-y: hidden -} - -pre code { - color: #efefef; - text-shadow: 0px 1px 0px #000; - margin: 0; - padding: 0 -} - -table { - width: 100%; - border-collapse: collapse -} - -th { - text-align: left; - padding: 5px 10px; - border-bottom: 1px solid #434343; - color: #b6b6b6; - font-family: 'OpenSansSemibold', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal -} - -td { - text-align: left; - padding: 5px 10px; - border-bottom: 1px solid #434343 -} - -hr { - border: 0; - outline: none; - height: 3px; - background: transparent url("../images/hr.gif") center center repeat-x; - margin: 0 0 20px -} - -dt { - color: #F0E7D5; - font-family: 'OpenSansSemibold', "Helvetica Neue", Helvetica, Arial, sans-serif !important; - font-weight: normal -} - -#header { - z-index: 100; - left: 0; - top: 0px; - height: 60px; - width: 100%; - position: fixed; - background: url(../images/nav-bg.gif) #353535; - border-bottom: 4px solid #434343; - box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.25) -} - -#header nav { - max-width: 650px; - margin: 0 auto; - padding: 0 10px; - background: blue; - margin: 6px auto -} - -#header nav ul { - list-style-type: none; - margin: 0; - padding: 0 -} - -#header nav ul li { - font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - list-style: none; - display: inline; - color: white; - line-height: 50px; - text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2); - font-size: 14px -} - -#header nav ul li a { - color: white; - border: 1px solid #5d910b; - background: linear-gradient(#93bd20, #659e10); - border-radius: 2px; - box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.3), 0px 3px 7px rgba(0, 0, 0, 0.7); - background-color: #93bd20; - padding: 10px 12px; - margin-top: 6px; - line-height: 14px; - font-size: 14px; - display: inline-block; - text-align: center -} - -#header nav ul li a:hover { - background: linear-gradient(#749619, #527f0e); - background-color: #659e10; - border: 1px solid #527f0e; - box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2), 0px 1px 0px transparent -} - -#header nav ul li.fork { - float: left; - margin-left: 0px -} - -#header nav ul li.downloads { - float: right; - margin-left: 6px -} - -#header nav ul li.title { - float: right; - margin-right: 10px; - font-size: 11px -} - -section { - max-width: 650px; - padding: 30px 0px 50px 0px; - margin: 20px 0; - margin-top: 70px -} - -section #title { - border: 0; - outline: none; - margin: 0 0 50px 0; - padding: 0 0 5px 0 -} - -section #title h1 { - font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - font-size: 40px; - text-align: center; - line-height: 36px -} - -section #title p { - color: #d7cfbe; - font-family: 'OpenSansLight', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - font-size: 18px; - text-align: center -} - -section #title .credits { - font-size: 11px; - font-family: 'OpenSansRegular', "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - color: #696969; - margin-top: -10px -} - -section #title .credits.left { - float: left -} - -section #title .credits.right { - float: right -} - -@media print, -screen and (max-width: 720px) { - #title .credits { - display: block; - width: 100%; - line-height: 30px; - text-align: center - } - #title .credits .left { - float: none; - display: block - } - #title .credits .right { - float: none; - display: block - } -} - -@media print, -screen and (max-width: 480px) { - #header { - margin-top: -20px - } - section { - margin-top: 40px - } - nav { - display: none - } -} diff --git a/cdn/10-3-21/20211003084101_1.jpg b/cdn/10-3-21/20211003084101_1.jpg deleted file mode 100644 index 53e3c7b..0000000 Binary files a/cdn/10-3-21/20211003084101_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084110_1.jpg b/cdn/10-3-21/20211003084110_1.jpg deleted file mode 100644 index 9f09ac0..0000000 Binary files a/cdn/10-3-21/20211003084110_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084128_1.jpg b/cdn/10-3-21/20211003084128_1.jpg deleted file mode 100644 index ae96aae..0000000 Binary files a/cdn/10-3-21/20211003084128_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084239_1.jpg b/cdn/10-3-21/20211003084239_1.jpg deleted file mode 100644 index 07dfd73..0000000 Binary files a/cdn/10-3-21/20211003084239_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084245_1.jpg b/cdn/10-3-21/20211003084245_1.jpg deleted file mode 100644 index 90879dd..0000000 Binary files a/cdn/10-3-21/20211003084245_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084338_1.jpg b/cdn/10-3-21/20211003084338_1.jpg deleted file mode 100644 index 24be88c..0000000 Binary files a/cdn/10-3-21/20211003084338_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084412_1.jpg b/cdn/10-3-21/20211003084412_1.jpg deleted file mode 100644 index b395cd2..0000000 Binary files a/cdn/10-3-21/20211003084412_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084434_1.jpg b/cdn/10-3-21/20211003084434_1.jpg deleted file mode 100644 index d37c5f5..0000000 Binary files a/cdn/10-3-21/20211003084434_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084715_1.jpg b/cdn/10-3-21/20211003084715_1.jpg deleted file mode 100644 index 11830e2..0000000 Binary files a/cdn/10-3-21/20211003084715_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084731_1.jpg b/cdn/10-3-21/20211003084731_1.jpg deleted file mode 100644 index 50c8174..0000000 Binary files a/cdn/10-3-21/20211003084731_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003084947_1.jpg b/cdn/10-3-21/20211003084947_1.jpg deleted file mode 100644 index 2cedfd6..0000000 Binary files a/cdn/10-3-21/20211003084947_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003085206_1.jpg b/cdn/10-3-21/20211003085206_1.jpg deleted file mode 100644 index 356370d..0000000 Binary files a/cdn/10-3-21/20211003085206_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003085341_1.jpg b/cdn/10-3-21/20211003085341_1.jpg deleted file mode 100644 index 25f6a2d..0000000 Binary files a/cdn/10-3-21/20211003085341_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003085519_1.jpg b/cdn/10-3-21/20211003085519_1.jpg deleted file mode 100644 index 546139e..0000000 Binary files a/cdn/10-3-21/20211003085519_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003085705_1.jpg b/cdn/10-3-21/20211003085705_1.jpg deleted file mode 100644 index aa5b62b..0000000 Binary files a/cdn/10-3-21/20211003085705_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090024_1.jpg b/cdn/10-3-21/20211003090024_1.jpg deleted file mode 100644 index 36a5aef..0000000 Binary files a/cdn/10-3-21/20211003090024_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090256_1.jpg b/cdn/10-3-21/20211003090256_1.jpg deleted file mode 100644 index faae41e..0000000 Binary files a/cdn/10-3-21/20211003090256_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090339_1.jpg b/cdn/10-3-21/20211003090339_1.jpg deleted file mode 100644 index 43d5c96..0000000 Binary files a/cdn/10-3-21/20211003090339_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090446_1.jpg b/cdn/10-3-21/20211003090446_1.jpg deleted file mode 100644 index 0253334..0000000 Binary files a/cdn/10-3-21/20211003090446_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090720_1.jpg b/cdn/10-3-21/20211003090720_1.jpg deleted file mode 100644 index 1e310b4..0000000 Binary files a/cdn/10-3-21/20211003090720_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090736_1.jpg b/cdn/10-3-21/20211003090736_1.jpg deleted file mode 100644 index 990f3c6..0000000 Binary files a/cdn/10-3-21/20211003090736_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090755_1.jpg b/cdn/10-3-21/20211003090755_1.jpg deleted file mode 100644 index aefd8f7..0000000 Binary files a/cdn/10-3-21/20211003090755_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090803_1.jpg b/cdn/10-3-21/20211003090803_1.jpg deleted file mode 100644 index c21173b..0000000 Binary files a/cdn/10-3-21/20211003090803_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090810_1.jpg b/cdn/10-3-21/20211003090810_1.jpg deleted file mode 100644 index 4b9cda3..0000000 Binary files a/cdn/10-3-21/20211003090810_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090820_1.jpg b/cdn/10-3-21/20211003090820_1.jpg deleted file mode 100644 index 66bd5fe..0000000 Binary files a/cdn/10-3-21/20211003090820_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090936_1.jpg b/cdn/10-3-21/20211003090936_1.jpg deleted file mode 100644 index 17ee97f..0000000 Binary files a/cdn/10-3-21/20211003090936_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003090952_1.jpg b/cdn/10-3-21/20211003090952_1.jpg deleted file mode 100644 index ae78c70..0000000 Binary files a/cdn/10-3-21/20211003090952_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003091204_1.jpg b/cdn/10-3-21/20211003091204_1.jpg deleted file mode 100644 index 88428b0..0000000 Binary files a/cdn/10-3-21/20211003091204_1.jpg and /dev/null differ diff --git a/cdn/10-3-21/20211003091402_1.jpg b/cdn/10-3-21/20211003091402_1.jpg deleted file mode 100644 index 3a0abe4..0000000 Binary files a/cdn/10-3-21/20211003091402_1.jpg and /dev/null differ diff --git a/cdn/20200701135637_1.jpg b/cdn/20200701135637_1.jpg deleted file mode 100644 index acabcce..0000000 Binary files a/cdn/20200701135637_1.jpg and /dev/null differ diff --git a/cdn/20200701135646_1.jpg b/cdn/20200701135646_1.jpg deleted file mode 100644 index 274ecf5..0000000 Binary files a/cdn/20200701135646_1.jpg and /dev/null differ diff --git a/cdn/20200701135654_1.jpg b/cdn/20200701135654_1.jpg deleted file mode 100644 index e8ef2fb..0000000 Binary files a/cdn/20200701135654_1.jpg and /dev/null differ diff --git a/cdn/20201109190843_1.jpg b/cdn/20201109190843_1.jpg deleted file mode 100644 index 9969991..0000000 Binary files a/cdn/20201109190843_1.jpg and /dev/null differ diff --git a/cdn/20201109191235_1.jpg b/cdn/20201109191235_1.jpg deleted file mode 100644 index 7c62d75..0000000 Binary files a/cdn/20201109191235_1.jpg and /dev/null differ diff --git a/cdn/20201117182957_1.jpg b/cdn/20201117182957_1.jpg deleted file mode 100644 index 8603b01..0000000 Binary files a/cdn/20201117182957_1.jpg and /dev/null differ diff --git a/cdn/Firewatch Intro Image.jpg b/cdn/Firewatch Intro Image.jpg deleted file mode 100644 index ffaf942..0000000 Binary files a/cdn/Firewatch Intro Image.jpg and /dev/null differ diff --git a/cdn/achievements/2438900192_preview_4208-001.jpg b/cdn/achievements/2438900192_preview_4208-001.jpg deleted file mode 100644 index 13b5f18..0000000 Binary files a/cdn/achievements/2438900192_preview_4208-001.jpg and /dev/null differ diff --git a/cdn/achievements/2438900192_preview_UhPAbZJ.jpg b/cdn/achievements/2438900192_preview_UhPAbZJ.jpg deleted file mode 100644 index e787982..0000000 Binary files a/cdn/achievements/2438900192_preview_UhPAbZJ.jpg and /dev/null differ diff --git a/cdn/achievements/2438900192_preview_racoon.jpg b/cdn/achievements/2438900192_preview_racoon.jpg deleted file mode 100644 index 9f75b78..0000000 Binary files a/cdn/achievements/2438900192_preview_racoon.jpg and /dev/null differ diff --git a/cdn/achievements/2438900192_preview_shoshone.jpg b/cdn/achievements/2438900192_preview_shoshone.jpg deleted file mode 100644 index b04013a..0000000 Binary files a/cdn/achievements/2438900192_preview_shoshone.jpg and /dev/null differ diff --git a/cdn/achievements/2438900192_preview_wapiti.jpg b/cdn/achievements/2438900192_preview_wapiti.jpg deleted file mode 100644 index b80b1e3..0000000 Binary files a/cdn/achievements/2438900192_preview_wapiti.jpg and /dev/null differ diff --git a/cdn/achievements/backtowork.png b/cdn/achievements/backtowork.png deleted file mode 100644 index deb77fb..0000000 Binary files a/cdn/achievements/backtowork.png and /dev/null differ diff --git a/cdn/achievements/beartoothpointmap.jpg b/cdn/achievements/beartoothpointmap.jpg deleted file mode 100644 index 9bc4809..0000000 Binary files a/cdn/achievements/beartoothpointmap.jpg and /dev/null differ diff --git a/cdn/achievements/beartoothpointturt.jpg b/cdn/achievements/beartoothpointturt.jpg deleted file mode 100644 index 85a81f5..0000000 Binary files a/cdn/achievements/beartoothpointturt.jpg and /dev/null differ diff --git a/cdn/achievements/beeplot.png b/cdn/achievements/beeplot.png deleted file mode 100644 index 345e76e..0000000 Binary files a/cdn/achievements/beeplot.png and /dev/null differ diff --git a/cdn/achievements/burntheplacedown.png b/cdn/achievements/burntheplacedown.png deleted file mode 100644 index a31dcf6..0000000 Binary files a/cdn/achievements/burntheplacedown.png and /dev/null differ diff --git a/cdn/achievements/firewatch.png b/cdn/achievements/firewatch.png deleted file mode 100644 index 7527200..0000000 Binary files a/cdn/achievements/firewatch.png and /dev/null differ diff --git a/cdn/achievements/goodday.jpg b/cdn/achievements/goodday.jpg deleted file mode 100644 index 7c51b3e..0000000 Binary files a/cdn/achievements/goodday.jpg and /dev/null differ diff --git a/cdn/achievements/jonesylakemap.jpg b/cdn/achievements/jonesylakemap.jpg deleted file mode 100644 index a21bb9a..0000000 Binary files a/cdn/achievements/jonesylakemap.jpg and /dev/null differ diff --git a/cdn/achievements/loveturts.png b/cdn/achievements/loveturts.png deleted file mode 100644 index eb74170..0000000 Binary files a/cdn/achievements/loveturts.png and /dev/null differ diff --git a/cdn/achievements/olshoshone.png b/cdn/achievements/olshoshone.png deleted file mode 100644 index 7d8bd65..0000000 Binary files a/cdn/achievements/olshoshone.png and /dev/null differ diff --git a/cdn/achievements/shutterbug.png b/cdn/achievements/shutterbug.png deleted file mode 100644 index 74f23bb..0000000 Binary files a/cdn/achievements/shutterbug.png and /dev/null differ diff --git a/cdn/achievements/someonesouthere.png b/cdn/achievements/someonesouthere.png deleted file mode 100644 index ba09ea7..0000000 Binary files a/cdn/achievements/someonesouthere.png and /dev/null differ diff --git a/cdn/achievements/thelifeandtimesofraccooncarter.png b/cdn/achievements/thelifeandtimesofraccooncarter.png deleted file mode 100644 index 70bf3be..0000000 Binary files a/cdn/achievements/thelifeandtimesofraccooncarter.png and /dev/null differ diff --git a/cdn/achievements/thorofaretrailmap.jpg b/cdn/achievements/thorofaretrailmap.jpg deleted file mode 100644 index f126be9..0000000 Binary files a/cdn/achievements/thorofaretrailmap.jpg and /dev/null differ diff --git a/cdn/achievements/thorofaretrailturt.jpg b/cdn/achievements/thorofaretrailturt.jpg deleted file mode 100644 index a38c390..0000000 Binary files a/cdn/achievements/thorofaretrailturt.jpg and /dev/null differ diff --git a/cdn/achievements/turtatjonesylake.jpg b/cdn/achievements/turtatjonesylake.jpg deleted file mode 100644 index 297aaea..0000000 Binary files a/cdn/achievements/turtatjonesylake.jpg and /dev/null differ diff --git a/cdn/arch.jpg b/cdn/arch.jpg deleted file mode 100644 index c3232b9..0000000 Binary files a/cdn/arch.jpg and /dev/null differ diff --git a/cdn/byrnes256x256.png b/cdn/byrnes256x256.png deleted file mode 100644 index 118a711..0000000 Binary files a/cdn/byrnes256x256.png and /dev/null differ diff --git a/cdn/byrnes600x600.png b/cdn/byrnes600x600.png deleted file mode 100644 index 69eb3e8..0000000 Binary files a/cdn/byrnes600x600.png and /dev/null differ diff --git a/cdn/contribute.png b/cdn/contribute.png deleted file mode 100644 index cd66425..0000000 Binary files a/cdn/contribute.png and /dev/null differ diff --git a/cdn/fw.png b/cdn/fw.png deleted file mode 100644 index 91d14f0..0000000 Binary files a/cdn/fw.png and /dev/null differ diff --git a/cdn/header.png b/cdn/header.png deleted file mode 100644 index d19d431..0000000 Binary files a/cdn/header.png and /dev/null differ diff --git a/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.jpg b/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.jpg deleted file mode 100644 index 7f39c0c..0000000 Binary files a/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.jpg and /dev/null differ diff --git a/cdn/info/Firewatch/Et2U6VBVkAIKp9v.jpg b/cdn/info/Firewatch/Et2U6VBVkAIKp9v.jpg deleted file mode 100644 index c08e047..0000000 Binary files a/cdn/info/Firewatch/Et2U6VBVkAIKp9v.jpg and /dev/null differ diff --git a/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.png b/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.png deleted file mode 100644 index 36e7890..0000000 Binary files a/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.png and /dev/null differ diff --git a/cdn/info/Firewatch/Et2VBwwVEAIw1p-.png b/cdn/info/Firewatch/Et2VBwwVEAIw1p-.png deleted file mode 100644 index ec00886..0000000 Binary files a/cdn/info/Firewatch/Et2VBwwVEAIw1p-.png and /dev/null differ diff --git a/cdn/info/Firewatch/Et2VDdAVcAMvC7t.jpg b/cdn/info/Firewatch/Et2VDdAVcAMvC7t.jpg deleted file mode 100644 index 4934235..0000000 Binary files a/cdn/info/Firewatch/Et2VDdAVcAMvC7t.jpg and /dev/null differ diff --git a/cdn/info/camposanto/logo.png b/cdn/info/camposanto/logo.png deleted file mode 100644 index 52da5a1..0000000 Binary files a/cdn/info/camposanto/logo.png and /dev/null differ diff --git a/cdn/newheader.png b/cdn/newheader.png deleted file mode 100644 index d58f230..0000000 Binary files a/cdn/newheader.png and /dev/null differ diff --git a/cdn/pork.jpg b/cdn/pork.jpg deleted file mode 100644 index c803260..0000000 Binary files a/cdn/pork.jpg and /dev/null differ diff --git a/cdn/shoshonebookclub/625733417_preview_accidental_saviour.png b/cdn/shoshonebookclub/625733417_preview_accidental_saviour.png deleted file mode 100644 index 097317a..0000000 Binary files a/cdn/shoshonebookclub/625733417_preview_accidental_saviour.png and /dev/null differ diff --git a/cdn/shoshonebookclub/625733417_preview_book_map.png b/cdn/shoshonebookclub/625733417_preview_book_map.png deleted file mode 100644 index 03d3aea..0000000 Binary files a/cdn/shoshonebookclub/625733417_preview_book_map.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.png b/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.png deleted file mode 100644 index 9e30857..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_birds.png b/cdn/shoshonewildlifenotes/631422921_preview_birds.png deleted file mode 100644 index 6b497e6..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_birds.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.png b/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.png deleted file mode 100644 index c0980e9..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_elk.png b/cdn/shoshonewildlifenotes/631422921_preview_elk.png deleted file mode 100644 index 4a6e189..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_elk.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.png b/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.png deleted file mode 100644 index 47439db..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_turt.png b/cdn/shoshonewildlifenotes/631422921_preview_turt.png deleted file mode 100644 index b9d0e65..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_turt.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.png b/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.png deleted file mode 100644 index 9cbb5fc..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.png and /dev/null differ diff --git a/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.png b/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.png deleted file mode 100644 index b302d83..0000000 Binary files a/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.png and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084101_1.webp b/cdn/webp/10-3-21/20211003084101_1.webp deleted file mode 100644 index 4ee2877..0000000 Binary files a/cdn/webp/10-3-21/20211003084101_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084110_1.webp b/cdn/webp/10-3-21/20211003084110_1.webp deleted file mode 100644 index 2ba74de..0000000 Binary files a/cdn/webp/10-3-21/20211003084110_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084128_1.webp b/cdn/webp/10-3-21/20211003084128_1.webp deleted file mode 100644 index 19413af..0000000 Binary files a/cdn/webp/10-3-21/20211003084128_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084239_1.webp b/cdn/webp/10-3-21/20211003084239_1.webp deleted file mode 100644 index fbd9bdf..0000000 Binary files a/cdn/webp/10-3-21/20211003084239_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084245_1.webp b/cdn/webp/10-3-21/20211003084245_1.webp deleted file mode 100644 index b22fc02..0000000 Binary files a/cdn/webp/10-3-21/20211003084245_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084338_1.webp b/cdn/webp/10-3-21/20211003084338_1.webp deleted file mode 100644 index 5c4781a..0000000 Binary files a/cdn/webp/10-3-21/20211003084338_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084412_1.webp b/cdn/webp/10-3-21/20211003084412_1.webp deleted file mode 100644 index b409daf..0000000 Binary files a/cdn/webp/10-3-21/20211003084412_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084434_1.webp b/cdn/webp/10-3-21/20211003084434_1.webp deleted file mode 100644 index 132e68b..0000000 Binary files a/cdn/webp/10-3-21/20211003084434_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084715_1.webp b/cdn/webp/10-3-21/20211003084715_1.webp deleted file mode 100644 index 5959f2e..0000000 Binary files a/cdn/webp/10-3-21/20211003084715_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084731_1.webp b/cdn/webp/10-3-21/20211003084731_1.webp deleted file mode 100644 index a50abd3..0000000 Binary files a/cdn/webp/10-3-21/20211003084731_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003084947_1.webp b/cdn/webp/10-3-21/20211003084947_1.webp deleted file mode 100644 index e9a07ab..0000000 Binary files a/cdn/webp/10-3-21/20211003084947_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003085206_1.webp b/cdn/webp/10-3-21/20211003085206_1.webp deleted file mode 100644 index eb02e35..0000000 Binary files a/cdn/webp/10-3-21/20211003085206_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003085341_1.webp b/cdn/webp/10-3-21/20211003085341_1.webp deleted file mode 100644 index db28b8c..0000000 Binary files a/cdn/webp/10-3-21/20211003085341_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003085519_1.webp b/cdn/webp/10-3-21/20211003085519_1.webp deleted file mode 100644 index 9532b99..0000000 Binary files a/cdn/webp/10-3-21/20211003085519_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003085705_1.webp b/cdn/webp/10-3-21/20211003085705_1.webp deleted file mode 100644 index c8627a3..0000000 Binary files a/cdn/webp/10-3-21/20211003085705_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090024_1.webp b/cdn/webp/10-3-21/20211003090024_1.webp deleted file mode 100644 index 0558b87..0000000 Binary files a/cdn/webp/10-3-21/20211003090024_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090256_1.webp b/cdn/webp/10-3-21/20211003090256_1.webp deleted file mode 100644 index 6abe943..0000000 Binary files a/cdn/webp/10-3-21/20211003090256_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090339_1.webp b/cdn/webp/10-3-21/20211003090339_1.webp deleted file mode 100644 index 7191201..0000000 Binary files a/cdn/webp/10-3-21/20211003090339_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090446_1.webp b/cdn/webp/10-3-21/20211003090446_1.webp deleted file mode 100644 index 864bed3..0000000 Binary files a/cdn/webp/10-3-21/20211003090446_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090720_1.webp b/cdn/webp/10-3-21/20211003090720_1.webp deleted file mode 100644 index 6f01fba..0000000 Binary files a/cdn/webp/10-3-21/20211003090720_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090736_1.webp b/cdn/webp/10-3-21/20211003090736_1.webp deleted file mode 100644 index 230b426..0000000 Binary files a/cdn/webp/10-3-21/20211003090736_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090755_1.webp b/cdn/webp/10-3-21/20211003090755_1.webp deleted file mode 100644 index a1f7a80..0000000 Binary files a/cdn/webp/10-3-21/20211003090755_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090803_1.webp b/cdn/webp/10-3-21/20211003090803_1.webp deleted file mode 100644 index c8d5b5b..0000000 Binary files a/cdn/webp/10-3-21/20211003090803_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090810_1.webp b/cdn/webp/10-3-21/20211003090810_1.webp deleted file mode 100644 index bb831d8..0000000 Binary files a/cdn/webp/10-3-21/20211003090810_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090820_1.webp b/cdn/webp/10-3-21/20211003090820_1.webp deleted file mode 100644 index b9af54a..0000000 Binary files a/cdn/webp/10-3-21/20211003090820_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090936_1.webp b/cdn/webp/10-3-21/20211003090936_1.webp deleted file mode 100644 index aa48088..0000000 Binary files a/cdn/webp/10-3-21/20211003090936_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003090952_1.webp b/cdn/webp/10-3-21/20211003090952_1.webp deleted file mode 100644 index cbd2e3e..0000000 Binary files a/cdn/webp/10-3-21/20211003090952_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003091204_1.webp b/cdn/webp/10-3-21/20211003091204_1.webp deleted file mode 100644 index 8f926db..0000000 Binary files a/cdn/webp/10-3-21/20211003091204_1.webp and /dev/null differ diff --git a/cdn/webp/10-3-21/20211003091402_1.webp b/cdn/webp/10-3-21/20211003091402_1.webp deleted file mode 100644 index bee1aff..0000000 Binary files a/cdn/webp/10-3-21/20211003091402_1.webp and /dev/null differ diff --git a/cdn/webp/FirewatchAudioTour.pdf b/cdn/webp/FirewatchAudioTour.pdf deleted file mode 100644 index e421cbb..0000000 Binary files a/cdn/webp/FirewatchAudioTour.pdf and /dev/null differ diff --git a/cdn/webp/byrnes256x256.webp b/cdn/webp/byrnes256x256.webp deleted file mode 100644 index 527d6ea..0000000 Binary files a/cdn/webp/byrnes256x256.webp and /dev/null differ diff --git a/cdn/webp/byrnes600x600.webp b/cdn/webp/byrnes600x600.webp deleted file mode 100644 index 799c7b7..0000000 Binary files a/cdn/webp/byrnes600x600.webp and /dev/null differ diff --git a/cdn/webp/header.webp b/cdn/webp/header.webp deleted file mode 100644 index c051669..0000000 Binary files a/cdn/webp/header.webp and /dev/null differ diff --git a/cdn/webp/headerbutbetter.webp b/cdn/webp/headerbutbetter.webp deleted file mode 100644 index 5eb4355..0000000 Binary files a/cdn/webp/headerbutbetter.webp and /dev/null differ diff --git a/cdn/webp/newheader.webp b/cdn/webp/newheader.webp deleted file mode 100644 index 6dc4293..0000000 Binary files a/cdn/webp/newheader.webp and /dev/null differ diff --git a/codeofconduct/index.md b/codeofconduct/index.md deleted file mode 100644 index 03f4ca8..0000000 --- a/codeofconduct/index.md +++ /dev/null @@ -1,140 +0,0 @@ -# Contributor Covenant Code of Conduct - ---- - -### [Home](/) - ---- - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -contact@projectfirewatch.com. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/community/index.md b/community/index.md deleted file mode 100644 index 65da05b..0000000 --- a/community/index.md +++ /dev/null @@ -1 +0,0 @@ -# Coming Soon in the somewhere near future \ No newline at end of file diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..d5a22d8 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,49 @@ +--- +date: "04-31-2021" +title: "Home" +--- + +# What is Firewatch? + +--- + +### Firewatch is a single-player first-person mystery set in the Wyoming wilderness, where your only emotional lifeline is the person on the other end of a handheld radio + +--- + +![Firewatch Photo](/cdn/10-3-21/20211003084110_1.webp) + +--- + +![Firewatch Photo](/cdn/10-3-21/20211003084128_1.webp) + +--- +![Firewatch Photo](/cdn/10-3-21/20211003084239_1.webp) + +--- + +![Firewatch Photo](/cdn/10-3-21/20211003084245_1.webp) + +--- + +![Firewatch Photo](/cdn/10-3-21/20211003084338_1.webp) + +--- + +![Firewatch Photo](/cdn/10-3-21/20211003084434_1.webp) + +--- + +![Firewatch Photo](/cdn/10-3-21/20211003090936_1.webp) + +--- + +![Firewatch Photo](/cdn/20200701135646_1.webp) + +--- + +![Firewatch Intro](/cdn/20200701135654_1.webp) + + + + diff --git a/content/achievements.md b/content/achievements.md new file mode 100644 index 0000000..8a59d40 --- /dev/null +++ b/content/achievements.md @@ -0,0 +1,164 @@ +--- +date: "06-03-2021" +title: "Achievements" +--- + +![Good First Day](/cdn/achievements/goodday.webp) + +Good first day. + +Completed Day 1 + +- Story related and cannot be missed. Complete Day 1 of the game to unlock this achievement. + +--- + +![Back to work](/cdn/achievements/backtowork.webp) + +Back to work. + +Completed Day 2 + +- Story related and cannot be missed. Complete Day 2 of the game to unlock this achievement. + +--- + +![Someone's out here.](/cdn/achievements/someonesouthere.webp) + +Someone's out here. + +Completed Day 76 + +- Story related and cannot be missed. Complete Day 76 of the game to unlock this achievement. ⠀⠀ + +--- + +![Burn the place down.](/cdn/achievements/burntheplacedown.webp) + +Burn the place down. + +Completed Day 77 + +- Story related and cannot be missed. Complete Day 77 of the game to unlock this achievement. + +--- + +![Firewatch](/cdn/achievements/firewatch.webp) + +Firewatch. + +Completed Day 79 + +- Story related and cannot be missed. Complete Day 79 of the game to unlock this achievement. + +--- + +![Shutter Bug](/cdn/achievements/shutterbug.webp) + +Shutter Bug. + +Filled a disposable camera with photos. + +- This can be completed as early as Day 2. After finding the downed line and heading down the path (headed toward cache 241), you will see a backpack hanging on a tree. Knock it down and grab the items in it. One of the items is a disposable camera. Use up the remaining pictures to unlock the achievement. + +--- + +![Love Turts](/cdn/achievements/loveturts.webp) + +Love Turts. + +Adopted a turtle as a pet. + +- In Firewatch, turtles can be found in several locations throughout the wilderness. I listed a few of these locations below if you wish to find a turtle pet of your own. However, keep in mind that a turtle will not always be present at the locations listed below. These are just some of the common locations that players have found their own turtle companions. Once you find a turtle, make sure to report it to Delilah and adopt it to bring it with you. + + + +Thorofare Trail +The first location you can check for a turtle is along the Thorofare Trail. Starting at the Two Forks Lookout tower, head southeast along a trail leading away from the bottom of the tower stairs. Before the trail curves to the left, look for an opening in the fence leading to another trail heading east. Continue down this trail. + +You will eventually pass by a fallen log that you can either hop over or walk around. At the end of the path, look for a turtle sitting on a rock just in front of the rockslide. Pick up the turtle, and report it to Delilah to give it a name. Make sure to press Hold to adopt the turtle as your new pet companion. + +![Map Location](/cdn/achievements/jonesylakemap.webp) + +![Turt Location](/cdn/achievements/thorofaretrailturt.webp) + +Jonesy Lake +During Day 1, you will need to travel to Jonesy Lake to inspect some suspicious behavior. Consult your map and head west toward the lake along the lake trails. When you reach the lake, walk along its shoreline to the north. Keep an eye out for yellow supply cache 305. Open the cache and copy the map information to update your map. Continue a few feet north of the supply cache and look for a flat rock beneath a tree, close to the lake. With any luck, there may be a turtle sitting atop the rock for you to befriend. + +![Map Location](/cdn/achievements/thorofaretrailmap.webp) + +![Turt](/cdn/achievements/turtatjonesylake.webp) + +Beartooth Point + +During Day 2, you must travel north toward Beartooth Point to inspect a communication line. The trails will diverge into several winding paths, as shown in the map image below. Use the nearby telephone line as your guide through the valley. + +![Map Location](/cdn/achievements/beartoothpointmap.webp) + +![Turt](/cdn/achievements/beartoothpointturt.webp) + +--- + +![The Life and Times of Raccoon Carter](/cdn/achievements/thelifeandtimesofraccooncarter.webp) + +The Life and Times of Raccoon Carter. +Got attacked by a raccoon; probably didn't get rabies. + +- Start a free roam game and go to the location marked on the map. Enter the cabin where the arrow is pointing and go down the stairs. Open the stove and a raccoon will jump out and the achievement will unlock. + + + +![Map 1](/cdn/achievements/2438900192_preview_UhPAbZJ.webp) + + + +- This can be completed as early as Day 76. When you start Day 76, head north toward Beartooth Point. About halfway there (between the words "Thorofare Trail" and "Telephone"), the trail splits once and then again. After the split, look for an old outhouse that is falling apart (it contains the lyrics to Ol' Shoshone inside). From the outhouse, head east and look for an old cabin that is falling apart. Inside, go into the basement and open the stove. A raccoon should jump out and the achievement will unlock. + + + +![Map 2](/cdn/achievements/2438900192_preview_4208-001.webp) +![Raccoon](/cdn/achievements/2438900192_preview_racoon.webp) + +--- + +![Bee Plot](/cdn/achievements/beeplot.webp) + +Bee Plot. + +Got stung by a bee. It happens. + + + +- Start a free roam game and make sure you bring your climbing gear and the axe with you. +Go to the area marked on the map and open the gate. Directly in front of you is a small box thing you can open. Open it and a bee will fly out and sting you and the achievement will unlock. + +![Bee Plot](/cdn/achievements/2438900192_preview_wapiti.webp) + +--- + +![Ol' Shoshone](/cdn/achievements/olshoshone.webp) + +Ol' Shoshone. + +Listened to the tape of "Ol' Shoshone." Cavorted among the aspens. + + + +- Start a free roam game. Make sure you take the axe with you from the lookout. +Go to the area marked on the map and clear out the bushes where the arrow is pointing. Continue through and you will see a chair and a bunch of junk. Pick up the tape and the achievement should pop. + +![Ol' Shoshone](/cdn/achievements/2438900192_preview_shoshone.webp) + +--- + +# Credits + +[Guide By TORGADDON](https://steamcommunity.com/sharedfiles/filedetails/?id=2438900192) + +[truesteamachievements.com](https://truesteamachievements.com/) + +[xboxachievements.com](https://www.xboxachievements.com/) + +[astats.astats.nl](https://astats.astats.nl) + +[usgamer.net](https://web.archive.org/web/20221211234157/https://www.usgamer.net/) diff --git a/content/cassettelocations.md b/content/cassettelocations.md new file mode 100644 index 0000000..93af281 --- /dev/null +++ b/content/cassettelocations.md @@ -0,0 +1,72 @@ +--- +date: "09-05-2023" +title: "Cassette Locations" +--- + + +## Introduction + +After you beat the main story of Firewatch, you may stumble upon Firewatch's Free Roam gamemode (only available after beating the main story). Inside this gamemode, you roam the map as you wish. Along the way you may notice cassettes hidden away in random places. Each cassette contains certain tracks from the game's soundtrack. This guide will show you the location of every single cassette within Firewatch's Free Roam gamemode. + +You will be using the wave receiver to find the cassette. The wave receiver itself is found in Cache 306. This cache will also contain a map with coordinates. The signals the wave receiver gives will help you find the cassettes if you need a bit of extra help. It is pictured below: + +![383870_screenshots_20161228120144_1.webp](/cdn/cassettelocations/383870_screenshots_20161228120144_1.webp) + +--- + +## First Cassette + +- This cassette is the one you find within the Two Forks Lookout Tower. It is fairly easy to find, and it contains tracks 1 - 4. You were probably rushing through the game if you missed this one. + +![383870_screenshots_20161228115633_1.webp](/cdn/cassettelocations/383870_screenshots_20161228115633_1.webp) + +![383870_screenshots_20161228115644_1.webp](/cdn/cassettelocations/383870_screenshots_20161228115644_1.webp) + +--- + +## Second Cassette + +- This cassette contains tracks 5 - 8. It is located near Beartooth Point in the field before you reach the peak of the overlook. It will be hidden behind some overgrowth which requires the axe to be cleared. + +![383870_screenshots_20161228115633_1.webp](/cdn/cassettelocations/383870_screenshots_20161228120800_1.webp) + +![383870_screenshots_20161228115644_1.webp](/cdn/cassettelocations/383870_screenshots_20161228121319_1.webp) + +--- + +## Third Cassette + +- This cassette contains tracks 9 - 12. It is near the Jonesy Lake, specifically by the point you find the naked teenage girls partying in the campaign. You will find it across the log and up the rocks. This one is a bit harder to locate so be sure to use your Wave Receiver. + +![383870_screenshots_20161228115633_1.webp](/cdn/cassettelocations/383870_screenshots_20161228120154_1.webp) + +![383870_screenshots_20161228115644_1.webp](/cdn/cassettelocations/383870_screenshots_20161228120207_1.webp) + +--- + +## Fourth Cassette + +- The fourth cassette contains tracks 13 - 16. It is quite a bit harder to find and took me nearly an hour to find myself (which is why the screenshot is during the night). You will find in the Cottonwood Creek past the large tree marking the entrance. It will be laying upon a nearby rock. + +![383870_screenshots_20161228115633_1.webp](/cdn/cassettelocations/383870_screenshots_20161228125301_1.webp) + +![383870_screenshots_20161228115644_1.webp](/cdn/cassettelocations/383870_screenshots_20161228125309_1.webp) + +--- + +## Fifth Cassette + +- This is the final cassette and it contains tracks 17 - 20. It is located near the Two Forks lookout, past some fallen fences.The fallen fences lead to a trail called Thorofare Trail. Continue onwards down this trail and you'll eventually reach a bunch of rocks blocking the way. The cassette will be located infront of the impassable rocks. + +![383870_screenshots_20161228115633_1.webp](/cdn/cassettelocations/383870_screenshots_20161228125549_1.webp) + +![383870_screenshots_20161228115644_1.webp](/cdn/cassettelocations/383870_screenshots_20161228125559_1.webp) + +# Credit +[Original Post](https://steamcommunity.com/sharedfiles/filedetails/?id=828405246) + +[Headcrab Rights Activist](https://steamcommunity.com/id/headcrabrightsactivist) 🏳️‍⚧️ \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/content/codeofconduct.md similarity index 97% rename from CODE_OF_CONDUCT.md rename to content/codeofconduct.md index 9a49dca..7fec57f 100644 --- a/CODE_OF_CONDUCT.md +++ b/content/codeofconduct.md @@ -1,5 +1,7 @@ -# Contributor Covenant Code of Conduct - +--- +date: "12-09-2021" +title: "Contributor Covenant Code of Conduct" +--- ## Our Pledge We as members, contributors, and leaders pledge to make participation in our @@ -125,4 +127,4 @@ enforcement ladder](https://github.com/mozilla/diversity). For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. +https://www.contributor-covenant.org/translations. \ No newline at end of file diff --git a/content/gallery/_index.md b/content/gallery/_index.md new file mode 100644 index 0000000..b4cf67e --- /dev/null +++ b/content/gallery/_index.md @@ -0,0 +1,19 @@ +--- +date: "07-02-2021" +title: "The Gallery" +toc: false +--- + +# This is where you can showcase your firewatch pictures. + +A template will be coming soon. + +--- + +# Community Firewatch Photos + +--- + +### [Sophia Atkinson Firewatch Photos](/gallery/sophia) + +### [Deadwood Lookout Photos (IRL)](/gallery/deadwoodlookout) diff --git a/content/gallery/deadwoodlookout/_index.md b/content/gallery/deadwoodlookout/_index.md new file mode 100644 index 0000000..dceb608 --- /dev/null +++ b/content/gallery/deadwoodlookout/_index.md @@ -0,0 +1,22 @@ +--- +date: "08-08-2021" +title: "Deadwood Lookout Photos (IRL)" +--- +# Deadwood lookout in the Boise National Forest + +--- + +

0

+ +

0

+ +

0

+ +

0

+ + +--- + +## Photos Taken By [Dog Hair Tumbleweeds](https://doghairtumbleweeds.com/) + +*These Photos are under the GNU General Public License v3.0, Please look at the License before redistributing.* diff --git a/content/gallery/deadwoodlookout/i/lookoutday.webp b/content/gallery/deadwoodlookout/i/lookoutday.webp new file mode 100644 index 0000000..2c18fae Binary files /dev/null and b/content/gallery/deadwoodlookout/i/lookoutday.webp differ diff --git a/content/gallery/deadwoodlookout/i/lookoutinside.webp b/content/gallery/deadwoodlookout/i/lookoutinside.webp new file mode 100644 index 0000000..7a7ddcd Binary files /dev/null and b/content/gallery/deadwoodlookout/i/lookoutinside.webp differ diff --git a/content/gallery/deadwoodlookout/i/lookoutnight.webp b/content/gallery/deadwoodlookout/i/lookoutnight.webp new file mode 100644 index 0000000..47ebf5d Binary files /dev/null and b/content/gallery/deadwoodlookout/i/lookoutnight.webp differ diff --git a/content/gallery/deadwoodlookout/i/lookoutsign.webp b/content/gallery/deadwoodlookout/i/lookoutsign.webp new file mode 100644 index 0000000..2d9328d Binary files /dev/null and b/content/gallery/deadwoodlookout/i/lookoutsign.webp differ diff --git a/content/gallery/sophia/_index.md b/content/gallery/sophia/_index.md new file mode 100644 index 0000000..2272573 --- /dev/null +++ b/content/gallery/sophia/_index.md @@ -0,0 +1,63 @@ +--- +date: "07-02-2021" +title: "Sophia Atkinson Firewatch Photos" +--- + +

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+ +*These Photos are under the GNU General Public License v3.0, Please look at the License before redistributing.* diff --git a/content/gallery/sophia/i/1_photo_1.webp b/content/gallery/sophia/i/1_photo_1.webp new file mode 100644 index 0000000..c664467 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_1.webp differ diff --git a/content/gallery/sophia/i/1_photo_10.webp b/content/gallery/sophia/i/1_photo_10.webp new file mode 100644 index 0000000..422f803 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_10.webp differ diff --git a/content/gallery/sophia/i/1_photo_11.webp b/content/gallery/sophia/i/1_photo_11.webp new file mode 100644 index 0000000..2184d87 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_11.webp differ diff --git a/content/gallery/sophia/i/1_photo_12.webp b/content/gallery/sophia/i/1_photo_12.webp new file mode 100644 index 0000000..eff4f44 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_12.webp differ diff --git a/content/gallery/sophia/i/1_photo_13.webp b/content/gallery/sophia/i/1_photo_13.webp new file mode 100644 index 0000000..d9ebf67 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_13.webp differ diff --git a/content/gallery/sophia/i/1_photo_2.webp b/content/gallery/sophia/i/1_photo_2.webp new file mode 100644 index 0000000..37c118c Binary files /dev/null and b/content/gallery/sophia/i/1_photo_2.webp differ diff --git a/content/gallery/sophia/i/1_photo_5.webp b/content/gallery/sophia/i/1_photo_5.webp new file mode 100644 index 0000000..651f646 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_5.webp differ diff --git a/content/gallery/sophia/i/1_photo_6.webp b/content/gallery/sophia/i/1_photo_6.webp new file mode 100644 index 0000000..56f082f Binary files /dev/null and b/content/gallery/sophia/i/1_photo_6.webp differ diff --git a/content/gallery/sophia/i/1_photo_7.webp b/content/gallery/sophia/i/1_photo_7.webp new file mode 100644 index 0000000..90c4f81 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_7.webp differ diff --git a/content/gallery/sophia/i/1_photo_8.webp b/content/gallery/sophia/i/1_photo_8.webp new file mode 100644 index 0000000..940f2b4 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_8.webp differ diff --git a/content/gallery/sophia/i/1_photo_9.webp b/content/gallery/sophia/i/1_photo_9.webp new file mode 100644 index 0000000..5364ca7 Binary files /dev/null and b/content/gallery/sophia/i/1_photo_9.webp differ diff --git a/content/gallery/sophia/i/2_photo_1.webp b/content/gallery/sophia/i/2_photo_1.webp new file mode 100644 index 0000000..f6152b7 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_1.webp differ diff --git a/content/gallery/sophia/i/2_photo_10.webp b/content/gallery/sophia/i/2_photo_10.webp new file mode 100644 index 0000000..4389569 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_10.webp differ diff --git a/content/gallery/sophia/i/2_photo_2.webp b/content/gallery/sophia/i/2_photo_2.webp new file mode 100644 index 0000000..3d78acb Binary files /dev/null and b/content/gallery/sophia/i/2_photo_2.webp differ diff --git a/content/gallery/sophia/i/2_photo_3.webp b/content/gallery/sophia/i/2_photo_3.webp new file mode 100644 index 0000000..18d020b Binary files /dev/null and b/content/gallery/sophia/i/2_photo_3.webp differ diff --git a/content/gallery/sophia/i/2_photo_4.webp b/content/gallery/sophia/i/2_photo_4.webp new file mode 100644 index 0000000..c5425e0 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_4.webp differ diff --git a/content/gallery/sophia/i/2_photo_5.webp b/content/gallery/sophia/i/2_photo_5.webp new file mode 100644 index 0000000..8f8a56f Binary files /dev/null and b/content/gallery/sophia/i/2_photo_5.webp differ diff --git a/content/gallery/sophia/i/2_photo_6.webp b/content/gallery/sophia/i/2_photo_6.webp new file mode 100644 index 0000000..b60ce89 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_6.webp differ diff --git a/content/gallery/sophia/i/2_photo_7.webp b/content/gallery/sophia/i/2_photo_7.webp new file mode 100644 index 0000000..b435f49 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_7.webp differ diff --git a/content/gallery/sophia/i/2_photo_8.webp b/content/gallery/sophia/i/2_photo_8.webp new file mode 100644 index 0000000..b52adb5 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_8.webp differ diff --git a/content/gallery/sophia/i/2_photo_9.webp b/content/gallery/sophia/i/2_photo_9.webp new file mode 100644 index 0000000..7ad3d94 Binary files /dev/null and b/content/gallery/sophia/i/2_photo_9.webp differ diff --git a/content/gallery/sophia/i/3_photo_1.webp b/content/gallery/sophia/i/3_photo_1.webp new file mode 100644 index 0000000..4efb35b Binary files /dev/null and b/content/gallery/sophia/i/3_photo_1.webp differ diff --git a/content/gallery/sophia/i/3_photo_10.webp b/content/gallery/sophia/i/3_photo_10.webp new file mode 100644 index 0000000..a1d8eb5 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_10.webp differ diff --git a/content/gallery/sophia/i/3_photo_11.webp b/content/gallery/sophia/i/3_photo_11.webp new file mode 100644 index 0000000..fdeed87 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_11.webp differ diff --git a/content/gallery/sophia/i/3_photo_12.webp b/content/gallery/sophia/i/3_photo_12.webp new file mode 100644 index 0000000..b6256f0 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_12.webp differ diff --git a/content/gallery/sophia/i/3_photo_13.webp b/content/gallery/sophia/i/3_photo_13.webp new file mode 100644 index 0000000..00cb249 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_13.webp differ diff --git a/content/gallery/sophia/i/3_photo_14.webp b/content/gallery/sophia/i/3_photo_14.webp new file mode 100644 index 0000000..6e2878e Binary files /dev/null and b/content/gallery/sophia/i/3_photo_14.webp differ diff --git a/content/gallery/sophia/i/3_photo_15.webp b/content/gallery/sophia/i/3_photo_15.webp new file mode 100644 index 0000000..6e3b90a Binary files /dev/null and b/content/gallery/sophia/i/3_photo_15.webp differ diff --git a/content/gallery/sophia/i/3_photo_16.webp b/content/gallery/sophia/i/3_photo_16.webp new file mode 100644 index 0000000..f0d272a Binary files /dev/null and b/content/gallery/sophia/i/3_photo_16.webp differ diff --git a/content/gallery/sophia/i/3_photo_17.webp b/content/gallery/sophia/i/3_photo_17.webp new file mode 100644 index 0000000..7b3c19a Binary files /dev/null and b/content/gallery/sophia/i/3_photo_17.webp differ diff --git a/content/gallery/sophia/i/3_photo_18.webp b/content/gallery/sophia/i/3_photo_18.webp new file mode 100644 index 0000000..d6c42f9 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_18.webp differ diff --git a/content/gallery/sophia/i/3_photo_2.webp b/content/gallery/sophia/i/3_photo_2.webp new file mode 100644 index 0000000..d71cd0c Binary files /dev/null and b/content/gallery/sophia/i/3_photo_2.webp differ diff --git a/content/gallery/sophia/i/3_photo_3.webp b/content/gallery/sophia/i/3_photo_3.webp new file mode 100644 index 0000000..7f946cd Binary files /dev/null and b/content/gallery/sophia/i/3_photo_3.webp differ diff --git a/content/gallery/sophia/i/3_photo_4.webp b/content/gallery/sophia/i/3_photo_4.webp new file mode 100644 index 0000000..228739a Binary files /dev/null and b/content/gallery/sophia/i/3_photo_4.webp differ diff --git a/content/gallery/sophia/i/3_photo_5.webp b/content/gallery/sophia/i/3_photo_5.webp new file mode 100644 index 0000000..eab67d9 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_5.webp differ diff --git a/content/gallery/sophia/i/3_photo_6.webp b/content/gallery/sophia/i/3_photo_6.webp new file mode 100644 index 0000000..eb34fef Binary files /dev/null and b/content/gallery/sophia/i/3_photo_6.webp differ diff --git a/content/gallery/sophia/i/3_photo_7.webp b/content/gallery/sophia/i/3_photo_7.webp new file mode 100644 index 0000000..d7069d3 Binary files /dev/null and b/content/gallery/sophia/i/3_photo_7.webp differ diff --git a/content/gallery/sophia/i/3_photo_8.webp b/content/gallery/sophia/i/3_photo_8.webp new file mode 100644 index 0000000..8605c7c Binary files /dev/null and b/content/gallery/sophia/i/3_photo_8.webp differ diff --git a/content/gallery/sophia/i/3_photo_9.webp b/content/gallery/sophia/i/3_photo_9.webp new file mode 100644 index 0000000..3d5332a Binary files /dev/null and b/content/gallery/sophia/i/3_photo_9.webp differ diff --git a/content/gallery/sophia/i/4_photo_1.webp b/content/gallery/sophia/i/4_photo_1.webp new file mode 100644 index 0000000..fe085c6 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_1.webp differ diff --git a/content/gallery/sophia/i/4_photo_10.webp b/content/gallery/sophia/i/4_photo_10.webp new file mode 100644 index 0000000..5cb1e1b Binary files /dev/null and b/content/gallery/sophia/i/4_photo_10.webp differ diff --git a/content/gallery/sophia/i/4_photo_11.webp b/content/gallery/sophia/i/4_photo_11.webp new file mode 100644 index 0000000..6a2510c Binary files /dev/null and b/content/gallery/sophia/i/4_photo_11.webp differ diff --git a/content/gallery/sophia/i/4_photo_12.webp b/content/gallery/sophia/i/4_photo_12.webp new file mode 100644 index 0000000..9982eb5 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_12.webp differ diff --git a/content/gallery/sophia/i/4_photo_13.webp b/content/gallery/sophia/i/4_photo_13.webp new file mode 100644 index 0000000..2a9ff4c Binary files /dev/null and b/content/gallery/sophia/i/4_photo_13.webp differ diff --git a/content/gallery/sophia/i/4_photo_14.webp b/content/gallery/sophia/i/4_photo_14.webp new file mode 100644 index 0000000..4249431 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_14.webp differ diff --git a/content/gallery/sophia/i/4_photo_15.webp b/content/gallery/sophia/i/4_photo_15.webp new file mode 100644 index 0000000..5be20f7 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_15.webp differ diff --git a/content/gallery/sophia/i/4_photo_16.webp b/content/gallery/sophia/i/4_photo_16.webp new file mode 100644 index 0000000..b3f61cc Binary files /dev/null and b/content/gallery/sophia/i/4_photo_16.webp differ diff --git a/content/gallery/sophia/i/4_photo_17.webp b/content/gallery/sophia/i/4_photo_17.webp new file mode 100644 index 0000000..3ac97f2 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_17.webp differ diff --git a/content/gallery/sophia/i/4_photo_18.webp b/content/gallery/sophia/i/4_photo_18.webp new file mode 100644 index 0000000..b1223fc Binary files /dev/null and b/content/gallery/sophia/i/4_photo_18.webp differ diff --git a/content/gallery/sophia/i/4_photo_2.webp b/content/gallery/sophia/i/4_photo_2.webp new file mode 100644 index 0000000..6e955ff Binary files /dev/null and b/content/gallery/sophia/i/4_photo_2.webp differ diff --git a/content/gallery/sophia/i/4_photo_3.webp b/content/gallery/sophia/i/4_photo_3.webp new file mode 100644 index 0000000..5a3df3f Binary files /dev/null and b/content/gallery/sophia/i/4_photo_3.webp differ diff --git a/content/gallery/sophia/i/4_photo_4.webp b/content/gallery/sophia/i/4_photo_4.webp new file mode 100644 index 0000000..269c877 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_4.webp differ diff --git a/content/gallery/sophia/i/4_photo_5.webp b/content/gallery/sophia/i/4_photo_5.webp new file mode 100644 index 0000000..86727ce Binary files /dev/null and b/content/gallery/sophia/i/4_photo_5.webp differ diff --git a/content/gallery/sophia/i/4_photo_6.webp b/content/gallery/sophia/i/4_photo_6.webp new file mode 100644 index 0000000..f170beb Binary files /dev/null and b/content/gallery/sophia/i/4_photo_6.webp differ diff --git a/content/gallery/sophia/i/4_photo_7.webp b/content/gallery/sophia/i/4_photo_7.webp new file mode 100644 index 0000000..a9bda54 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_7.webp differ diff --git a/content/gallery/sophia/i/4_photo_8.webp b/content/gallery/sophia/i/4_photo_8.webp new file mode 100644 index 0000000..b98e349 Binary files /dev/null and b/content/gallery/sophia/i/4_photo_8.webp differ diff --git a/content/gallery/sophia/i/4_photo_9.webp b/content/gallery/sophia/i/4_photo_9.webp new file mode 100644 index 0000000..049603d Binary files /dev/null and b/content/gallery/sophia/i/4_photo_9.webp differ diff --git a/content/info/_index.md b/content/info/_index.md new file mode 100644 index 0000000..dfceb06 --- /dev/null +++ b/content/info/_index.md @@ -0,0 +1,12 @@ +--- +date: "06-07-2021" +title: "Misc Info" +--- + +## Table Of Contents + +### [Project Info](/info/project) + +### [Campo Santo](/info/camposanto) + +### [Firewatch](/info/firewatch) \ No newline at end of file diff --git a/info/camposanto/index.md b/content/info/camposanto.md similarity index 74% rename from info/camposanto/index.md rename to content/info/camposanto.md index b020656..da82014 100644 --- a/info/camposanto/index.md +++ b/content/info/camposanto.md @@ -1,14 +1,15 @@ -![Campo Santo Logo](/cdn/info/camposanto/logo.png) +--- +date: "06-07-2021" +title: "Campo Santo" +--- + +![Campo Santo Logo](/cdn/info/camposanto/logo.webp) --- -### [Home](/) - ---- - -### Campo Santo Productions LLC was founded September 2013 in Bellevue, Washington by Sean Vanaman, Jake Rodkin, Nels Anderson, and Olly Moss. +### Campo Santo Productions LLC is an American video game developer based in Bellevue, Washington. Founded in September 2013 by Sean Vanaman, Jake Rodkin, Nels Anderson, and Olly Moss, the studio is best known for its debut game released in 2016, Firewatch. In April 2018, the company was acquired by Valve. -### In August 2014, a game demo of Firewatch was released at PAX West, The game was released for Microsoft Windows, PlayStation 4, OS X, Linux, and Xbox One in late 2016. +### In August 2014, a game demo of Firewatch was released at PAX West, revealing the overall plotline and story of a fire lookout named Henry in the Shoshone National Forest in 1989. The game was released for Microsoft Windows, PlayStation 4, OS X, Linux, and Xbox One in late 2016. The game received positive reviews from critics, and has been nominatively known alongside other "walking simulators". The original score to Firewatch by Chris Remo was released digitally alongside the game, and received a vinyl release later in 2016. ### In February 2016, Vanaman stated that Campo Santo's next game would not be a sequel to Firewatch. In September 2016, both Campo Santo and Good Universe issued a partnership to produce a feature film adaptation of Firewatch and other content. In November 2016, the company stated that the game would begin a limited-run physical release towards the end of the year. At the same time, it was announced that Firewatch had sold over a million copies. @@ -33,9 +34,3 @@ Jane Ng --- Credits [Wikipedia](https://en.wikipedia.org/wiki/Campo_Santo_(company)) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/content/info/firewatch.md b/content/info/firewatch.md new file mode 100644 index 0000000..4b61add --- /dev/null +++ b/content/info/firewatch.md @@ -0,0 +1,76 @@ +--- +date: "06-07-2021" +title: "Firewatch" +--- +![firewatch_subpage_mainlogo@2x](/cdn/info/Firewatch/firewatch_subpage_mainlogo@2x.webp) + +Firewatch is an adventure game developed by Campo Santo and published by the developer in partnership with Panic. The game was released in February 2016 for Linux, OS X, PlayStation 4, Windows, and for Xbox One in September 2016, and for Nintendo Switch in December 2018. + +The story follows a fire lookout named Henry who works in Shoshone National Forest, a year after the Yellowstone fires of 1988. A month after his first day at work, strange things begin happening to him and his supervisor Delilah, which connects to a conspired mystery that happened years ago. Henry interacts with Delilah using a walkie-talkie, with the player choosing from dialog options to communicate. His exchanges with Delilah inform the process by which their relationship is developed. The game was directed by Olly Moss and Sean Vanaman, written by Chris Remo, Jake Rodkin, Moss and Vanaman, and produced by Gabe McGill and artist Jane Ng. The game's environment was modelled by Ng, based on a single painting by Moss. The design draws inspiration from New Deal advertisements by the National Park Service and field research conducted in Yosemite National Park. + +The game received generally positive reviews, earning praise for its story, characters, dialogue, and visual style, yet the presence of technical issues and the game's ending were both subjects of criticism. Firewatch won the award for Best 3D Visual Experience at the Unity Awards 2016, Best Indie Game at the 2016 Golden Joystick Awards, Best Narrative at the 2017 Game Developers Choice Awards and Debut Game at the 2017 British Academy Games Awards. By late 2016, the game had sold over a million copies. +--- + +## Plot + +In the spring of 1989, after his wife develops early-onset dementia, Henry (Rich Sommer) takes a job as a fire lookout in Shoshone National Forest, Wyoming. On his first day, Delilah (Cissy Jones), a lookout in another watchtower, contacts him via walkie-talkie and asks him to investigate illegal fireworks by the lake. Henry discovers a pair of teenage girls, who accuse him of leering. On his way back to his tower, he comes across a locked cave and spots a shadowy figure watching him before disappearing. He returns to his watchtower to find it ransacked. The next day, Delilah asks Henry to investigate a downed communication line. He finds it cut, with a note apparently signed by the teens. + +Henry finds an old backpack and a disposable camera belonging to a boy named Brian Goodwin, who Delilah explains was the son of Ned, a former lookout. Ned was an outdoorsman who drank heavily due to his traumatic experiences in the Vietnam War, while his son, Brian, enjoyed fantasy novels and role-playing games. Though it is against the rules for employees to bring their children to the towers, Delilah was fond of Brian and lied about his presence. He and Ned apparently left abruptly and never returned. + +Henry and Delilah plot to scare the teenage girls off, but when Henry finds their campsite ransacked and abandoned, they begin to worry. The teens are reported missing. Fearing an inquiry, Delilah falsifies reports to say that neither she nor Henry encountered the girls. + +Two months after Henry started his job, a small wildfire breaks out south of his tower. Two weeks later, Henry discovers a radio and a clipboard while fishing, with notes including transcripts of his conversations with Delilah. He is suddenly beaten unconscious by an unseen assailant and wakes up to find the clipboard and radio gone. In a meadow referred to on the clipboard letterhead, he finds a fenced-off government research area. He breaks in and discovers surveillance equipment and typewritten reports detailing his and Delilah's conversations and private lives. He also discovers a tracking device and takes it with him. Disturbed by this discovery, Henry and Delilah discuss destroying the government camp but decide against it. As Henry hikes home, someone sets fire to the camp. + +The next day, Henry uses the tracking device to find a backpack with a key to the locked cave. Delilah reports a figure in Henry's tower; when Henry arrives, he finds a Walkman taped to the door with an incriminating recording of Henry and Delilah's discussion about destroying the government camp. The next day, someone impersonating Henry calls another lookout and claims that Delilah knows the cause of the station fire, putting her and Henry more on edge. + +Henry uses the found key to enter the cave but is suddenly locked inside by an unseen figure. Deep in the cave, Henry discovers the decayed body of Brian Goodwin. Determining that he died trying to climb in the cave, Henry escapes the cave and reports it to Delilah who becomes upset by the news. The next day, an evacuation order is given for all the lookouts, as the wildfire that Henry had spotted earlier has grown out of control after merging with the government camp fire. + +As Henry prepares to leave, the tracking device begins beeping. He follows the signal and discovers a tape from Ned Goodwin. Ned claims that Brian's death was accidental, and that the boy fell due to climbing inexperience. Unwilling to return to society after Brian's death, Ned secretly lived in the area ever since. Choosing to venture deeper into the wilderness, Ned warns Henry not to look for him. Henry finds Ned's makeshift bunker, along with items stolen from the government camp, the lookout towers, and the teenage girls, who Delilah confirms have been found safe. The government camp was simply studying wildlife; Ned had been using its radio equipment to ensure that no one was looking for him and to create transcripts to scare Henry away. Despite Ned’s confession, Delilah blames him for Brian's death and leaves on the rescue helicopter. Henry goes to her tower, and he and Delilah say their goodbyes via radio before Henry evacuates. + +--- + +## Development and release + +Firewatch is the first video game from Campo Santo and was created by Jake Rodkin and Sean Vanaman, who were the creative leads on The Walking Dead; Nels Anderson, the lead designer of Mark of the Ninja; and artist Olly Moss. Chris Remo was involved in many aspects of the design and also composed the score. Development for Firewatch began with a single painting by Moss. Jane Ng, lead environmental artist at Campo Santo, was tasked with translating Moss' work into 3D environments while maintaining his stylized artistic vision. Moss, who had previously been known primarily for his graphic design work, had joined Vanaman and Rodkin to found Campo Santo after spending many years working on the periphery of game development. In creating the painting, Moss emulated National Park Service posters from the New Deal era in both color palette and iconography. The development team went on a camping trip to Yosemite National Park for inspiration for the game, where they visited a lookout tower built with the same design as its video game counterpart.Further inspiration for the game came from Vanaman and Anderson's experiences growing up in rural Wyoming. + +Firewatch runs on the Unity game engine. Ng disapproved of the tools for creating trees and therefore hand-modeled the 23 kinds of trees that would be placed within the game 4,600 times. A custom shader was also employed to produce more stylized and simplified foliage. The in-game fire lookout towers were built in accordance with government specifications, utilizing standard lumber size, after Ng's first attempt was unsatisfactory. + +The walkie-talkie interaction in Firewatch is inspired by the relationship in BioShock between the player character and Atlas, as well as the dialog system from The Walking Dead. At one point in the development, it was intended that the protagonist would be able to communicate with multiple characters, such as hikers, but the idea was discarded due to its expense and the schedule requirements with which the team were working. The team hoped to avoid lip syncing and minimize the amount of animation needed due to the limited team size and resources. The developers cast Cissy Jones, who appeared in The Walking Dead, as the voice of Delilah in 2014. It took longer to find a voice actor for Henry whom the developers felt jibed with Jones; they ultimately cast Rich Sommer. Jones and Sommer recorded their lines in separate studios, but while on conference calls with each other to achieve a more natural rapport. The actors made a decision not to meet during production to maintain the distance between their characters. + +The game's opening chapter features the song "Push Play" from Joy Chun and Nate Bosley's 2014 synthwave album Let's Get Electric, which depicts a fictitious 1980s synthpop act known as Cheap Talk. Taylor Dayne's "Tell It to My Heart" was used as a placeholder in the scene, but Vanaman conceded that the song was too overwhelming and would cost too much to license. Upon the realization that it would also be too costly to commission a song, Remo sought a song in the style of the 1980s by an unsigned, independent artist, leading to the use of "Push Play". The score features a combination of electric and acoustic guitar, bass and electric piano, with samples of Fender Rhodes as a substitute for the actual piano. Remo played all of the instruments himself. + +The game was announced in March 2014 with a tentative release date of 2015. At GDC, Campo Santo housed a public playtest, and Ng hosted a panel on the design and aesthetic of the game entitled "The Art of Firewatch". In June 2015, the team visited E3. There, they confirmed that they would be bringing the game to PlayStation 4, but that this would be the only console version. However, an Xbox One version was later released in North America on September 21, 2016, featuring an audio tour and a free roam mode. Due to ratings issues, the version was delayed in Europe until September 30 and in Australia and New Zealand until October 14. + +Users of the HTC Vive and Oculus Rift virtual reality headsets can tour Henry's lookout tower using the Steam application Destinations. For this purpose, the scene was rebuilt on the Source game engine. Firewatch was made compatible with PlayStation 4 Pro on its November 10 launch, with enhanced performance through 4K resolution and high-dynamic-range imaging. The free roam mode was enabled for PlayStation 4 Pro and Steam shortly thereafter. Partnering with Limited Run Games, Campo Santo distributed under ten thousand physical copies of the game on PlayStation 4. 4,800 copies were made available for order on the Limited Run Games website on December 16, 2016, while 2,500 were sold through the Campo Santo online store starting January 16, 2017. In April 2018, Campo Santo announced the game would be released for Nintendo Switch later in the year. It was later clarified that the Nintendo Switch port would be a heavily optimised version of the game, and the update would also be available for other platforms. Additionally, the Nintendo Switch version featured some exclusive elements. Campo Santo later confirmed, via Twitter, the worldwide release date for the Nintendo Switch port as December 17, 2018. + +--- + + +## Reception + +Firewatch received "generally favorable" reviews, according to review aggregator Metacritic. The game sold more than five hundred thousand copies within a month of its release and over one million copies by the end of its first year. As of 2018, Firewatch has sold over 2.5 million copies across all platforms. + +Steven Hansen at Destructoid welcomed the choice-based dialogue tree gameplay, going on to praise the dialog itself, as well as the voice performances. The game's most impressive achievement, as stated by Hansen, was the "thematic cohesion", which was said to revolve around self-imposed isolation. The sound design was lauded to have evoked a Hitchcockian sense of fear. Reviewing Firewatch, Game Informer's Jeff Cork wrote, "I was immediately drawn into the game's world, partly because of the power of its simple text intro, and also because of the novelty of taking part in something so mundane". Cork observed that its interactive dialog, though simple, "breathes life into the game" and called the conversations "natural" and "engaging". He enjoyed exploring the forest environment, yet felt the ending was unsatisfactory. + +Scott Butterworth of GameSpot thought that the analog navigation tools – a hand-held compass and paper map – were "immersive" but "occasionally frustrating". He found that the visual beauty of the setting allowed for a more rewarding form of exploration and noted that the sound design complemented the depth of its atmosphere. Judging the development of the characters through dialog to be "bold" and "admirable", he opined that it served as "a patient, reflective examination of how two people grow to trust and care for each other". According to Butterworth, the voice acting was brilliant and layered with emotional nuance, as he had evolved a strong attachment to the characters. GamesRadar's Justin Towell described Firewatch as "one of the most enthralling slices of entertainment I've ever experienced". He commended the voice acting for having successfully defined each character's personality traits. Towell added that the music, alongside the sound design, worked well in service of the atmosphere. However, he disparaged a few noticeable continuity problems that left him disillusioned. + +Ryan McCaffrey at IGN hailed the sense of realism elicited by the setting, despite the stylized level design and artwork. He also approved of the script, saying that voice acting enhanced it further. Of the writing, McCaffrey said, "It's tense, scary, and funny – sometimes all within a few minutes of each other. Not a lot of games can successfully claim that". He deemed the ending polarizing because of the story's promising escalation. Polygon's Colin Campbell appreciated the use of humor and empathy to develop the characters, considered the game's mystery to be successful and the story to be "elegant" and "satisfying". He criticized the conclusion, regarding it as unsuccessful. + +--- + +## Here are some concept sketches during development. + +![Sketch](/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.webp) +![Sketch](/cdn/info/Firewatch/Et2U6VBVkAIKp9v.webp) +![Sketch](/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.webp) +![Sketch](/cdn/info/Firewatch/Et2VBwwVEAIw1p-.webp) +![Sketch](/cdn/info/Firewatch/Et2VDdAVcAMvC7t.webp) + +--- + +## Credits + +[Wikipedia](https://en.wikipedia.org/wiki/Firewatch) + +[Campo Santo Twitter](https://twitter.com/camposanto/status/1359403257437712388) + diff --git a/content/info/project/_index.md b/content/info/project/_index.md new file mode 100644 index 0000000..3144fa7 --- /dev/null +++ b/content/info/project/_index.md @@ -0,0 +1,11 @@ +--- +date: "06-09-2021" +title: "Project Info" +--- +## Table Of Contents + +### [Contributors](/info/project/contributors) + +### [Thank you](/info/project/thanks) + +### [Change Log](/info/project/changelog) diff --git a/info/project/index.md b/content/info/project/changelog.md similarity index 68% rename from info/project/index.md rename to content/info/project/changelog.md index 5506078..75cd72d 100644 --- a/info/project/index.md +++ b/content/info/project/changelog.md @@ -1,16 +1,9 @@ -# Project info/news and more - +--- +date: "09-05-2023" +title: "Change Log" --- -# This page has been deprecated. - ---- - -### [Home](/) - ---- - -# July Change Log +# July 2021 Change Log - Firewatch Gallery Added - Changed footer @@ -21,5 +14,5 @@ - Added archives page - Removed archives page because it had flaws -# August Change Log +# August 2021 Change Log - Added archives pages back diff --git a/content/info/project/contributors.md b/content/info/project/contributors.md new file mode 100644 index 0000000..e998e0f --- /dev/null +++ b/content/info/project/contributors.md @@ -0,0 +1,52 @@ +--- +date: "09-04-2023" +title: "Contributors" +--- +# Project Contributors + +- ### [Sophia Atkinson](https://git.oldgate.org/sophia/): Project Creator + +- ### [Jamie Lu](https://git.oldgate.org/Jamie): Inital Guide Curator + +- ### [Wade Waters](https://git.oldgate.org/wade/): Project Maintainer + +- ### [Nully Hoffmann](https://git.oldgate.org/null): Dead Link Snuffer + +# Theme Contributors + +- ### [Heydon Pickering](https://github.com/Heydon): Theme Creator + +- ### [Zachary Wade Betz](https://github.com/zwbetz-gh): ([New](https://github.com/zwbetz-gh/cupper-hugo-theme))Theme Maintainer + +- ### [Joe Mooring](https://github.com/jmooring): Help with list.html not rendering content + +- ### [EJ Mason](https://github.com/mxmason): Theme Contributor + +- ### [Rik Schennink](https://github.com/rikschennink): Theme Contributor + +- ### [Nevan Scott](https://github.com/nevanscott): Theme Contributor + +- ### [Sidharth R](https://github.com/sid-r-singh): Theme Contributor + +- ### [Nevan Scott](https://github.com/nevanscott): Theme Contributor + +- ### [Lucas Radaelli](https://github.com/lucasradaelli): Theme Contributor + +- ### [Brandon Simmons](https://github.com/jberryman): Theme Contributor + +- ### [Huija](https://github.com/huija): Theme Contributor + +- ### [Ahmet](https://github.com/ahaltindis): Theme Contributor + +- ### [Tanya Bouman](https://github.com/tanyabouman): Theme Contributor + +- ### [Daniel F. Dickinson](https://github.com/danielfdickinson): Theme Contributor + +- ### [Jules Fouchy](https://github.com/JulesFouchy): Theme Contributor + +- ### [Florian Kohrt](https://github.com/fkohrt): Theme Contributor + +- ### [Antonio Garro](https://github.com/antoniogarro): Theme Contributor + +- ### [Robert Ignatowicz](https://github.com/rignato): Theme Contributor + diff --git a/info/thanks/index.md b/content/info/project/thanks.md similarity index 73% rename from info/thanks/index.md rename to content/info/project/thanks.md index 1cf817e..9810dd5 100644 --- a/info/thanks/index.md +++ b/content/info/project/thanks.md @@ -1,10 +1,10 @@ -# This is where we thank all of you. - --- +date: "06-11-2021" +title: "Thank You" +--- + +### This is where we thank all of you. -### [Home](/) - - --- 6/11/2021 @@ -37,10 +37,4 @@ WoW 10,000,000 million page views, numbers like this are big, I don't know what --- 12/29/2021 -17,000,000 million page views, Thanks for all of the support on Project Firewatch, Hope to do some cool stuff very soon. Also Firewatch was updated after almost 4 years!! - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* +17,000,000 million page views, Thanks for all of the support on Project Firewatch, Hope to do some cool stuff very soon. Also Firewatch was updated after almost 4 years!! \ No newline at end of file diff --git a/playthrough/index.md b/content/playthrough.md similarity index 55% rename from playthrough/index.md rename to content/playthrough.md index 8d0189f..bc81e70 100644 --- a/playthrough/index.md +++ b/content/playthrough.md @@ -1,51 +1,38 @@ -# Firewatch Playthrough in 4K - ---- - -## You can watch it here or on youtube [here](https://www.youtube.com/watch?v=WxTp-I0O8TU) - ---- - -### [Home](/) - ---- - - - ---- - -Timestamps - -0:00 Prologue - -7:29 Day 1 - -23:43 Day 2 - -44:22 Day 3 - -48:02 Day 9 - -49:31 Day 15 - -53:02 Day 64 - -55:58 Day 76 - -1:10:35 Day 77 - -1:25:21 Day 77 (Night) - -1:29:20 Day 78 - -1:41:42 Day 79 (Evacuation) - -2:01:49 Credits - -*Also in pinned comment and description* - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* +--- +date: "07-10-2021" +title: "Firewatch Playthrough" +--- + + + +--- + +Timestamps + +0:00 Prologue + +7:29 Day 1 + +23:43 Day 2 + +44:22 Day 3 + +48:02 Day 9 + +49:31 Day 15 + +53:02 Day 64 + +55:58 Day 76 + +1:10:35 Day 77 + +1:25:21 Day 77 (Night) + +1:29:20 Day 78 + +1:41:42 Day 79 (Evacuation) + +2:01:49 Credits + +*Also in pinned comment and description* diff --git a/rights/LICENSE.md b/content/rights/LICENSE.txt similarity index 100% rename from rights/LICENSE.md rename to content/rights/LICENSE.txt diff --git a/content/rights/_index.md b/content/rights/_index.md new file mode 100644 index 0000000..b0b6547 --- /dev/null +++ b/content/rights/_index.md @@ -0,0 +1,19 @@ +--- +date: "06-07-2021" +title: "Project Rights" +--- + + +## This project is an open-source and community-run, all of the trademarked content on this site belongs to its original owners. + +--- + + +## I own content that is on this page and I want it removed. Well that sucks but go ahead and [email us](mailto:contact@projectfirewatch.com) + +--- + + +### This project is under the GNU General Public License v3.0 + +### The full thing can be found [here](./LICENSE.txt) diff --git a/shoshonebookclub/index.md b/content/shoshonebookclub.md similarity index 97% rename from shoshonebookclub/index.md rename to content/shoshonebookclub.md index d8e99be..9bac7da 100644 --- a/shoshonebookclub/index.md +++ b/content/shoshonebookclub.md @@ -1,5 +1,6 @@ -# Shoshone Book Club - +--- +date: "07-07-2021" +title: "Shoshone Book Club" --- Welcome, avid reader to the reading catalogue of the Friends of Shahone Book Club & Lending Library. Every title listed here is available thanks to Red Panda Press and Wyoming National Park Service. @@ -12,20 +13,15 @@ Note that titles marked as "pending" will not appear in their respective locatio --- -### [Home](/) - ---- - - # Book Map -![Book Map](/cdn/shoshonebookclub/625733417_preview_book_map.png) +![Book Map](/cdn/shoshonebookclub/625733417_preview_book_map.webp) --- # The Accidental Savior -![Book](/cdn/shoshonebookclub/625733417_preview_accidental_saviour.png) +![Book](/cdn/shoshonebookclub/625733417_preview_accidental_saviour.webp) - Author: Terrence L. Greenbriar - Publisher: Mercury Books @@ -375,14 +371,6 @@ by Howard Cruthers [Original Post](https://steamcommunity.com/sharedfiles/filedetails/?id=625733417) -# Guide by - [Cheeseness](https://steamcommunity.com/id/cheeseness) [Mimness](https://steamcommunity.com/id/Mim_Ness) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/shoshonewildlifenotes/index.md b/content/shoshonewildlifenotes.md similarity index 92% rename from shoshonewildlifenotes/index.md rename to content/shoshonewildlifenotes.md index 53995bc..da1e2f8 100644 --- a/shoshonewildlifenotes/index.md +++ b/content/shoshonewildlifenotes.md @@ -1,6 +1,8 @@ - # Shoshone Wildlife Notes - --- +date: "06-03-2021" +title: "Shoshone Wildlife Notes" +--- + Before continuing, be sure to play the game! @@ -8,22 +10,18 @@ The animal lists below contain location names which may be spoilers. The map doe --- -### [Home](/) +## Wildlife Map --- -# Wildlife Map +![Map](/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.webp) + +![Map Icons](/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.webp) --- -![Map](/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.png) - -![Map Icons](/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.png) - ---- - -# Bear - ![Bear Tree](/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.png) +## Bear + ![Bear Tree](/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.webp) I'd read that both Black Bears (Ursus americanus) and Grizzly Bears (Ursus arctos) can be found in the Shoshone National Forest, and I was anxious about the idea of encountering either during my stay. For better or worse, I only spotted signs of their presence. @@ -35,8 +33,8 @@ Along the trail from Cache 306 toward Jonesy Lake (clawed stump) --- -# Birds -![Birds](/cdn/shoshonewildlifenotes/631422921_preview_birds.png) +## Birds +![Birds](/cdn/shoshonewildlifenotes/631422921_preview_birds.webp) Upon arriving at Two Forks, I was glad to see a copy of George Sinclair's wonderful The Birds of Wyoming. I had forgotten to bring any bird reference books with me and had resigned myself to having to rely on memory to identify the Shashone birdlife. @@ -59,8 +57,8 @@ I have also heard woodpeckers, crows and other forest birds - even owls at night --- -# Elk -![Elk](/cdn/shoshonewildlifenotes/631422921_preview_elk.png) +## Elk +![Elk](/cdn/shoshonewildlifenotes/631422921_preview_elk.webp) A wild bull was grazing on the path as I hiked in from the Thorofare Trailhead. I was not prepared for just how big elk (Cervus canadensis) are. After getting over my surprise at the animal's mass, I studied it for a while. As soon as it caught my scent though, it bounded off. @@ -77,8 +75,8 @@ Toward the end of my visit, I spotted a deceased elk, which looked to have been --- -# Insect -![Insect](/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.png) +## Insect +![Insect](/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.webp) This place would be a lepidopterist's dream. No matter where I turn, I feel like I'm being bapped in the face by a moth or butterfly. They are too numerous to list individually, but I've spotted five distinct species: the Monarch (Danaus plexippus) with its distinctive orange and black markings, the yellow Tiger Swallowtail (Papilio glaucus), the Mourning Cloak (Nymphalis antiopa) with its deep maroon wings and creme trimming, an interesting variant of the American Painted Lady (Vanessa virginiensis) featuring ventral markings on its dorsal side, and the Cabbage Moth (Pieris rapae) - the butterfly that everybody calls a moth just because it doesn't have colourful markings. @@ -108,8 +106,8 @@ Beyond butterflies, I've also observed Blue Dasher dragonflies (Pachydiplax long --- -# Turtle -![Turtle](/cdn/shoshonewildlifenotes/631422921_preview_turt.png) +## Turtle +![Turtle](/cdn/shoshonewildlifenotes/631422921_preview_turt.webp) The Ornate Box Turtle (Terrapene ornata) is enormously cute, but difficult to spot. @@ -123,8 +121,8 @@ I've found five locations with signs of turtles, but once I've spotted or gotten --- -# Raccoon -![Raccoon](/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.png) +## Raccoon +![Raccoon](/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.webp) When I first spotted one of Wyoming's raccoons (Procyon lotor) in a small clearing, I was dismayed to see it wrestling with a packaged granola bar. The cache boxes around here may be bear proof, but they certainly don't seem to be resistant to those tiny hands and mischievous minds. @@ -136,10 +134,4 @@ As soon as it saw me, it scampered off, never to be seen again - or so I thought --- # Credits -[Cheeseness](https://steamcommunity.com/sharedfiles/filedetails/?id=631422921) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* +[Cheeseness](https://steamcommunity.com/sharedfiles/filedetails/?id=631422921) \ No newline at end of file diff --git a/transcription/index.md b/content/transcription.md similarity index 93% rename from transcription/index.md rename to content/transcription.md index d3030bf..c159c96 100644 --- a/transcription/index.md +++ b/content/transcription.md @@ -1,34 +1,29 @@ -# As of 7/2/2021 This page is no longer being worked on by staff, To people that would like to work on it feel free to. - ---- - -# BELOW ARE MAJOR SPOILERS! - ---- - -### [Home](/) - ---- - -# The Prologue - -You get options and you can pick whatever you want, But during the prologue, you start your 2-day hike up to your tower. When you get up to the tower you turn on your light, then you hear a walkie-talkie going off, saying "Hello two forks tower!". You say Hello to Delilah, who is your boss, you will be spending the rest of your time as a Firewatch with her. - ---- - -![Firewatch Intro Image](/cdn/arch.jpg) - ---- - -# Day One - Day 1 starts off with you (Henry) sitting at your desk getting some writing on your typewriter. Delilah chimes in on your walkie-talkie to say "good morning, or should I say good afternoon." Since there are a few hours of daylight left she wants to try to get some work in, Since it is your first day she wants to get you acquainted with the job, She wants you to look at the round table in the middle of your tower. "This is the Osbourne Fire Finder. Invented in 1914 by W.B..." You respond Osbourne?, "You use this to spot you guessed it, fi-what the fuck" Your quick run-through has been interrupted, by fireworks out your west-facing window. Now you have to go stop whoever is shooting off the Fireworks but to get down to the lake where the fireworks are going off you need a rope to get down the shale. Luckily there are these neat little supply boxes spread around the forest, "The code is "1-2-3-4" it's actually that for all of them" Delilah says. You open the box, there is a map and some notes, a map, and the rope, you copy the map to your map, read the note, then take the rope, there is a granola bar but, you decide to leave it. You make your way down the hill and then a little outcropping, you get to the shale slid, it's fairly steep, Delilah says that it's not named on their topos, so you decide to give it a name, you can name it 1 of 3 things, Cripple Gultch, Widowmaker, or Shitty boss is going to get me killed hill. I normally chose Cripple Gultch, but this time I chose, Shitty boss is going to get me killed hill. while going down the hill your rope snaps sending you down the shale, You survive but the name is fitting now. Coming down the hill you find a lot of empty beer cans, you decide to clean them up, keep the forest looking nice. The idiots down at the lake also decided to make a campfire, you put the fire out, then you find, a bottle of whiskey, a bundle of fireworks, two backpacks, then clothes. You tell Delilah about taking the fireworks, and then about the clothes, she makes a comment about "Nudie pyromaniacs." You start walking through some bushes, you find a bra, and two pairs of panties... There are two naked laddies in the lake setting off fireworks, You get their attention, but since they are teens they say this "Hey, you fucking fatso! Leave us alone." You tell them to take it easy with the fireworks. "You oughta take it easy with the Sizzler buffet." Now you let your anger get the best of you, you grab their boombox, and you through it in the lake... "Light another firework and it won't be your stereo I wreck." you say, now you make your way out of the lake, but since your rope broke you need to make your way through thunder canyon. "Hey, did that go okay?" Delilah asks, you lie and said it went fine. While you make your way back Delilah says, "So... I have a bit of a confession to make." "What is it?" you ask. "Um... Look, I was drunk last night when I welcomed you to the job." She apologies for being putting you on the spot about why your out here. You accept her apology. After that you keep walking, then you hear thunder, there is a storm out to the north of you. You find a supply box, you open it, and do your thing, you also find a flashlight in there. Then you find a cave, you go into the cave, part of the cave is gated off, they lost the keys a little while ago, so its secrets are locked away for good. You are very close to the tower when you see a light, then a figure, you tell Delilah, she makes fun of you. You climb up to the land of the tower, you lean on a sign, and boom you fall so does the sign. You walk up to the tower, you see your typewriter out on the ground by the stairs, you walk up the stairs with your typewriter, you find some broken glass, someone broke into the tower. They threw everything to shit, and they took your sheets, that's all they took. Delilah lets the forest service know what happened. You think that the girls at the lake did this. "I need you to feel safe out here," says Delilah, You ask her to locate you to the Forest service weapons cache. She says "Yeah... Someone made the decision years ago that leaving someone with a gun and infinite amounts of alone time was kinda a bad idea." That's Day one check back for Day Two soon. - ---- - -![Firewatch Intro Image](/cdn/pork.jpg) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* +--- +date: "06-03-2021" +title: "Transcription" +--- + +# As of 7/2/2021 This page is no longer being worked on by staff, To people that would like to work on it feel free to. + +--- + +# BELOW ARE MAJOR SPOILERS! + +--- + +# The Prologue + +You get options and you can pick whatever you want, But during the prologue, you start your 2-day hike up to your tower. When you get up to the tower you turn on your light, then you hear a walkie-talkie going off, saying "Hello two forks tower!". You say Hello to Delilah, who is your boss, you will be spending the rest of your time as a Firewatch with her. + +--- + +![Firewatch Intro Image](/cdn/arch.webp) + +--- + +# Day One + Day 1 starts off with you (Henry) sitting at your desk getting some writing on your typewriter. Delilah chimes in on your walkie-talkie to say "good morning, or should I say good afternoon." Since there are a few hours of daylight left she wants to try to get some work in, Since it is your first day she wants to get you acquainted with the job, She wants you to look at the round table in the middle of your tower. "This is the Osbourne Fire Finder. Invented in 1914 by W.B..." You respond Osbourne?, "You use this to spot you guessed it, fi-what the fuck" Your quick run-through has been interrupted, by fireworks out your west-facing window. Now you have to go stop whoever is shooting off the Fireworks but to get down to the lake where the fireworks are going off you need a rope to get down the shale. Luckily there are these neat little supply boxes spread around the forest, "The code is "1-2-3-4" it's actually that for all of them" Delilah says. You open the box, there is a map and some notes, a map, and the rope, you copy the map to your map, read the note, then take the rope, there is a granola bar but, you decide to leave it. You make your way down the hill and then a little outcropping, you get to the shale slid, it's fairly steep, Delilah says that it's not named on their topos, so you decide to give it a name, you can name it 1 of 3 things, Cripple Gultch, Widowmaker, or Shitty boss is going to get me killed hill. I normally chose Cripple Gultch, but this time I chose, Shitty boss is going to get me killed hill. while going down the hill your rope snaps sending you down the shale, You survive but the name is fitting now. Coming down the hill you find a lot of empty beer cans, you decide to clean them up, keep the forest looking nice. The idiots down at the lake also decided to make a campfire, you put the fire out, then you find, a bottle of whiskey, a bundle of fireworks, two backpacks, then clothes. You tell Delilah about taking the fireworks, and then about the clothes, she makes a comment about "Nudie pyromaniacs." You start walking through some bushes, you find a bra, and two pairs of panties... There are two naked laddies in the lake setting off fireworks, You get their attention, but since they are teens they say this "Hey, you fucking fatso! Leave us alone." You tell them to take it easy with the fireworks. "You oughta take it easy with the Sizzler buffet." Now you let your anger get the best of you, you grab their boombox, and you through it in the lake... "Light another firework and it won't be your stereo I wreck." you say, now you make your way out of the lake, but since your rope broke you need to make your way through thunder canyon. "Hey, did that go okay?" Delilah asks, you lie and said it went fine. While you make your way back Delilah says, "So... I have a bit of a confession to make." "What is it?" you ask. "Um... Look, I was drunk last night when I welcomed you to the job." She apologies for being putting you on the spot about why your out here. You accept her apology. After that you keep walking, then you hear thunder, there is a storm out to the north of you. You find a supply box, you open it, and do your thing, you also find a flashlight in there. Then you find a cave, you go into the cave, part of the cave is gated off, they lost the keys a little while ago, so its secrets are locked away for good. You are very close to the tower when you see a light, then a figure, you tell Delilah, she makes fun of you. You climb up to the land of the tower, you lean on a sign, and boom you fall so does the sign. You walk up to the tower, you see your typewriter out on the ground by the stairs, you walk up the stairs with your typewriter, you find some broken glass, someone broke into the tower. They threw everything to shit, and they took your sheets, that's all they took. Delilah lets the forest service know what happened. You think that the girls at the lake did this. "I need you to feel safe out here," says Delilah, You ask her to locate you to the Forest service weapons cache. She says "Yeah... Someone made the decision years ago that leaving someone with a gun and infinite amounts of alone time was kinda a bad idea." That's Day one check back for Day Two soon. + +--- + +![Firewatch Intro Image](/cdn/pork.webp) \ No newline at end of file diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 91d14f0..0000000 Binary files a/favicon.ico and /dev/null differ diff --git a/gallery/README.md b/gallery/README.md deleted file mode 100644 index c51c256..0000000 --- a/gallery/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# This is where you can showcase your firewatch pictures. - -A template will be coming soon. - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/gallery/deadwoodlookout/i/lookoutday.jpg b/gallery/deadwoodlookout/i/lookoutday.jpg deleted file mode 100644 index 9930b8a..0000000 Binary files a/gallery/deadwoodlookout/i/lookoutday.jpg and /dev/null differ diff --git a/gallery/deadwoodlookout/i/lookoutinside.jpg b/gallery/deadwoodlookout/i/lookoutinside.jpg deleted file mode 100644 index ac306ba..0000000 Binary files a/gallery/deadwoodlookout/i/lookoutinside.jpg and /dev/null differ diff --git a/gallery/deadwoodlookout/i/lookoutnight.jpg b/gallery/deadwoodlookout/i/lookoutnight.jpg deleted file mode 100644 index 8dc91f9..0000000 Binary files a/gallery/deadwoodlookout/i/lookoutnight.jpg and /dev/null differ diff --git a/gallery/deadwoodlookout/i/lookoutsign.jpg b/gallery/deadwoodlookout/i/lookoutsign.jpg deleted file mode 100644 index c5527ba..0000000 Binary files a/gallery/deadwoodlookout/i/lookoutsign.jpg and /dev/null differ diff --git a/gallery/deadwoodlookout/index.md b/gallery/deadwoodlookout/index.md deleted file mode 100644 index 75e38df..0000000 --- a/gallery/deadwoodlookout/index.md +++ /dev/null @@ -1,27 +0,0 @@ -# Deadwood lookout in the Boise National Forest - ---- - -### [Home](/) - ---- - -![0](/gallery/deadwoodlookout/i/lookoutsign.jpg) - -![0](/gallery/deadwoodlookout/i/lookoutday.jpg) - -![0](/gallery/deadwoodlookout/i/lookoutnight.jpg) - -![0](/gallery/deadwoodlookout/i/lookoutinside.jpg) - ---- - -## Photos Taken By [Dog Hair Tumbleweeds](https://doghairtumbleweeds.com/) - -*These Photos are under the GNU General Public License v3.0, Please look at the Github repository, before redistributing.* - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/gallery/index.md b/gallery/index.md deleted file mode 100644 index 985a074..0000000 --- a/gallery/index.md +++ /dev/null @@ -1,23 +0,0 @@ -# This is where you can showcase your firewatch pictures. - -A template will be coming soon. - ---- - -### [Home](/) - ---- - -# Community Firewatch Photos - ---- - -### [Sophia's Photos](/gallery/sophia) - -### [Deadwood Lookout Photos (IRL)](/gallery/deadwoodlookout) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/gallery/sophia/i/1_photo_1.jpg b/gallery/sophia/i/1_photo_1.jpg deleted file mode 100644 index 9bc8e29..0000000 Binary files a/gallery/sophia/i/1_photo_1.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_10.jpg b/gallery/sophia/i/1_photo_10.jpg deleted file mode 100644 index 4363fb4..0000000 Binary files a/gallery/sophia/i/1_photo_10.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_11.jpg b/gallery/sophia/i/1_photo_11.jpg deleted file mode 100644 index c7f6ba6..0000000 Binary files a/gallery/sophia/i/1_photo_11.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_12.jpg b/gallery/sophia/i/1_photo_12.jpg deleted file mode 100644 index 14c4d4e..0000000 Binary files a/gallery/sophia/i/1_photo_12.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_13.jpg b/gallery/sophia/i/1_photo_13.jpg deleted file mode 100644 index b89792a..0000000 Binary files a/gallery/sophia/i/1_photo_13.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_2.jpg b/gallery/sophia/i/1_photo_2.jpg deleted file mode 100644 index efcfb3a..0000000 Binary files a/gallery/sophia/i/1_photo_2.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_5.jpg b/gallery/sophia/i/1_photo_5.jpg deleted file mode 100644 index 48d1a2f..0000000 Binary files a/gallery/sophia/i/1_photo_5.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_6.jpg b/gallery/sophia/i/1_photo_6.jpg deleted file mode 100644 index 57d8251..0000000 Binary files a/gallery/sophia/i/1_photo_6.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_7.jpg b/gallery/sophia/i/1_photo_7.jpg deleted file mode 100644 index 8c7c85b..0000000 Binary files a/gallery/sophia/i/1_photo_7.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_8.jpg b/gallery/sophia/i/1_photo_8.jpg deleted file mode 100644 index d6a2f56..0000000 Binary files a/gallery/sophia/i/1_photo_8.jpg and /dev/null differ diff --git a/gallery/sophia/i/1_photo_9.jpg b/gallery/sophia/i/1_photo_9.jpg deleted file mode 100644 index 8f74e98..0000000 Binary files a/gallery/sophia/i/1_photo_9.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_1.jpg b/gallery/sophia/i/2_photo_1.jpg deleted file mode 100644 index 7cff9e1..0000000 Binary files a/gallery/sophia/i/2_photo_1.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_10.jpg b/gallery/sophia/i/2_photo_10.jpg deleted file mode 100644 index 66fde4c..0000000 Binary files a/gallery/sophia/i/2_photo_10.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_2.jpg b/gallery/sophia/i/2_photo_2.jpg deleted file mode 100644 index f612997..0000000 Binary files a/gallery/sophia/i/2_photo_2.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_3.jpg b/gallery/sophia/i/2_photo_3.jpg deleted file mode 100644 index d2bd0b7..0000000 Binary files a/gallery/sophia/i/2_photo_3.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_4.jpg b/gallery/sophia/i/2_photo_4.jpg deleted file mode 100644 index 290711f..0000000 Binary files a/gallery/sophia/i/2_photo_4.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_5.jpg b/gallery/sophia/i/2_photo_5.jpg deleted file mode 100644 index 1d3ede1..0000000 Binary files a/gallery/sophia/i/2_photo_5.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_6.jpg b/gallery/sophia/i/2_photo_6.jpg deleted file mode 100644 index e4fb3a7..0000000 Binary files a/gallery/sophia/i/2_photo_6.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_7.jpg b/gallery/sophia/i/2_photo_7.jpg deleted file mode 100644 index 43c234c..0000000 Binary files a/gallery/sophia/i/2_photo_7.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_8.jpg b/gallery/sophia/i/2_photo_8.jpg deleted file mode 100644 index f5913d0..0000000 Binary files a/gallery/sophia/i/2_photo_8.jpg and /dev/null differ diff --git a/gallery/sophia/i/2_photo_9.jpg b/gallery/sophia/i/2_photo_9.jpg deleted file mode 100644 index e7f2b50..0000000 Binary files a/gallery/sophia/i/2_photo_9.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_1.jpg b/gallery/sophia/i/3_photo_1.jpg deleted file mode 100644 index b6f6c59..0000000 Binary files a/gallery/sophia/i/3_photo_1.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_10.jpg b/gallery/sophia/i/3_photo_10.jpg deleted file mode 100644 index b80a301..0000000 Binary files a/gallery/sophia/i/3_photo_10.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_11.jpg b/gallery/sophia/i/3_photo_11.jpg deleted file mode 100644 index 7a465aa..0000000 Binary files a/gallery/sophia/i/3_photo_11.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_12.jpg b/gallery/sophia/i/3_photo_12.jpg deleted file mode 100644 index c059fcc..0000000 Binary files a/gallery/sophia/i/3_photo_12.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_13.jpg b/gallery/sophia/i/3_photo_13.jpg deleted file mode 100644 index 1101aae..0000000 Binary files a/gallery/sophia/i/3_photo_13.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_14.jpg b/gallery/sophia/i/3_photo_14.jpg deleted file mode 100644 index eb3b4e3..0000000 Binary files a/gallery/sophia/i/3_photo_14.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_15.jpg b/gallery/sophia/i/3_photo_15.jpg deleted file mode 100644 index e9a8fc6..0000000 Binary files a/gallery/sophia/i/3_photo_15.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_16.jpg b/gallery/sophia/i/3_photo_16.jpg deleted file mode 100644 index 2f36133..0000000 Binary files a/gallery/sophia/i/3_photo_16.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_17.jpg b/gallery/sophia/i/3_photo_17.jpg deleted file mode 100644 index 6e16255..0000000 Binary files a/gallery/sophia/i/3_photo_17.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_18.jpg b/gallery/sophia/i/3_photo_18.jpg deleted file mode 100644 index 6823660..0000000 Binary files a/gallery/sophia/i/3_photo_18.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_2.jpg b/gallery/sophia/i/3_photo_2.jpg deleted file mode 100644 index b7bf931..0000000 Binary files a/gallery/sophia/i/3_photo_2.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_3.jpg b/gallery/sophia/i/3_photo_3.jpg deleted file mode 100644 index b754c57..0000000 Binary files a/gallery/sophia/i/3_photo_3.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_4.jpg b/gallery/sophia/i/3_photo_4.jpg deleted file mode 100644 index 427eb62..0000000 Binary files a/gallery/sophia/i/3_photo_4.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_5.jpg b/gallery/sophia/i/3_photo_5.jpg deleted file mode 100644 index 404691c..0000000 Binary files a/gallery/sophia/i/3_photo_5.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_6.jpg b/gallery/sophia/i/3_photo_6.jpg deleted file mode 100644 index 3832509..0000000 Binary files a/gallery/sophia/i/3_photo_6.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_7.jpg b/gallery/sophia/i/3_photo_7.jpg deleted file mode 100644 index d0c9974..0000000 Binary files a/gallery/sophia/i/3_photo_7.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_8.jpg b/gallery/sophia/i/3_photo_8.jpg deleted file mode 100644 index 577a217..0000000 Binary files a/gallery/sophia/i/3_photo_8.jpg and /dev/null differ diff --git a/gallery/sophia/i/3_photo_9.jpg b/gallery/sophia/i/3_photo_9.jpg deleted file mode 100644 index 1ae45c3..0000000 Binary files a/gallery/sophia/i/3_photo_9.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_1.jpg b/gallery/sophia/i/4_photo_1.jpg deleted file mode 100644 index 71868da..0000000 Binary files a/gallery/sophia/i/4_photo_1.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_10.jpg b/gallery/sophia/i/4_photo_10.jpg deleted file mode 100644 index 9b72981..0000000 Binary files a/gallery/sophia/i/4_photo_10.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_11.jpg b/gallery/sophia/i/4_photo_11.jpg deleted file mode 100644 index d4d21e5..0000000 Binary files a/gallery/sophia/i/4_photo_11.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_12.jpg b/gallery/sophia/i/4_photo_12.jpg deleted file mode 100644 index be8be27..0000000 Binary files a/gallery/sophia/i/4_photo_12.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_13.jpg b/gallery/sophia/i/4_photo_13.jpg deleted file mode 100644 index 5943660..0000000 Binary files a/gallery/sophia/i/4_photo_13.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_14.jpg b/gallery/sophia/i/4_photo_14.jpg deleted file mode 100644 index b2ce37e..0000000 Binary files a/gallery/sophia/i/4_photo_14.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_15.jpg b/gallery/sophia/i/4_photo_15.jpg deleted file mode 100644 index 99bb0a6..0000000 Binary files a/gallery/sophia/i/4_photo_15.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_16.jpg b/gallery/sophia/i/4_photo_16.jpg deleted file mode 100644 index d57fc94..0000000 Binary files a/gallery/sophia/i/4_photo_16.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_17.jpg b/gallery/sophia/i/4_photo_17.jpg deleted file mode 100644 index e3827ba..0000000 Binary files a/gallery/sophia/i/4_photo_17.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_18.jpg b/gallery/sophia/i/4_photo_18.jpg deleted file mode 100644 index 5ec9f21..0000000 Binary files a/gallery/sophia/i/4_photo_18.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_2.jpg b/gallery/sophia/i/4_photo_2.jpg deleted file mode 100644 index 98e1c08..0000000 Binary files a/gallery/sophia/i/4_photo_2.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_3.jpg b/gallery/sophia/i/4_photo_3.jpg deleted file mode 100644 index e56c8b4..0000000 Binary files a/gallery/sophia/i/4_photo_3.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_4.jpg b/gallery/sophia/i/4_photo_4.jpg deleted file mode 100644 index 6309899..0000000 Binary files a/gallery/sophia/i/4_photo_4.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_5.jpg b/gallery/sophia/i/4_photo_5.jpg deleted file mode 100644 index ef53f8c..0000000 Binary files a/gallery/sophia/i/4_photo_5.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_6.jpg b/gallery/sophia/i/4_photo_6.jpg deleted file mode 100644 index 5789483..0000000 Binary files a/gallery/sophia/i/4_photo_6.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_7.jpg b/gallery/sophia/i/4_photo_7.jpg deleted file mode 100644 index 7127db5..0000000 Binary files a/gallery/sophia/i/4_photo_7.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_8.jpg b/gallery/sophia/i/4_photo_8.jpg deleted file mode 100644 index 3d36773..0000000 Binary files a/gallery/sophia/i/4_photo_8.jpg and /dev/null differ diff --git a/gallery/sophia/i/4_photo_9.jpg b/gallery/sophia/i/4_photo_9.jpg deleted file mode 100644 index 2fe9e4a..0000000 Binary files a/gallery/sophia/i/4_photo_9.jpg and /dev/null differ diff --git a/gallery/sophia/index.md b/gallery/sophia/index.md deleted file mode 100644 index 45ab598..0000000 --- a/gallery/sophia/index.md +++ /dev/null @@ -1,125 +0,0 @@ -# Every Firewatch photo from Sophia - ---- - -### [Home](/) - ---- - -![0](/gallery/sophia/i/1_photo_1.jpg) - -![0](/gallery/sophia/i/1_photo_2.jpg) - -![0](/gallery/sophia/i/1_photo_5.jpg) - -![0](/gallery/sophia/i/1_photo_6.jpg) - -![0](/gallery/sophia/i/1_photo_7.jpg) - -![0](/gallery/sophia/i/1_photo_8.jpg) - -![0](/gallery/sophia/i/1_photo_9.jpg) - -![0](/gallery/sophia/i/1_photo_10.jpg) - -![0](/gallery/sophia/i/1_photo_11.jpg) - -![0](/gallery/sophia/i/1_photo_12.jpg) - -![0](/gallery/sophia/i/1_photo_13.jpg) - -![0](/gallery/sophia/i/2_photo_1.jpg) - -![0](/gallery/sophia/i/2_photo_2.jpg) - -![0](/gallery/sophia/i/2_photo_3.jpg) - -![0](/gallery/sophia/i/2_photo_4.jpg) - -![0](/gallery/sophia/i/2_photo_5.jpg) - -![0](/gallery/sophia/i/2_photo_6.jpg) - -![0](/gallery/sophia/i/2_photo_7.jpg) - -![0](/gallery/sophia/i/2_photo_8.jpg) - -![0](/gallery/sophia/i/2_photo_9.jpg) - -![0](/gallery/sophia/i/3_photo_1.jpg) - -![0](/gallery/sophia/i/3_photo_2.jpg) - -![0](/gallery/sophia/i/3_photo_3.jpg) - -![0](/gallery/sophia/i/3_photo_4.jpg) - -![0](/gallery/sophia/i/3_photo_5.jpg) - -![0](/gallery/sophia/i/3_photo_6.jpg) - -![0](/gallery/sophia/i/3_photo_7.jpg) - -![0](/gallery/sophia/i/3_photo_8.jpg) - -![0](/gallery/sophia/i/3_photo_9.jpg) - -![0](/gallery/sophia/i/3_photo_10.jpg) - -![0](/gallery/sophia/i/3_photo_11.jpg) - -![0](/gallery/sophia/i/3_photo_12.jpg) - -![0](/gallery/sophia/i/3_photo_13.jpg) - -![0](/gallery/sophia/i/3_photo_14.jpg) - -![0](/gallery/sophia/i/3_photo_15.jpg) - -![0](/gallery/sophia/i/3_photo_16.jpg) - -![0](/gallery/sophia/i/3_photo_17.jpg) - -![0](/gallery/sophia/i/3_photo_18.jpg) - -![0](/gallery/sophia/i/4_photo_1.jpg) - -![0](/gallery/sophia/i/4_photo_2.jpg) - -![0](/gallery/sophia/i/4_photo_3.jpg) - -![0](/gallery/sophia/i/4_photo_4.jpg) - -![0](/gallery/sophia/i/4_photo_5.jpg) - -![0](/gallery/sophia/i/4_photo_6.jpg) - -![0](/gallery/sophia/i/4_photo_7.jpg) - -![0](/gallery/sophia/i/4_photo_8.jpg) - -![0](/gallery/sophia/i/4_photo_9.jpg) - -![0](/gallery/sophia/i/4_photo_10.jpg) - -![0](/gallery/sophia/i/4_photo_11.jpg) - -![0](/gallery/sophia/i/4_photo_12.jpg) - -![0](/gallery/sophia/i/4_photo_13.jpg) - -![0](/gallery/sophia/i/4_photo_14.jpg) - -![0](/gallery/sophia/i/4_photo_15.jpg) - -![0](/gallery/sophia/i/4_photo_16.jpg) - -![0](/gallery/sophia/i/4_photo_17.jpg) - -![0](/gallery/sophia/i/4_photo_18.jpg) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..4a4aacd --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,106 @@ +baseURL: https://projectfirewatch.com +disablePathToLower: true +languageCode: en-us +defaultContentLanguage: en +title: "Project Firewatch" +theme: cupper-hugo-theme +#googleAnalytics: UA-123456789-1 +#disqusShortname: yourdiscussshortname +enableGitInfo: false +toc: false + +permalinks: + post: /:filename/ + +disableKinds: +- taxonomy +- term + +imaging: + quality: 99 + +params: + description: The Opensource Deep Dive Into The Game Firewatch.
Clickaroos + homeMetaContent: The Opensource Deep Dive Into The Game Firewatch. + footer:
projectfirewatch.com is a community website and is NOT affiliated with Firewatch or Campo Santo.
Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.
+ + # For more date formats see https://gohugo.io/functions/format/ + dateFormat: Jan 2, 2006 + #codePenUser: someUser + katex: false + hideHeaderLinks: false + search: false + showThemeSwitcher: false + defaultDarkTheme: true + moveFooterToHeader: false + # navTitleText: Cupper Theme + logo: /images/logo-trans.svg + logoAlt: Firewatch Logo Trans! + #customCss: + #- css/custom_01.css + #- css/custom_02.css + #customJs: + #- js/custom_01.js + #- js/custom_02.js + utterances: + repo: ProjectFirewatch/ProjectFirewatch + issueTerm: title + theme: github-light + +menu: + nav: + - name: Home + url: / + weight: 1 + - name: Audio Tour Transcription + url: /cdn/FirewatchAudioTour.pdf + weight: 2 + - name: Firewatch Playthrough + url: /playthrough/ + weight: 3 + - name: Gallery + url: /gallery/ + weight: 4 + - name: Misc Info + url: /info/ + weight: 5 + guidesnav: + - name: Achievements + url: /achievements/ + weight: 1 + - name: Shoshone Book Club + url: /shoshonebookclub/ + weight: 2 + - name: Shoshone Wildlife Notes + url: /shoshonewildlifenotes/ + weight: 3 + - name: Cassette Locations + url: /cassettelocations/ + weight: 4 +markup: + defaultMarkdownHandler: goldmark + goldmark: + extensions: + definitionList: true + footnote: true + linkify: true + strikethrough: true + table: true + taskList: true + typographer: true + parser: + attribute: true + autoHeadingID: true + renderer: + hardWraps: false + unsafe: true + xHTML: false + highlight: + codeFences: false + hl_Lines: "" + lineNoStart: 1 + lineNos: false + lineNumbersInTable: true + noClasses: true + style: monokai + tabWidth: 4 \ No newline at end of file diff --git a/index.md b/index.md deleted file mode 100644 index be81376..0000000 --- a/index.md +++ /dev/null @@ -1,76 +0,0 @@ -# ![Header](/cdn/webp/headerbutbetter.webp) - ---- - -# What is Firewatch? - ---- - -### Firewatch is a single-player first-person mystery set in the Wyoming wilderness, where your only emotional lifeline is the person on the other end of a handheld radio - ---- - -![Clickaroos](https://camo.githubusercontent.com/612c403f0241d9c1edf9ea44167dc013cb6de7457457f6e7c0a1373b3b5db65c/68747470733a2f2f686974732e736565796f756661726d2e636f6d2f6170692f636f756e742f696e63722f62616467652e7376673f75726c3d68747470732533412532462532466769746875622e636f6d253246536f7068696141746b696e736f6e2532464669726577617463682d477569646526636f756e745f62673d253233323532353235267469746c655f62673d2532333235323532352669636f6e3d2669636f6e5f636f6c6f723d253233453745374537267469746c653d436c69636b61726f6f7326656467655f666c61743d74727565) - ---- - -## Table of contents - -### [Achievements](/achievements/) - -### [Audio Tour Transcription](/cdn/FirewatchAudioTour.pdf) - -### [Blog](https://blog.projectfirewatch.com/) - -### [Code Of Conduct](/codeofconduct/) - -### [Firewatch Playthrough](/playthrough/) - -### [Gallery](/gallery/) - -### [Misc Info](/info/) - -### [Shoshone Book Club](/shoshonebookclub/) - -### [Shoshone Wildlife Notes](/shoshonewildlifenotes/) - ---- - -![Firewatch Photo](/cdn/webp/10-3-21/20211003084110_1.webp) - ---- - -![Firewatch Photo](/cdn/webp/10-3-21/20211003084128_1.webp) - ---- -![Firewatch Photo](/cdn/webp/10-3-21/20211003084239_1.webp) - ---- - -![Firewatch Photo](/cdn/webp/10-3-21/20211003084245_1.webp) - ---- - -![Firewatch Photo](/cdn/webp/10-3-21/20211003084338_1.webp) - ---- - -![Firewatch Photo](/cdn/webp/10-3-21/20211003084434_1.webp) - ---- - -![Firewatch Photo](/cdn/webp/10-3-21/20211003090936_1.webp) - ---- - -![Firewatch Photo](/cdn/webp/20200701135646_1.webp) - ---- - -![Firewatch Intro](/cdn/webp/20200701135654_1.webp) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/info/Firewatch/index.md b/info/Firewatch/index.md deleted file mode 100644 index 6ce452e..0000000 --- a/info/Firewatch/index.md +++ /dev/null @@ -1,83 +0,0 @@ -# Firewatch Wiki - ---- - -### [Home](/) - ---- - -Firewatch is an adventure game developed by Campo Santo and published by the developer in partnership with Panic. The game was released in February 2016 for Microsoft Windows, OS X, Linux, and PlayStation 4, for Xbox One in September 2016, and for Nintendo Switch in December 2018. - -The story follows a fire lookout named Henry in the Shoshone National Forest, a year after the Yellowstone fires of 1988. A month after his first day at work, strange things begin happening to him and his supervisor Delilah, which connects to a conspired mystery that happened years ago. Henry interacts with Delilah using a walkie-talkie, with the player choosing from dialog options to communicate. His exchanges with Delilah inform the process by which their relationship is developed. The game was directed by Olly Moss and Sean Vanaman, written by Chris Remo, Jake Rodkin, Moss and Vanaman, and produced by Gabe McGill and artist Jane Ng. The game's environment was modelled by Ng, based on a single painting by Moss. The design draws inspiration from New Deal advertisements by the National Park Service and field research conducted in Yosemite National Park. - -The game received generally positive reviews, earning praise for its story, characters, dialogue, and visual style. However, the presence of technical issues and the game's ending were both subjects of criticism. Firewatch won the award for Best 3D Visual Experience at the Unity Awards 2016, Best Indie Game at the 2016 Golden Joystick Awards, Best Narrative at the 2017 Game Developers Choice Awards and Debut Game at the 2017 British Academy Games Awards. By late 2016, the game had sold over a million copies. - ---- - -## Plot - -In the spring of 1989, after his wife develops early-onset dementia, Henry (Rich Sommer) takes a job as a fire lookout in Shoshone National Forest, Wyoming. On his first day, Delilah (Cissy Jones), a lookout in another watchtower, contacts him via walkie-talkie and asks him to investigate illegal fireworks by the lake. Henry discovers a pair of teenage girls, who accuse him of leering. On his way home he comes across a locked cave, and spots a shadowy figure watching him before disappearing. He returns to his watchtower to find it ransacked. The next day, Delilah asks Henry to investigate a downed communication line. He finds it cut, with a note apparently signed by the teens. He and Delilah plot to scare the girls off, but when he finds the girls' campsite ransacked and abandoned, they begin to worry. - -Henry finds an old backpack and a disposable camera belonging to a boy named Brian Goodwin, who Delilah explains was the son of Ned, a former lookout. Ned was an outdoorsman who drank heavily due to his traumatic experiences in the Vietnam War, while his son, Brian, enjoyed fantasy novels and role-playing games. Though it is against the rules for employees to bring their children to the towers, Delilah was fond of Brian and lied about his presence. He and Ned apparently left abruptly and never returned. The teenage girls are reported missing. Fearing an inquiry, Delilah falsifies reports to say that neither she nor Henry encountered the girls. - -Two months after Henry started his job, a small wildfire breaks out south of his tower. Two weeks later, Henry discovers a radio and a clipboard while fishing, with notes including transcripts of his conversations with Delilah. He is knocked unconscious by an unseen assailant and wakes up to find the clipboard and radio gone. In a meadow referred to on the clipboard letterhead, he finds a fenced-off government research area. He breaks in and discovers surveillance equipment and typewritten reports detailing his and Delilah's conversations and private lives. He also discovers a tracking device which he takes with him. Henry and Delilah discuss destroying the government camp, but decide against it. As Henry hikes home, however, someone sets fire to the camp. - -The next day, Henry uses the tracking device to find a backpack with a key to the locked cave. Delilah reports a figure in Henry's tower; when Henry arrives, he finds a Walkman taped to the door with an incriminating recording of Henry and Delilah's discussion about destroying the government camp. The next day, someone impersonating Henry calls another lookout and claims that Delilah knows the cause of the station fire, putting her and Henry more on edge. - -Henry uses the found key to enter the cave but is suddenly locked inside by an unseen figure. Deep in the cave, he discovers Brian's body and broken climbing gear before escaping the cave. Delilah is upset by the news. The next day, an evacuation order is given for all the lookouts, as the wildfire that Henry had spotted and named earlier has grown out of control. - -As Henry prepares to leave, the tracking device begins beeping. He follows the signal and discovers a tape from Ned. Ned claims that Brian's death was accidental, and that the boy fell due to climbing inexperience. Unwilling to return to society after Brian's death, Ned secretly lived in the area ever since. Choosing to venture deeper into the wilderness, Ned warns Henry not to look for him. Henry finds Ned's makeshift bunker, along with items stolen from the government camp, the lookout towers, and the teenage girls, who Delilah confirms have been found safe. The government camp was simply studying wildlife; Ned had been using its radio equipment to ensure no one was looking for him and to create transcripts to scare Henry away. Despite Ned’s confession, Delilah blames him for Brian's death and leaves on the helicopter. Henry goes to her tower, and he and Delilah say their goodbyes via radio before Henry evacuates. - ---- - -## Development and release - -Firewatch is the first video game from Campo Santo, and was created by Jake Rodkin and Sean Vanaman, who were the creative leads on The Walking Dead; Nels Anderson, the lead designer of Mark of the Ninja; and artist Olly Moss. Chris Remo was involved in many aspects of the design, and also composed the score. Development for Firewatch began with a single painting by Moss. Jane Ng, lead environmental artist at Campo Santo, was tasked with translating Moss' work into 3D environments while maintaining his stylized artistic vision. Moss, who had previously been known primarily for his graphic design work, had joined Vanaman and Rodkin to found Campo Santo after spending many years working on the periphery of game development. In creating the painting, Moss emulated National Park Service posters from the New Deal era in both color palette and iconography. The development team went on a camping trip to Yosemite National Park for inspiration for the game, where they visited a lookout tower built with the same design as its video game counterpart. Further inspiration for the game came from Vanaman and Anderson's experiences growing up in rural Wyoming. - -Firewatch runs on the Unity game engine. Ng disapproved of the tools for creating trees, and therefore hand-modeled the 23 kinds of trees that would be placed within the game 4,600 times. A custom shader was also employed to produce more stylized and simplified foliage. The in-game fire lookout towers were built in accordance with government specifications, utilizing standard lumber size, after Ng's first attempt was unsatisfactory. - -The walkie-talkie interaction in Firewatch is inspired by the relationship in BioShock between the player character and Atlas, as well as the dialog system from The Walking Dead. At one point in the development, it was intended that the protagonist would be able to communicate with multiple characters, such as hikers, but the idea was discarded due to its expense and the schedule requirements with which the team were working. The team hoped to avoid lip syncing and minimize the amount of animation needed due to the limited team size and resources. The developers cast Cissy Jones, who appeared in The Walking Dead, as the voice of Delilah in 2014. It took longer to find a voice actor for Henry who the developers felt jibed with Jones; they ultimately cast Rich Sommer. Jones and Sommer recorded their lines in separate studios, but while on conference calls with each other to achieve a more natural rapport. The actors made a decision not to meet during production to maintain the distance between their characters. - -The game's opening chapter features the song "Push Play" from Joy Chun and Nate Bosley's 2014 synthwave album Let's Get Electric, which depicts a fictitious 1980s synthpop act known as Cheap Talk. Taylor Dayne's "Tell It to My Heart" was used as a placeholder in the scene, but Vanaman conceded that the song was too overwhelming, and would cost too much to license. Upon the realization that it would also be too costly to commission a song, Remo sought a song in the style of the 1980s by an unsigned, independent artist, leading to the use of "Push Play". The score features a combination of electric and acoustic guitar, bass and electric piano, with samples of Fender Rhodes as a substitute for the actual piano. Remo played all of the instruments himself. - -The game was announced in March 2014 with a tentative release date of 2015. At GDC, Campo Santo housed a public playtest, and Ng hosted a panel on the design and aesthetic of the game entitled "The Art of Firewatch".In June 2015, the team visited E3. There, they confirmed that they would be bringing the game to PlayStation 4, but that this would be the only console version. However, an Xbox One version was later released in North America on September 21, 2016, featuring an audio tour and a free roam mode. Due to ratings issues, the version was delayed in Europe until September 30 and in Australia and New Zealand until October 14. - -Users of the HTC Vive and Oculus Rift virtual reality headsets can tour Henry's lookout tower using the Steam application Destinations. For this purpose, the scene was rebuilt on the Source game engine. Firewatch was made compatible with PlayStation 4 Pro on its November 10 launch, with enhanced performance through 4K resolution and high-dynamic-range imaging. The free roam mode was enabled for PlayStation 4 Pro and Steam shortly thereafter. Partnering with Limited Run Games, Campo Santo distributed under ten thousand physical copies of the game on PlayStation 4. 4,800 copies were made available for order on the Limited Run Games website on December 16, 2016, while 2,500 were sold through the Campo Santo online store starting January 16, 2017.In April 2018, Campo Santo announced the game will be released for Nintendo Switch later in the year. It was later clarified the Nintendo Switch port is a heavily optimised version of the game, and the update will also be available for other platforms. Additionally, the Nintendo Switch version features some exclusive elements. Campo Santo later confirmed, via Twitter, the worldwide release date for the Nintendo Switch port as December 17, 2018. - ---- - - -## Reception - -Firewatch received "generally favorable" reviews, according to review aggregator Metacritic. The game sold more than five hundred thousand copies within a month of its release and over one million copies by the end of its first year. As of 2018, Firewatch has sold over 2.5 million copies across all platforms. - -Steven Hansen at Destructoid welcomed the choice-based dialog tree gameplay, going on to praise the dialog itself, as well as the voice performances. The game's most impressive achievement, as stated by Hansen, was the "thematic cohesion", which was said to revolve around self-imposed isolation. The sound design was lauded to have evoked a Hitchcockian sense of fear. Reviewing Firewatch, Game Informer's Jeff Cork wrote, "I was immediately drawn into the game's world, partly because of the power of its simple text intro, and also because of the novelty of taking part in something so mundane". Cork observed that its interactive dialog, though simple, "breathes life into the game" and called the conversations "natural" and "engaging". He enjoyed exploring the forest environment, yet felt the ending was unsatisfactory. - -Scott Butterworth of GameSpot thought that the analog navigation tools – a hand-held compass and paper map – were "immersive" but "occasionally frustrating". He found that the visual beauty of the setting allowed for a more rewarding form of exploration and noted that the sound design complemented the depth of its atmosphere. Judging the development of the characters through dialog to be "bold" and "admirable", he opined that it served as "a patient, reflective examination of how two people grow to trust and care for each other". According to Butterworth, the voice acting was brilliant and layered with emotional nuance, as he had evolved a strong attachment to the characters. GamesRadar's Justin Towell described Firewatch as "one of the most enthralling slices of entertainment I've ever experienced". He commended the voice acting for having successfully defined each character's personality traits. Towell added that the music, alongside the sound design, worked well in service of the atmosphere. However, he disparaged a few noticeable continuity problems that left him disillusioned. - -Ryan McCaffrey at IGN hailed the sense of realism elicited by the setting, despite the stylized level design and artwork. He also approved of the script, saying that voice acting enhanced it further. Of the writing, McCaffrey said, "It's tense, scary, and funny – sometimes all within a few minutes of each other. Not a lot of games can successfully claim that". He deemed the ending polarizing because of the story's promising escalation. Polygon's Colin Campbell appreciated the use of humor and empathy to develop the characters, considered the game's mystery to be successful and the story to be "elegant" and "satisfying". He criticized the conclusion, regarding it as unsuccessful. - ---- - -## Here are some concept sketches during development. - -![Sketch](/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.jpg) -![Sketch](/cdn/info/Firewatch/Et2U6VBVkAIKp9v.jpg) -![Sketch](/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.png) -![Sketch](/cdn/info/Firewatch/Et2VBwwVEAIw1p-.png) -![Sketch](/cdn/info/Firewatch/Et2VDdAVcAMvC7t.jpg) - ---- - -## Credits - -[WikiPedia](https://en.wikipedia.org/wiki/Firewatch) - -[Campo Santo Twitter](https://twitter.com/camposanto/status/1359403257437712388) - - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/info/index.md b/info/index.md deleted file mode 100644 index c0fd95b..0000000 --- a/info/index.md +++ /dev/null @@ -1,23 +0,0 @@ -# Info Page - ---- - -### [Home](/) - ---- - -## Table Of Contents - -### [Campo Santo](/info/camposanto) - -### [Firewatch](/info/Firewatch) - -### [Project News/Info](/info/project) - -### [Thank you](/info/thanks) - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/rights/index.md b/rights/index.md deleted file mode 100644 index 7aa3dbc..0000000 --- a/rights/index.md +++ /dev/null @@ -1,28 +0,0 @@ -# Project Rights - ---- - -### [Home](/) - ---- - -## This project is an open-source and community-run, all of the trademarked content on this site belongs to its original owners. - ---- - - -## I own content that is on this page and I want it removed. Well that sucks but go ahead and [email](mailto:contact@projectfirewatch.com) us - ---- - - -### This project is under the GNU General Public License v3.0 - -### The full thing can be found [here](/rights/LICENSE.md) - - ---- - -*projectfirewatch.com is a community website and is not affiliated with Firewatch or Campo Santo.* - -*Firewatch and the Firewatch logos are trademarks of Campo Santo. All other trademarks are property of their respective owners.* diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000..fbd9ab5 Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000..1f25e11 Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000..51ecd34 Binary files /dev/null and b/static/apple-touch-icon.png differ diff --git a/static/browserconfig.xml b/static/browserconfig.xml new file mode 100644 index 0000000..205b016 --- /dev/null +++ b/static/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #ffa500 + + + diff --git a/static/cdn/10-3-21/20211003084101_1.webp b/static/cdn/10-3-21/20211003084101_1.webp new file mode 100644 index 0000000..b40d2e6 Binary files /dev/null and b/static/cdn/10-3-21/20211003084101_1.webp differ diff --git a/static/cdn/10-3-21/20211003084110_1.webp b/static/cdn/10-3-21/20211003084110_1.webp new file mode 100644 index 0000000..4ea5609 Binary files /dev/null and b/static/cdn/10-3-21/20211003084110_1.webp differ diff --git a/static/cdn/10-3-21/20211003084128_1.webp b/static/cdn/10-3-21/20211003084128_1.webp new file mode 100644 index 0000000..ecdcf50 Binary files /dev/null and b/static/cdn/10-3-21/20211003084128_1.webp differ diff --git a/static/cdn/10-3-21/20211003084239_1.webp b/static/cdn/10-3-21/20211003084239_1.webp new file mode 100644 index 0000000..edae9b7 Binary files /dev/null and b/static/cdn/10-3-21/20211003084239_1.webp differ diff --git a/static/cdn/10-3-21/20211003084245_1.webp b/static/cdn/10-3-21/20211003084245_1.webp new file mode 100644 index 0000000..cea6422 Binary files /dev/null and b/static/cdn/10-3-21/20211003084245_1.webp differ diff --git a/static/cdn/10-3-21/20211003084338_1.webp b/static/cdn/10-3-21/20211003084338_1.webp new file mode 100644 index 0000000..815ab7e Binary files /dev/null and b/static/cdn/10-3-21/20211003084338_1.webp differ diff --git a/static/cdn/10-3-21/20211003084412_1.webp b/static/cdn/10-3-21/20211003084412_1.webp new file mode 100644 index 0000000..0710de7 Binary files /dev/null and b/static/cdn/10-3-21/20211003084412_1.webp differ diff --git a/static/cdn/10-3-21/20211003084434_1.webp b/static/cdn/10-3-21/20211003084434_1.webp new file mode 100644 index 0000000..15249b1 Binary files /dev/null and b/static/cdn/10-3-21/20211003084434_1.webp differ diff --git a/static/cdn/10-3-21/20211003084715_1.webp b/static/cdn/10-3-21/20211003084715_1.webp new file mode 100644 index 0000000..e987205 Binary files /dev/null and b/static/cdn/10-3-21/20211003084715_1.webp differ diff --git a/static/cdn/10-3-21/20211003084731_1.webp b/static/cdn/10-3-21/20211003084731_1.webp new file mode 100644 index 0000000..c3e8aed Binary files /dev/null and b/static/cdn/10-3-21/20211003084731_1.webp differ diff --git a/static/cdn/10-3-21/20211003084947_1.webp b/static/cdn/10-3-21/20211003084947_1.webp new file mode 100644 index 0000000..66d7aab Binary files /dev/null and b/static/cdn/10-3-21/20211003084947_1.webp differ diff --git a/static/cdn/10-3-21/20211003085206_1.webp b/static/cdn/10-3-21/20211003085206_1.webp new file mode 100644 index 0000000..cd84f75 Binary files /dev/null and b/static/cdn/10-3-21/20211003085206_1.webp differ diff --git a/static/cdn/10-3-21/20211003085341_1.webp b/static/cdn/10-3-21/20211003085341_1.webp new file mode 100644 index 0000000..79177b7 Binary files /dev/null and b/static/cdn/10-3-21/20211003085341_1.webp differ diff --git a/static/cdn/10-3-21/20211003085519_1.webp b/static/cdn/10-3-21/20211003085519_1.webp new file mode 100644 index 0000000..70dd8e4 Binary files /dev/null and b/static/cdn/10-3-21/20211003085519_1.webp differ diff --git a/static/cdn/10-3-21/20211003085705_1.webp b/static/cdn/10-3-21/20211003085705_1.webp new file mode 100644 index 0000000..0fe704c Binary files /dev/null and b/static/cdn/10-3-21/20211003085705_1.webp differ diff --git a/static/cdn/10-3-21/20211003090024_1.webp b/static/cdn/10-3-21/20211003090024_1.webp new file mode 100644 index 0000000..123ed0e Binary files /dev/null and b/static/cdn/10-3-21/20211003090024_1.webp differ diff --git a/static/cdn/10-3-21/20211003090256_1.webp b/static/cdn/10-3-21/20211003090256_1.webp new file mode 100644 index 0000000..5aea0d9 Binary files /dev/null and b/static/cdn/10-3-21/20211003090256_1.webp differ diff --git a/static/cdn/10-3-21/20211003090339_1.webp b/static/cdn/10-3-21/20211003090339_1.webp new file mode 100644 index 0000000..eaa82fa Binary files /dev/null and b/static/cdn/10-3-21/20211003090339_1.webp differ diff --git a/static/cdn/10-3-21/20211003090446_1.webp b/static/cdn/10-3-21/20211003090446_1.webp new file mode 100644 index 0000000..4a66714 Binary files /dev/null and b/static/cdn/10-3-21/20211003090446_1.webp differ diff --git a/static/cdn/10-3-21/20211003090720_1.webp b/static/cdn/10-3-21/20211003090720_1.webp new file mode 100644 index 0000000..d39fe5c Binary files /dev/null and b/static/cdn/10-3-21/20211003090720_1.webp differ diff --git a/static/cdn/10-3-21/20211003090736_1.webp b/static/cdn/10-3-21/20211003090736_1.webp new file mode 100644 index 0000000..83194dc Binary files /dev/null and b/static/cdn/10-3-21/20211003090736_1.webp differ diff --git a/static/cdn/10-3-21/20211003090755_1.webp b/static/cdn/10-3-21/20211003090755_1.webp new file mode 100644 index 0000000..16ca335 Binary files /dev/null and b/static/cdn/10-3-21/20211003090755_1.webp differ diff --git a/static/cdn/10-3-21/20211003090803_1.webp b/static/cdn/10-3-21/20211003090803_1.webp new file mode 100644 index 0000000..329f28c Binary files /dev/null and b/static/cdn/10-3-21/20211003090803_1.webp differ diff --git a/static/cdn/10-3-21/20211003090810_1.webp b/static/cdn/10-3-21/20211003090810_1.webp new file mode 100644 index 0000000..4aa3fa5 Binary files /dev/null and b/static/cdn/10-3-21/20211003090810_1.webp differ diff --git a/static/cdn/10-3-21/20211003090820_1.webp b/static/cdn/10-3-21/20211003090820_1.webp new file mode 100644 index 0000000..690789b Binary files /dev/null and b/static/cdn/10-3-21/20211003090820_1.webp differ diff --git a/static/cdn/10-3-21/20211003090936_1.webp b/static/cdn/10-3-21/20211003090936_1.webp new file mode 100644 index 0000000..c9d948a Binary files /dev/null and b/static/cdn/10-3-21/20211003090936_1.webp differ diff --git a/static/cdn/10-3-21/20211003090952_1.webp b/static/cdn/10-3-21/20211003090952_1.webp new file mode 100644 index 0000000..16294fa Binary files /dev/null and b/static/cdn/10-3-21/20211003090952_1.webp differ diff --git a/static/cdn/10-3-21/20211003091204_1.webp b/static/cdn/10-3-21/20211003091204_1.webp new file mode 100644 index 0000000..c6feabc Binary files /dev/null and b/static/cdn/10-3-21/20211003091204_1.webp differ diff --git a/static/cdn/10-3-21/20211003091402_1.webp b/static/cdn/10-3-21/20211003091402_1.webp new file mode 100644 index 0000000..30192c4 Binary files /dev/null and b/static/cdn/10-3-21/20211003091402_1.webp differ diff --git a/cdn/webp/20200701135637_1.webp b/static/cdn/20200701135637_1.webp similarity index 100% rename from cdn/webp/20200701135637_1.webp rename to static/cdn/20200701135637_1.webp diff --git a/cdn/webp/20200701135646_1.webp b/static/cdn/20200701135646_1.webp similarity index 100% rename from cdn/webp/20200701135646_1.webp rename to static/cdn/20200701135646_1.webp diff --git a/cdn/webp/20200701135654_1.webp b/static/cdn/20200701135654_1.webp similarity index 100% rename from cdn/webp/20200701135654_1.webp rename to static/cdn/20200701135654_1.webp diff --git a/cdn/webp/20201109190843_1.webp b/static/cdn/20201109190843_1.webp similarity index 100% rename from cdn/webp/20201109190843_1.webp rename to static/cdn/20201109190843_1.webp diff --git a/cdn/webp/20201109191235_1.webp b/static/cdn/20201109191235_1.webp similarity index 100% rename from cdn/webp/20201109191235_1.webp rename to static/cdn/20201109191235_1.webp diff --git a/cdn/webp/20201117182957_1.webp b/static/cdn/20201117182957_1.webp similarity index 100% rename from cdn/webp/20201117182957_1.webp rename to static/cdn/20201117182957_1.webp diff --git a/cdn/webp/Firewatch Intro Image.webp b/static/cdn/Firewatch Intro Image.webp similarity index 100% rename from cdn/webp/Firewatch Intro Image.webp rename to static/cdn/Firewatch Intro Image.webp diff --git a/cdn/FirewatchAudioTour.pdf b/static/cdn/FirewatchAudioTour.pdf similarity index 100% rename from cdn/FirewatchAudioTour.pdf rename to static/cdn/FirewatchAudioTour.pdf diff --git a/cdn/webp/achievements/2438900192_preview_4208-001.webp b/static/cdn/achievements/2438900192_preview_4208-001.webp similarity index 100% rename from cdn/webp/achievements/2438900192_preview_4208-001.webp rename to static/cdn/achievements/2438900192_preview_4208-001.webp diff --git a/cdn/webp/achievements/2438900192_preview_UhPAbZJ.webp b/static/cdn/achievements/2438900192_preview_UhPAbZJ.webp similarity index 100% rename from cdn/webp/achievements/2438900192_preview_UhPAbZJ.webp rename to static/cdn/achievements/2438900192_preview_UhPAbZJ.webp diff --git a/cdn/webp/achievements/2438900192_preview_racoon.webp b/static/cdn/achievements/2438900192_preview_racoon.webp similarity index 100% rename from cdn/webp/achievements/2438900192_preview_racoon.webp rename to static/cdn/achievements/2438900192_preview_racoon.webp diff --git a/cdn/webp/achievements/2438900192_preview_shoshone.webp b/static/cdn/achievements/2438900192_preview_shoshone.webp similarity index 100% rename from cdn/webp/achievements/2438900192_preview_shoshone.webp rename to static/cdn/achievements/2438900192_preview_shoshone.webp diff --git a/cdn/webp/achievements/2438900192_preview_wapiti.webp b/static/cdn/achievements/2438900192_preview_wapiti.webp similarity index 100% rename from cdn/webp/achievements/2438900192_preview_wapiti.webp rename to static/cdn/achievements/2438900192_preview_wapiti.webp diff --git a/cdn/webp/achievements/backtowork.webp b/static/cdn/achievements/backtowork.webp similarity index 100% rename from cdn/webp/achievements/backtowork.webp rename to static/cdn/achievements/backtowork.webp diff --git a/cdn/webp/achievements/beartoothpointmap.webp b/static/cdn/achievements/beartoothpointmap.webp similarity index 100% rename from cdn/webp/achievements/beartoothpointmap.webp rename to static/cdn/achievements/beartoothpointmap.webp diff --git a/cdn/webp/achievements/beartoothpointturt.webp b/static/cdn/achievements/beartoothpointturt.webp similarity index 100% rename from cdn/webp/achievements/beartoothpointturt.webp rename to static/cdn/achievements/beartoothpointturt.webp diff --git a/cdn/webp/achievements/beeplot.webp b/static/cdn/achievements/beeplot.webp similarity index 100% rename from cdn/webp/achievements/beeplot.webp rename to static/cdn/achievements/beeplot.webp diff --git a/cdn/webp/achievements/burntheplacedown.webp b/static/cdn/achievements/burntheplacedown.webp similarity index 100% rename from cdn/webp/achievements/burntheplacedown.webp rename to static/cdn/achievements/burntheplacedown.webp diff --git a/cdn/webp/achievements/firewatch.webp b/static/cdn/achievements/firewatch.webp similarity index 100% rename from cdn/webp/achievements/firewatch.webp rename to static/cdn/achievements/firewatch.webp diff --git a/cdn/webp/achievements/goodday.webp b/static/cdn/achievements/goodday.webp similarity index 100% rename from cdn/webp/achievements/goodday.webp rename to static/cdn/achievements/goodday.webp diff --git a/cdn/webp/achievements/jonesylakemap.webp b/static/cdn/achievements/jonesylakemap.webp similarity index 100% rename from cdn/webp/achievements/jonesylakemap.webp rename to static/cdn/achievements/jonesylakemap.webp diff --git a/cdn/webp/achievements/loveturts.webp b/static/cdn/achievements/loveturts.webp similarity index 100% rename from cdn/webp/achievements/loveturts.webp rename to static/cdn/achievements/loveturts.webp diff --git a/cdn/webp/achievements/olshoshone.webp b/static/cdn/achievements/olshoshone.webp similarity index 100% rename from cdn/webp/achievements/olshoshone.webp rename to static/cdn/achievements/olshoshone.webp diff --git a/cdn/webp/achievements/shutterbug.webp b/static/cdn/achievements/shutterbug.webp similarity index 100% rename from cdn/webp/achievements/shutterbug.webp rename to static/cdn/achievements/shutterbug.webp diff --git a/cdn/webp/achievements/someonesouthere.webp b/static/cdn/achievements/someonesouthere.webp similarity index 100% rename from cdn/webp/achievements/someonesouthere.webp rename to static/cdn/achievements/someonesouthere.webp diff --git a/cdn/webp/achievements/thelifeandtimesofraccooncarter.webp b/static/cdn/achievements/thelifeandtimesofraccooncarter.webp similarity index 100% rename from cdn/webp/achievements/thelifeandtimesofraccooncarter.webp rename to static/cdn/achievements/thelifeandtimesofraccooncarter.webp diff --git a/cdn/webp/achievements/thorofaretrailmap.webp b/static/cdn/achievements/thorofaretrailmap.webp similarity index 100% rename from cdn/webp/achievements/thorofaretrailmap.webp rename to static/cdn/achievements/thorofaretrailmap.webp diff --git a/cdn/webp/achievements/thorofaretrailturt.webp b/static/cdn/achievements/thorofaretrailturt.webp similarity index 100% rename from cdn/webp/achievements/thorofaretrailturt.webp rename to static/cdn/achievements/thorofaretrailturt.webp diff --git a/cdn/webp/achievements/turtatjonesylake.webp b/static/cdn/achievements/turtatjonesylake.webp similarity index 100% rename from cdn/webp/achievements/turtatjonesylake.webp rename to static/cdn/achievements/turtatjonesylake.webp diff --git a/cdn/webp/arch.webp b/static/cdn/arch.webp similarity index 100% rename from cdn/webp/arch.webp rename to static/cdn/arch.webp diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228115633_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228115633_1.webp new file mode 100644 index 0000000..646a463 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228115633_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228115644_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228115644_1.webp new file mode 100644 index 0000000..0487e99 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228115644_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228120144_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228120144_1.webp new file mode 100644 index 0000000..bb4935f Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228120144_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228120154_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228120154_1.webp new file mode 100644 index 0000000..7167040 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228120154_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228120207_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228120207_1.webp new file mode 100644 index 0000000..e3e4551 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228120207_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228120800_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228120800_1.webp new file mode 100644 index 0000000..36e0bb0 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228120800_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228121319_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228121319_1.webp new file mode 100644 index 0000000..76f5ada Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228121319_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228125301_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228125301_1.webp new file mode 100644 index 0000000..e75c227 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228125301_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228125309_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228125309_1.webp new file mode 100644 index 0000000..cdd63b5 Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228125309_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228125549_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228125549_1.webp new file mode 100644 index 0000000..907e76f Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228125549_1.webp differ diff --git a/static/cdn/cassettelocations/383870_screenshots_20161228125559_1.webp b/static/cdn/cassettelocations/383870_screenshots_20161228125559_1.webp new file mode 100644 index 0000000..7cf274d Binary files /dev/null and b/static/cdn/cassettelocations/383870_screenshots_20161228125559_1.webp differ diff --git a/static/cdn/contribute.png b/static/cdn/contribute.png new file mode 100644 index 0000000..e24d2d5 Binary files /dev/null and b/static/cdn/contribute.png differ diff --git a/cdn/webp/fw.webp b/static/cdn/fw.webp similarity index 100% rename from cdn/webp/fw.webp rename to static/cdn/fw.webp diff --git a/cdn/webp/info/Firewatch/Et2R-V7U0Ag0Rbu.webp b/static/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.webp similarity index 100% rename from cdn/webp/info/Firewatch/Et2R-V7U0Ag0Rbu.webp rename to static/cdn/info/Firewatch/Et2R-V7U0Ag0Rbu.webp diff --git a/cdn/webp/info/Firewatch/Et2U6VBVkAIKp9v.webp b/static/cdn/info/Firewatch/Et2U6VBVkAIKp9v.webp similarity index 100% rename from cdn/webp/info/Firewatch/Et2U6VBVkAIKp9v.webp rename to static/cdn/info/Firewatch/Et2U6VBVkAIKp9v.webp diff --git a/cdn/webp/info/Firewatch/Et2Uu8RVoAI4Q_b.webp b/static/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.webp similarity index 100% rename from cdn/webp/info/Firewatch/Et2Uu8RVoAI4Q_b.webp rename to static/cdn/info/Firewatch/Et2Uu8RVoAI4Q_b.webp diff --git a/cdn/webp/info/Firewatch/Et2VBwwVEAIw1p-.webp b/static/cdn/info/Firewatch/Et2VBwwVEAIw1p-.webp similarity index 100% rename from cdn/webp/info/Firewatch/Et2VBwwVEAIw1p-.webp rename to static/cdn/info/Firewatch/Et2VBwwVEAIw1p-.webp diff --git a/cdn/webp/info/Firewatch/Et2VDdAVcAMvC7t.webp b/static/cdn/info/Firewatch/Et2VDdAVcAMvC7t.webp similarity index 100% rename from cdn/webp/info/Firewatch/Et2VDdAVcAMvC7t.webp rename to static/cdn/info/Firewatch/Et2VDdAVcAMvC7t.webp diff --git a/static/cdn/info/Firewatch/firewatch_subpage_mainlogo@2x.webp b/static/cdn/info/Firewatch/firewatch_subpage_mainlogo@2x.webp new file mode 100644 index 0000000..a0a1318 Binary files /dev/null and b/static/cdn/info/Firewatch/firewatch_subpage_mainlogo@2x.webp differ diff --git a/cdn/webp/info/camposanto/logo.webp b/static/cdn/info/camposanto/logo.webp similarity index 100% rename from cdn/webp/info/camposanto/logo.webp rename to static/cdn/info/camposanto/logo.webp diff --git a/cdn/webp/pork.webp b/static/cdn/pork.webp similarity index 100% rename from cdn/webp/pork.webp rename to static/cdn/pork.webp diff --git a/cdn/webp/shoshonebookclub/625733417_preview_accidental_saviour.webp b/static/cdn/shoshonebookclub/625733417_preview_accidental_saviour.webp similarity index 100% rename from cdn/webp/shoshonebookclub/625733417_preview_accidental_saviour.webp rename to static/cdn/shoshonebookclub/625733417_preview_accidental_saviour.webp diff --git a/cdn/webp/shoshonebookclub/625733417_preview_book_map.webp b/static/cdn/shoshonebookclub/625733417_preview_book_map.webp similarity index 100% rename from cdn/webp/shoshonebookclub/625733417_preview_book_map.webp rename to static/cdn/shoshonebookclub/625733417_preview_book_map.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_bear-tree.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_bear-tree.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_bear-tree.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_birds.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_birds.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_birds.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_birds.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_dragonfly.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_dragonfly.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_dragonfly.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_elk.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_elk.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_elk.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_elk.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_raccoon2.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_raccoon2.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_raccoon2.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_turt.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_turt.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_turt.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_turt.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_wildlife_icons.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_wildlife_icons.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_wildlife_icons.webp diff --git a/cdn/webp/shoshonewildlifenotes/631422921_preview_wildlife_map2.webp b/static/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.webp similarity index 100% rename from cdn/webp/shoshonewildlifenotes/631422921_preview_wildlife_map2.webp rename to static/cdn/shoshonewildlifenotes/631422921_preview_wildlife_map2.webp diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000..3859988 Binary files /dev/null and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 0000000..3f28e34 Binary files /dev/null and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..d541958 Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/images/Forest_Byrnes.svg b/static/images/Forest_Byrnes.svg new file mode 100644 index 0000000..c69bdf6 --- /dev/null +++ b/static/images/Forest_Byrnes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/Forest_Byrnes_head.svg b/static/images/Forest_Byrnes_head.svg new file mode 100644 index 0000000..20ad317 --- /dev/null +++ b/static/images/Forest_Byrnes_head.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/logo-trans.svg b/static/images/logo-trans.svg new file mode 100644 index 0000000..eb650cb --- /dev/null +++ b/static/images/logo-trans.svg @@ -0,0 +1,2 @@ + +image/svg+xml diff --git a/static/images/logo.svg b/static/images/logo.svg new file mode 100644 index 0000000..4dd62fb --- /dev/null +++ b/static/images/logo.svg @@ -0,0 +1,2 @@ + +image/svg+xml diff --git a/static/mstile-144x144.png b/static/mstile-144x144.png new file mode 100644 index 0000000..d9948ea Binary files /dev/null and b/static/mstile-144x144.png differ diff --git a/static/mstile-150x150.png b/static/mstile-150x150.png new file mode 100644 index 0000000..6ebe301 Binary files /dev/null and b/static/mstile-150x150.png differ diff --git a/static/mstile-310x150.png b/static/mstile-310x150.png new file mode 100644 index 0000000..191f887 Binary files /dev/null and b/static/mstile-310x150.png differ diff --git a/static/mstile-310x310.png b/static/mstile-310x310.png new file mode 100644 index 0000000..9a225f6 Binary files /dev/null and b/static/mstile-310x310.png differ diff --git a/static/mstile-70x70.png b/static/mstile-70x70.png new file mode 100644 index 0000000..acd18bd Binary files /dev/null and b/static/mstile-70x70.png differ diff --git a/static/safari-pinned-tab.svg b/static/safari-pinned-tab.svg new file mode 100644 index 0000000..6e1338c --- /dev/null +++ b/static/safari-pinned-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..e8c42a2 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffa500", + "background_color": "#ffa500", + "display": "standalone" +} diff --git a/themes/cupper-hugo-theme/.gitignore b/themes/cupper-hugo-theme/.gitignore new file mode 100644 index 0000000..c33a9a7 --- /dev/null +++ b/themes/cupper-hugo-theme/.gitignore @@ -0,0 +1,2 @@ +exampleSite/public/ +resources/ \ No newline at end of file diff --git a/themes/cupper-hugo-theme/LICENSE b/themes/cupper-hugo-theme/LICENSE new file mode 100644 index 0000000..ae21e33 --- /dev/null +++ b/themes/cupper-hugo-theme/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2017 Heydon Pickering +Copyright (c) 2019 Zachary Betz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/themes/cupper-hugo-theme/README.md b/themes/cupper-hugo-theme/README.md new file mode 100644 index 0000000..f7b1b0f --- /dev/null +++ b/themes/cupper-hugo-theme/README.md @@ -0,0 +1,170 @@ +⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ + +**WARNING:** This repo is no longer maintained. It's archived and read-only. + +⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ + +# Cupper + +[![Netlify Status](https://api.netlify.com/api/v1/badges/bc8c4e51-37ee-419d-ad4f-b378010ee546/deploy-status)](https://app.netlify.com/sites/cupper-hugo-theme/deploys) + +An accessibility-friendly Hugo theme, ported from the [original Cupper](https://github.com/ThePacielloGroup/cupper) project. + +## Table of contents + + + +- [Demo](#demo) +- [Minimum Hugo version](#minimum-hugo-version) +- [Installation](#installation) +- [Updating](#updating) +- [Run example site](#run-example-site) +- [Configuration](#configuration) +- [Nav Title or Logo](#nav-title-or-logo) +- [Favicons](#favicons) +- [Shortcodes](#shortcodes) +- [Syntax highlighting](#syntax-highlighting) +- [Enable Table of Contents for a Blog Post](#enable-table-of-contents-for-a-blog-post) +- [Localization](#localization) +- [Custom CSS and JS](#custom-css-and-js) +- [Default to Dark Theme](#default-to-dark-theme) +- [Enable utterances](#enable-utterances) +- [Non-Git Repo](#non-git-repo) +- [Getting help](#getting-help) +- [Credits](#credits) + + + +## Demo + +https://cupper-hugo-theme.netlify.app/ + +## Minimum Hugo version + +Hugo version `0.81.0` or higher is required. View the [Hugo releases](https://github.com/gohugoio/hugo/releases) and download the binary for your OS. + +## Installation + +From the root of your site: + +``` +git submodule add https://github.com/zwbetz-gh/cupper-hugo-theme.git themes/cupper-hugo-theme +``` + +## Updating + +From the root of your site: + +``` +git submodule update --remote --merge +``` + +## Run example site + +From the root of `themes/cupper-hugo-theme/exampleSite`: + +``` +hugo server --themesDir ../.. +``` + +## Configuration + +Copy `config.yaml` from the [`exampleSite`](https://github.com/zwbetz-gh/cupper-hugo-theme/tree/master/exampleSite), then edit as desired. + +## Nav Title or Logo + +- The `navTitleText` param will be checked in your config file. **If** this param exists, the text value will be used as the nav title +- **Otherwise**, a logo will be used as the nav title. Place your **SVG** logo at `static/images/logo.svg`. If you don't provide a logo, then the default theme logo will be used + +## Favicons + +Upload your image to [RealFaviconGenerator](https://realfavicongenerator.net/) then copy-paste the generated favicon files under `static`. + +## Shortcodes + +See the [full list of supported shortcodes](https://cupper-hugo-theme.netlify.com/cupper-shortcodes/). + +## Syntax highlighting + +Syntax highlighting is provided by [Prism](https://prismjs.com/). See this [markdown code fences example](https://cupper-hugo-theme.netlify.com/cupper-shortcodes/#syntax-highlighting). + +By default, only a few languages are supported. If you want to add more, follow these steps: + +1. Select the languages you want from +1. Download the JS file, then copy it to `static/js/prism.js` +1. Download the CSS file, then copy it to `static/css/prism.css` + +## Enable Table of Contents for a Blog Post + +Set `toc` to `true`. For example: + +``` +--- +title: "My page with a few headings" +toc: true +--- +``` + +## Localization + +The strings in the templates of this theme can be localized. Make a copy of `/i18n/en.yaml` to `/i18n/.yaml`, and translate one by one, changing the `translation` field. + +[Here is a tutorial that goes more in depth about this.](https://regisphilibert.com/blog/2018/08/hugo-multilingual-part-2-i18n-string-localization/) + +## Custom CSS and JS + +You can provide an optional list of custom CSS files, which must be placed inside the `static` dir. These will load after the theme CSS loads. So, `static/css/custom_01.css` translates to `css/custom_01.css`. + +You can provide an optional list of custom JS files, which must be placed inside the `static` dir. These will load after the theme JS loads. So, `static/js/custom_01.js` translates to `js/custom_01.js`. + +See the [example site config file](https://github.com/zwbetz-gh/cupper-hugo-theme/blob/master/exampleSite/config.yaml) for sample usage. + +## Default to Dark Theme + +In the site config file set the param `defaultDarkTheme` to true. + +E.g. for `config.yaml` +```yaml +params: + defaultDarkTheme: true +``` + +Note that the default of light or dark theme only applies to the first visit to a site using this theme. Once the site is visited the choice of dark or light theme is stored in 'local storage' in the browser. + +To reset to a 'first visit' scenario (e.g. for testing), one needs to either browse in private mode (aka Incognito/InPrivate/etc) or delete 'local storage' for this site. The easiest way to do that, but which affects other sites as well, is to use the 'Clear History' feature of the browser. + +Check your browser's help or documentation for details. + +## Enable utterances + +`utterances` is a lightweight comments widget built on GitHub issues. + +Firstly, choose the repository utterances will connect to: +1. Make sure the repo is public, otherwise your readers will not be able to view the issues/comments. +2. Make sure the [utterances app](https://github.com/apps/utterances) is installed on the repo, otherwise users will not be able to post comments. +3. If your repo is a fork, navigate to its settings tab and confirm the issues feature is turned on. + +Secondly,In the site config file set the param `utterances.repo` to enable it. + +E.g. for `config.yaml` +```yaml +params: + utterances: + repo: username/username.github.io + issueTerm: title + theme: github-light +``` + +Refer to [utterances](https://utteranc.es/) for more information! + +## Non-Git Repo + +If your site is **not** a git repo, then set `enableGitInfo` to `false` in your config file. + +## Getting help + +If you run into an issue that isn't answered by this documentation or the [`exampleSite`](https://github.com/zwbetz-gh/cupper-hugo-theme/tree/master/exampleSite), then visit the [Hugo forum](https://discourse.gohugo.io/). The folks there are helpful and friendly. **Before** asking your question, be sure to read the [requesting help guidelines](https://discourse.gohugo.io/t/requesting-help/9132). + +## Credits + +Thank you to [Heydon Pickering](http://www.heydonworks.com) and [The Paciello Group](https://www.paciellogroup.com/) for creating the original Cupper project. diff --git a/themes/cupper-hugo-theme/archetypes/default.md b/themes/cupper-hugo-theme/archetypes/default.md new file mode 100644 index 0000000..d677d28 --- /dev/null +++ b/themes/cupper-hugo-theme/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +tags: [] +--- + diff --git a/themes/cupper-hugo-theme/assets/css/search.css b/themes/cupper-hugo-theme/assets/css/search.css new file mode 100644 index 0000000..77a424b --- /dev/null +++ b/themes/cupper-hugo-theme/assets/css/search.css @@ -0,0 +1,8 @@ +#search { + height: 50px; + width: 100%; + padding: 8px; + border: 2px solid; + line-height: 1.6; + font-size: 1.25rem; +} diff --git a/themes/cupper-hugo-theme/assets/css/template-styles.css b/themes/cupper-hugo-theme/assets/css/template-styles.css new file mode 100644 index 0000000..b2408e5 --- /dev/null +++ b/themes/cupper-hugo-theme/assets/css/template-styles.css @@ -0,0 +1,1246 @@ +/* Fonts */ +@import url("https://fonts.bunny.net/css?family=miriam-libre:400,700"); + +::-webkit-scrollbar { + display: none; +} + +*, +*::before, +*::after { + font-family: inherit; + background-color: inherit; + color: inherit; + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.fourohfour { + display: flex; + justify-content: space-evenly; + flex-direction: column; +} + +html { + font-size: calc(1em + 0.33vw); + font-family: Arial, Helvetica Neue, sans-serif; + line-height: 1.5; + color: #111; + background-color: #E1D9D1; +} + +html, +body { + /* Fixes #77 */ + overscroll-behavior-y: none; +} + +template { + display: none !important; +} + +br, +dt, +dd, +th, +td, +option, +[hidden]+*, +li+li, +body, +.main-and-footer { + margin-top: 0; +} + +p+p { + margin-top: 0.75rem; +} + +.priority { + margin-top: 0; +} + +a { + text-decoration: none; +} + +abbr { + text-decoration: none; + cursor: help; + border-bottom: 1px dashed; +} + +img { + max-width: 100%; + max-height: 50vh; + border-radius: 2px; +} + +.img-link { + border-bottom: none; +} + +p img { + margin: 0.75rem 0; +} + +figure p img { + margin: 0; +} + + +a { + outline-offset: 2px; +} + +/* Katex math typesetting */ +.katex * { + margin-top: 0; + background-color: transparent; +} + + +[hidden] { + display: none; +} + +/* Skip link */ +[href="#main"] { + display: block; + width: 100%; + padding: none; + color: #E1D9D1; + background: #000; + position: absolute; + top: -3rem; + text-align: center; + z-index: 1; +} + + +/* Text styles */ +h1, +h2, +h3, +h4 { + font-family: Miriam Libre, serif; + line-height: 1.125; +} + +h1 { + font-size: 2rem; +} + +h2 { + font-size: 1.66rem; +} + +h3 { + font-size: 1.25rem; +} + +h4, +h5 { + font-size: 1rem; + font-family: PT Sans, sans-serif; +} + +h5 { + font-size: 0.85rem; + text-transform: uppercase; +} + +kbd { + line-height: 1; + font-size: 0.66rem; + padding: 0.1rem 0.33rem; + border-radius: 0.25rem; + border: 2px solid; + box-shadow: 0.125rem 0.125rem 0 #111; + vertical-align: 0.33em; +} + +pre, +.file-tree { + overflow-x: auto; + padding: 1.5rem; + border: 1px solid; +} + +code { + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 0.85em; +} + +.cmd { + padding: 0.75rem; + background: #111; +} + +.cmd code { + color: #E1D9D1; + white-space: pre-wrap; +} + +.cmd code::before { + content: '$'; + font-weight: bold; + padding-right: 0.25em; +} + +.cmd code::selection { + background: #E1D9D1; + color: rgba(0, 0, 0, .8); +} + +/* Lists */ +main ul, +main ol { + margin-left: 2.25rem; +} + +main li+li { + margin-top: 0.5rem; +} + +main ul ul, +main ol ol, +main li ul, +main li ol { + margin-top: 0.5rem; +} + +ol ol { + list-style: lower-latin; +} + +ol ol ol { + list-style: lower-roman; +} + +main dt { + font-weight: bold; +} + +main dd { + padding-left: 2rem; +} + +dd ul { + margin-left: 0; +} + +dd li+li { + margin: 0; +} + +/* Blockquotes */ +blockquote { + border-left: 0.5rem solid; + padding-left: 0.75rem; +} + +blockquote .author { + font-size: 0.85rem; +} + +/* Buttons */ +button { + font-size: 1.25rem; + border-radius: 0.33em; + font-family: inherit; + background: #111; + color: #E1D9D1; + padding: 0.75rem; + border: 0; +} + +[data-launch] { + font-size: 0.66rem !important; + padding: 0.5rem !important; + margin-top: 0 !important; + border-radius: 0 !important; + border-top-left-radius: 0.33rem !important; + box-shadow: none !important; + background: #111 !important; + color: #E1D9D1 !important; + position: absolute !important; + right: 0 !important; + bottom: 0 !important; +} + +/* Forms */ +label { + display: inline-block; + font-weight: bold; +} + +[for="themer"] { + background: #111; + border-radius: 0.33em; + color: #E1D9D1; + padding: 0.25em 0.75em; + margin: 0.5rem; +} + +[for="themer"] [aria-hidden]::before { + content: 'off'; +} + +[for="themer"] :checked+[aria-hidden]::before { + content: 'on'; +} + +/* Tables */ +table { + text-align: left; + table-layout: fixed; + width: 100%; + border-collapse: collapse; +} + +th, +td { + border: 2px solid; + padding: 0.5rem; + line-height: 1.25; + margin: 0; +} + +th { + font-weight: bold; +} + +th:empty { + border: 0; +} + +/* Tested using... table */ +.tested { + text-align: center; + border: 1px solid #111; +} + +.tested tr { + display: flex; + flex-flow: row wrap; +} + +.tested td, +.tested th { + vertical-align: middle; + overflow: hidden; + flex: 1 0 auto; + border: 1px solid #111; +} + +.tested th { + width: 100%; + background-color: #111; + color: #E1D9D1; + outline-color: #111; +} + +.tested img { + max-width: 3rem; +} + +.tested span { + display: block; + margin: 0; +} + +.tested .additional { + font-size: 0.85rem; +} + +caption { + font-size: 1.125rem; + padding-bottom: 0.25rem; + font-style: italic; +} + +/* Page structure */ +.wrapper { + position: relative; + margin-top: 0; + overflow-x: hidden; +} + +.intro-and-nav { + font-size: 0.8rem; + width: 15rem; + height: 100vh; + position: fixed; + top: 0; + left: 0; + border-right: 2px solid; + background: #353535; + border-bottom: 4px solid #434343; + box-shadow: 0 1px 3px rgba(0, 0, 0, .25); + color: #E1D9D1; +} + +.intro-and-nav>div { + padding: 2.25rem; + display: flex; + flex-direction: column; + height: 100%; +} + +.intro { + flex: 0 0 auto; +} + +.patterns { + flex: 1 1 auto; +} + +.logo { + border: 0; +} + +.logo img { + width: 100%; + max-width: 12rem; +} + +.library-desc { + margin-top: 0.5rem; + margin-left: auto; + margin-right: auto; + max-width: 25rem; +} + +.main-and-footer { + margin-left: 15rem; +} + +.main-and-footer>div { + max-width: 40rem; + margin: 0 auto; + padding: 2.25rem; +} + +[role="contentinfo"] { + font-size: 0.85rem; + /** margin-top: 4rem; **/ + text-align: center; +} + +/* Patterns navigation */ +.patterns { + overflow: auto; + margin-top: 1.5rem; + min-width: max-content; +} + +.patterns * { + margin-top: 0; +} + +.patterns h3 { + font-size: 1rem; +} + +.patterns h3+ul { + margin-top: 0.75rem; +} + +.patterns li { + line-height: 1.125; + list-style: none; +} + +.patterns li+li {} + +.patterns ul ul { + margin-left: 0.75rem; +} + +.pattern a { + border: 0; + display: flex; + flex-wrap: nowrap; + align-items: baseline; + font-weight: bold; + padding: 0 1rem; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + + +.pattern span { + margin-left: 0.125rem; +} + +/* After */ +.pattern [aria-current] { + background: linear-gradient(#2a2a29, #1c1c1c); + clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%); + color: #E1D9D1; +} + +/* Menu button */ +#menu-button { + display: none; + width: 100%; + text-align: center; +} + + +/* Tables of contents */ +.toc { + font-size: 0.85rem; + border: 1px solid; + padding: 1.5rem; +} + +.toc nav { + margin-top: 1rem; +} + +.toc ol { + margin-left: 0.75rem; + margin-top: 0.5rem; +} + +/* Disqus Comments */ +#disqus-container { + text-align: center; +} + +#disqus-button { + width: 100%; + padding: 0.25em 0.75em; +} + +#disqus-comments { + display: none; +} + +/* Pattern lists */ +.patterns-list { + list-style: none; + margin-left: 0; +} + +.patterns-list h2 { + font-size: 1.25rem; + line-height: 1.6; +} + +.patterns-list li+li { + margin-top: 1rem; + padding-top: 1rem; + border-top: 2px solid; +} + +.patterns-list a { + border: 0; +} + +/* Tags */ +.tags { + margin-top: 0; + font-size: 0.85rem; +} + +.tags * { + display: inline; + margin: 0; +} + +.tags strong { + margin-right: 0.25rem; +} + +.tags li { + white-space: nowrap; + margin: 0 0.25rem 0 0; +} + +/* Date */ +.date { + margin-top: 0; + font-size: 0.85rem; +} + +/* Notes and warnings */ +.note { + border-left: 0.5rem solid; + font-size: 0.85rem; +} + +.note .sign { + height: 2.25rem; + width: 2.25rem; +} + +.note>div { + margin-left: 0.75rem; +} + +.note>div>img:first-child { + height: 1.5rem; +} + +.note>div>:first-child+* { + margin-top: 0; +} + +.note.warning { + border-left: 0; + background-image: url(http://localhost:1313/css/images/stripe.svg); + background-size: 0.5rem auto; + background-repeat: repeat-y; +} + +.note.warning>div { + margin-left: 1.25rem; +} + +/* Tick lists */ +.ticks li { + list-style: none; + position: relative; +} + +.ticks li::before { + content: ''; + display: inline-block; + width: 1rem; + height: 1rem; + margin-right: 0.25rem; + background-image: url(http://localhost:1313/css/images/icon-tick.svg); + background-size: 100% auto; + position: absolute; + left: -1.25rem; + top: 0.25rem; +} + +/* Figures */ +figure { + text-align: center; +} + +figcaption { + font-size: 0.85rem; + font-style: italic; + margin-top: 0.5rem; +} + +main { + display: block; + counter-reset: fig; + min-height: 100vh; +} + +figcaption::before { + counter-increment: fig; + content: 'Figure 'counter(fig) ':\0020'; + font-weight: bold; +} + +/* Code blocks */ +pre[class*=language-] { + background: none; + margin-top: 2.25rem; + margin-bottom: 0; + overflow-y: hidden; + overflow-x: auto; +} + +code[class*="language-"], +pre[class*="language-"] { + text-shadow: none; + /* filter: grayscale(100%); */ +} + +pre[class*=language-][data-line] { + padding: 1em 0 0 2.25rem; +} + +pre[class*=language-] code * { + margin-top: 0 !important; +} + +[data-codeblock-shortcode], +.code-annotated code { + display: inline-block; + margin-top: -1rem; +} + +.code-annotated { + overflow-y: hidden; + overflow-x: auto; + padding: 1.5rem; + border: 1px solid; + white-space: pre; + counter-reset: annotation; +} + +.highlight { + background: #ddd; + padding: 0.0625rem 0.33rem; + border-radius: 0.5rem; +} + +.numbered .highlight::after, +.code-annotated.numbered+ol li::before { + counter-increment: annotation; + content: counter(annotation); + font-weight: bold; + font-size: 0.5rem; + background: #111; + color: #E1D9D1; + border-radius: 1rem; + margin-left: 0.25rem; + padding: 0.125em 0.5em; + vertical-align: 0.33em; +} + +.code-annotated.numbered+ol { + list-style: none; + counter-reset: annotation; +} + +.code-annotated.numbered+ol li::before { + font-size: 0.66em; + margin-right: 0.33em; + vertical-align: 0.25em; +} + +/* File tree lists */ +.file-tree { + overflow-x: auto; +} + +.file-tree ul { + font-family: Courier, monospace; + margin: 0; + padding: 0; + padding-left: 3rem; + list-style: none; + line-height: 1.25; + position: relative; +} + +.file-tree>ul { + padding-left: 0; + overflow-x: auto; + overflow-y: hidden; +} + +.file-tree li { + background: #E1D9D1; + position: relative; + white-space: nowrap; +} + +.file-tree li+li { + margin-top: 0; +} + +.file-tree li:not(:last-child)>ul::before { + content: '\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020\2502\0020'; + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 1em; + white-space: normal; +} + +.file-tree li::before { + content: '\251C\2500\2500\0020'; +} + +.file-tree li:last-child::before { + content: '\2514\2500\2500\0020'; +} + +/* Expandable sections */ +.expandable-section { + border-top: 1px solid; + border-bottom: 1px solid; + padding: 0.75rem 0; +} + +[id^="js-expandable-"] { + margin: 0; + padding: 1.5rem 0 0.75rem; +} + +@media screen { + .expandable-section+.expandable-section { + margin-top: 0; + border-top: 0; + } +} + +[data-expands] { + text-align: left; + color: #111; + border: 0; + background: none; + width: 100%; + padding: 0; + margin: 0; + display: flex; + align-items: center; + justify-content: space-between; + cursor: pointer; +} + +[data-expands] svg { + margin-top: 0; + width: 1em; + height: 1em; +} + +[data-expands][aria-expanded="true"] svg .up-strut { + display: none; +} +* + * { + margin-top: 2.25rem; +} + + +p:empty { + display: none; +} + +*:not(p)+p:empty+p { + margin-top: 2.25rem; +} + +/* WCAG and principles */ +.wcag li { + font-size: 0.85em; +} + +.principles p { + font-size: 0.85rem; + margin-top: 0.75rem; +} + +.principles.with-desc>li+li, +.wcag.with-desc>li+li { + border-top: 1px solid; + margin-top: 0.75rem; + padding-top: 0.75rem; +} + +/* Site errors */ +.site-error { + padding: 1.5rem; + background: #efefef; +} + +.site-error strong { + color: #C83737; +} + +/* SVG icons */ +a svg, +button svg, +h1 svg, +th svg, +li>svg { + height: 0.75em; + width: 0.75em; + margin-right: 0.25em; +} + +h1 svg { + margin-right: 0; + width: 0.85em; + height: 0.85em; +} + +.wcag-icon { + width: 1.25em; +} + +.bookmark-icon { + vertical-align: middle; +} + +.link-icon { + width: 0.75em; + height: 0.75em; +} + +.tags svg, +.link-icon { + vertical-align: middle; +} + +.balloon-icon { + width: 0.75em; + margin-right: 0; +} + +.print { + white-space: nowrap; + font-style: normal; +} + +/* Color palettes */ +.colors { + display: flex; + height: 5rem; + margin: -0.25rem; + list-style: none; + flex-wrap: nowrap; +} + +.colors li { + margin: 0.25rem; + flex: 1 0 auto; + position: relative; +} + +.colors span { + line-height: 1; + background-color: #111; + color: #E1D9D1; + font-size: 0.75rem; + padding: 0.25rem; + position: absolute; + bottom: 0.25rem; + right: 0.25rem; +} + +/* Cross references */ +.pattern-link { + font-weight: bold; +} + +/* Inline demos */ +.demo-inner { + border-top: 1px solid; + border-bottom: 1px solid; + padding: 1.5rem 0; + position: relative; +} + +[id^="js-demo-"] { + all: initial; + display: block; +} + +/* Section links */ +.h2-container { + position: relative; + font-size: 1.66rem; +} + +.h2-container .link-icon { + position: absolute; + margin-top: 0; + top: 0; + line-height: 1; + left: -1em; + border: 0; + display: none; +} + +/* Single page layout */ +.wrapper.print-version .main-and-footer { + margin-left: 0; +} + +.wrapper.print-version .intro-and-nav { + position: static; + border: 0; + width: auto; + text-align: center; + display: flex; + align-items: center; + justify-content: center; +} + +.wrapper.print-version main { + min-height: 0; +} + +.wrapper.print-version .library-desc { + font-size: 1rem; +} + +.wrapper.print-version .intro-and-nav>div { + height: auto; +} + +.wrapper.print-version #patterns-list { + margin-left: 0; + margin-top: 1.5rem; + display: block; +} + +.wrapper.print-version .toc { + font-size: 1rem; +} + +.wrapper.print-version .toc h2 { + font-size: 1.66rem; +} + +.wrapper.print-version #patterns-list h3 { + font-size: 1.25rem; +} + +.wrapper.print-version .patterns { + margin-top: 0; +} + +.pattern-section:not(:last-child) { + padding-bottom: 2.25rem; + border-bottom: 2px solid; +} + +.pattern-section h1 { + padding: 0 !important; +} + +/* Custom 404 */ +.custom-404 { + text-align: center; +} + +.custom-404 * { + margin: 0; +} + +.custom-404 svg { + max-width: 100%; +} + +/* Utilities */ +.vh { + clip: rect(1px, 1px, 1px, 1px); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; +} + +.gallery { + display: flex; + justify-content: center; +} + +/* Media queries */ +@media screen and (max-width: 45em) { + body a { + hyphens: auto; + } + + [role="banner"] { + position: static; + width: auto; + height: auto; + } + + .intro { + text-align: center; + } + + .intro-and-nav { + border-right: none; + } + + .intro-and-nav>div { + padding: 1.5rem; + } + + .main-and-footer { + margin: 0; + } + + #patterns-list { + margin-top: 0.5rem; + border: 1px solid; + } + + .patterns h3 { + font-size: 1.5rem; + padding: 1.5rem 1rem 0.75rem; + } + + .patterns li:not(.pattern) { + margin-top: 0; + } + + .patterns ul ul { + margin: 0; + } + + .patterns li { + margin-top: 0; + } + + .pattern { + font-size: 1rem; + } + + .pattern a { + padding: 1rem; + } + + .pattern [aria-current] { + clip-path: none; + padding: 1rem; + } + + .pattern+.pattern { + border-top: 1px solid; + margin-top: 0; + } + + #menu-button { + display: block; + background: linear-gradient(#2a2a29, #1c1c1c); + } + + #patterns-list { + display: none; + } + + .toc-link { + display: none; + } + + [aria-expanded="true"]+#patterns-list { + display: block; + border-color: transparent; + } + + code { + word-break: break-all; + } +} + +@media print { + + .wrapper:not(.print-version) .intro-and-nav, + .wrapper:not(.print-version) [role="contentinfo"] { + display: none; + } + + .main-and-footer { + margin-left: 0; + } + + a { + border: 0; + } + + main a::after { + content: " ("attr(href) ")"; + word-break: break-word; + } + + main nav a::after { + content: ''; + } + + .cmd code { + background: #E1D9D1; + color: #111; + } + + pre code { + white-space: pre-wrap !important; + } + + .expandable-section { + border: 0; + padding: 0; + } + + .expandable-section+p { + margin-top: 0.75rem; + } + + [id^="js-expandable-"] { + display: block; + } + + [data-expands] svg { + display: none; + } + + main *:not(.with-desc) { + page-break-inside: avoid; + } + + .note.warning { + border-left: 0.5rem solid; + background: none; + } +} + +@media (-ms-high-contrast: active) { + img[src*=".svg"] { + background: #E1D9D1; + padding: 0.5rem; + } + + .ticks li::before { + content: '✓'; + background: none; + width: auto; + top: 0; + } + + .note.warning { + border-left: 0.5rem solid; + background: none; + } +} + +::-moz-selection { + /* Code for Firefox */ + background: rgba(0, 0, 0, .8); + color: #E1D9D1; +} + +::selection { + background: rgba(0, 0, 0, .8); + color: #E1D9D1; +} + +embed, +iframe, +object { + max-width: 100%; +} + +hr { + border: 0; + outline: none; + height: 3px; + background: transparent url("data:image/gif;base64,R0lGODlhBQADAKIAACQjJCQkJCUkJSEhISUlJUNDQwAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjEgNjQuMTQwOTQ5LCAyMDEwLzEyLzA3LTEwOjU3OjAxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg0QzlEN0VBNjU1RTExRTFBQjJFOTM1RTIxNzM5QUFEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg0QzlEN0VCNjU1RTExRTFBQjJFOTM1RTIxNzM5QUFEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODRDOUQ3RTg2NTVFMTFFMUFCMkU5MzVFMjE3MzlBQUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODRDOUQ3RTk2NTVFMTFFMUFCMkU5MzVFMjE3MzlBQUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAABQADAAADCFhaA0QiLJYAADs=") center center repeat-x; + margin: 0 0 20px; + margin-top: 25px; +} +a:hover, +a:active{ + color: #FFA500; +} +.emoji{ + display: inline !important; + border: none !important; + box-shadow: none !important; + height: 1em !important; + width: 1em !important; + margin: 0 0.07em !important; + vertical-align: -0.1em !important; + background: none !important; + padding: 0 !important; +} \ No newline at end of file diff --git a/themes/cupper-hugo-theme/assets/js/search.js b/themes/cupper-hugo-theme/assets/js/search.js new file mode 100644 index 0000000..f760b85 --- /dev/null +++ b/themes/cupper-hugo-theme/assets/js/search.js @@ -0,0 +1,21 @@ +(function () { + function onEvent() { + var filter = search.value.toUpperCase(); + var list = document.getElementById("list"); + var listItems = list.getElementsByTagName("li"); + for (i = 0; i < listItems.length; i++) { + var item = listItems[i]; + var text = item.innerText.toUpperCase(); + if (text.indexOf(filter) > -1) { + item.style.display = ""; + } else { + item.style.display = "none"; + } + } + } + + var search = document.getElementById("search"); + if (search) { + search.addEventListener("keyup", onEvent); + } +})(); diff --git a/themes/cupper-hugo-theme/assets/js/template-dom-scripts.js b/themes/cupper-hugo-theme/assets/js/template-dom-scripts.js new file mode 100644 index 0000000..a9c9d10 --- /dev/null +++ b/themes/cupper-hugo-theme/assets/js/template-dom-scripts.js @@ -0,0 +1,162 @@ +/* Expandable sections */ +(function () { + function toggle (button, target) { + var expanded = button.getAttribute('aria-expanded') === 'true'; + button.setAttribute('aria-expanded', !expanded); + target.hidden = !target.hidden; + } + + var expanders = document.querySelectorAll('[data-expands]'); + + Array.prototype.forEach.call(expanders, function (expander) { + var target = document.getElementById(expander.getAttribute('data-expands')); + + expander.addEventListener('click', function () { + toggle(expander, target); + }) + }) +}()); + +/* Menu button */ +(function () { + var button = document.getElementById('menu-button'); + if (button) { + var menu = document.getElementById('patterns-list'); + button.addEventListener('click', function() { + var expanded = this.getAttribute('aria-expanded') === 'true'; + this.setAttribute('aria-expanded', !expanded); + }) + } +}()); + +/* Persist navigation scroll point */ +(function () { + window.onbeforeunload = function () { + var patternsNav = document.getElementById('patterns-nav'); + if (patternsNav) { + var scrollPoint = patternsNav.scrollTop; + localStorage.setItem('scrollPoint', scrollPoint); + } + } + + window.addEventListener('DOMContentLoaded', function () { + if (document.getElementById('patterns-nav')) { + if (window.location.href.indexOf('patterns/') !== -1) { + document.getElementById('patterns-nav').scrollTop = parseInt(localStorage.getItem('scrollPoint')); + } else { + document.getElementById('patterns-nav').scrollTop = 0; + } + } + }) +}()); + +{{ if not .Site.Params.hideHeaderLinks }} + /* Add "link here" links to

headings */ + (function () { + var headings = document.querySelectorAll('h2, h3, h4, h5, h6'); + + Array.prototype.forEach.call(headings, function (heading) { + var id = heading.getAttribute('id'); + + if (id) { + var newHeading = heading.cloneNode(true); + newHeading.setAttribute('tabindex', '-1'); + + var container = document.createElement('div'); + container.setAttribute('class', 'h2-container'); + container.appendChild(newHeading); + + heading.parentNode.insertBefore(container, heading); + + var link = document.createElement('a'); + link.setAttribute('href', '#' + id); + link.innerHTML = ''; + + container.appendChild(link); + + heading.parentNode.removeChild(heading); + } + }) + }()); +{{ end }} + +/* Enable scrolling by keyboard of code samples */ +(function () { + var codeBlocks = document.querySelectorAll('pre, .code-annotated'); + + Array.prototype.forEach.call(codeBlocks, function (block) { + if (block.querySelector('code')) { + block.setAttribute('role', 'region'); + block.setAttribute('aria-label', 'code sample'); + if (block.scrollWidth > block.clientWidth) { + block.setAttribute('tabindex', '0'); + } + } + }); +}()); + +/* Switch and persist theme */ +(function () { + var checkbox = document.getElementById('themer'); + + function persistTheme(val) { + localStorage.setItem('darkTheme', val); + } + + function applyDarkTheme() { + var darkTheme = document.getElementById('darkTheme'); + darkTheme.disabled = false; + } + + function clearDarkTheme() { + var darkTheme = document.getElementById('darkTheme'); + darkTheme.disabled = true; + } + + function defaultDarkTheme() { +{{- with .Site.Params.defaultDarkTheme }} + if (localStorage.getItem('darkTheme') == null) { + persistTheme('true'); + checkbox.checked = true; + } +{{- else }} + if (localStorage.getItem('darkTheme') == null) { + persistTheme('false'); + checkbox.checked = false; + } +{{ end }} + } + + checkbox.addEventListener('change', function () { + defaultDarkTheme(); + if (this.checked) { + applyDarkTheme(); + persistTheme('true'); + } else { + clearDarkTheme(); + persistTheme('false'); + } + }); + + function showTheme() { + if (localStorage.getItem('darkTheme') === 'true') { + applyDarkTheme(); + checkbox.checked = true; + } else { + clearDarkTheme(); + checkbox.checked = false; + } + } + + function showContent() { + document.body.style.visibility = 'visible'; + document.body.style.opacity = 1; + } + + window.addEventListener('DOMContentLoaded', function () { + defaultDarkTheme(); + showTheme(); + showContent(); + }); + +}()); diff --git a/themes/cupper-hugo-theme/data/principles.json b/themes/cupper-hugo-theme/data/principles.json new file mode 100644 index 0000000..9864138 --- /dev/null +++ b/themes/cupper-hugo-theme/data/principles.json @@ -0,0 +1,149 @@ +{ + "title": "Inclusive Design Principles", + "description": "

These Inclusive Design Principles are about putting people first. It's about designing for the needs of people with permanent, temporary, situational, or changing disabilities — all of us really.

They are intended to give anyone involved in the design and development of websites and applications - designers, user experience professionals, developers, product owners, idea makers, innovators, artists and thinkers - a broad approach to inclusive design.

For more background, read about the Inclusive Design Principles on the TPG blog.

", + "authors": [ + "Léonie Watson", + "Henny Swan", + "Ian Pouncey", + "Heydon Pickering" + ], + "principles": [ + { + "title": "Provide comparable experience", + "strapline": "Ensure your interface provides a comparable experience for all so people can accomplish tasks in a way that suits their needs without undermining the quality of the content.", + "description": "Whether out of circumstance, choice, or context people are diverse. As people use different approaches and tools to read and operate interfaces, what the interface offers each user should be comparable in value, quality, and efficiency.", + "examples": [ + { + "title": "Content for alternatives", + "description": "Having a basic alternative, whether it's alt text, a transcript, audio description, or sign language, makes the content accessible but to be equivalent it needs to capture the essence of the original." + }, + { + "title": "Ergonomic features", + "description": "Providing synchronized closed captions makes your video accessible. But making them customizable, color coded, and repositionable provides a more comparable experience." + }, + { + "title": "Notifications", + "description": "Notifications that appear in an interface are visually obvious but require proactive discovery by screen reader users. A comparable experience for blind users, can be achieved by using a live region. The notification then requires no explicit action on the part of the user." + } + ] + }, + { + "title": "Consider situation", + "strapline": "People use your interface in different situations. Make sure your interface delivers a valuable experience to people regardless of their circumstances.", + "description": "People are first time users, established users, users at work, users at home, users on the move, and users under pressure. All of these situations can have an impact. For those who already find interaction challenging, such as those with disabilities, this impact may make usage particularly difficult.", + "examples": [ + { + "title": "Colour contrast", + "description": "When using an interface outdoors, good contrast lessens the impact of bright sunshine." + }, + { + "title": "Context sensitive help", + "description": "Users may need help when they first encounter a complex form or interaction. This help may become redundant, even distracting, as a user becomes more familiar with the form or interaction. Context sensitive help provides the user with choice as to when they access help and better control over the page." + }, + { + "title": "Captions on the go", + "description": "You're aware that the video content you are providing will be consumed on mobile devices, which may be in public spaces where people might prefer to consume the content without being antisocial. For smaller viewports, sound is switched off and captions activated by default." + } + ] + }, + { + "title": "Be consistent", + "strapline": "Use familiar conventions and apply them consistently.", + "description": "Familiar interfaces borrow from well-established patterns. These should be used consistently within the interface to reinforce their meaning and purpose. This should be applied to functionality, behavior, editorial, and presentation. You should say the same things in the same way and users should be able to do the same things in the same way.", + "examples": [ + { + "title": "Consistent design patterns", + "description": "Use consistent web and platform design patterns to help build familiarity and understanding." + }, + { + "title": "Consistent editorial", + "description": "Use plain language consistently across platforms including editorial that is relied on by screen reader users such as text alternatives, headings, labels for buttons and so on. Keeping editorial style consistent is also important e.g. making sure the top of the article always has a clearly marked summary paragraph, making sure bullets always start with a bolded definition." + }, + { + "title": "Consistent page architecture", + "description": "Use consistent page architecture across templates to help people scan and navigate key content." + } + ] + }, + { + "title": "Give control", + "strapline": "Ensure people are in control. People should be able to access and interact with content in their preferred way.", + "description": "Do not suppress or disable the ability to change standard browser and platform settings such as orientation, font size, zoom, and contrast. In addition, avoid content changes that have not been initiated by the user unless there is a way to control it.", + "examples": [ + { + "title": "Scrolling control", + "description": "'Infinite scrolling' can be problematic, especially for users navigating by keyboard because they can't get past the stream of refreshing content. Give the option to turn off this feature and replace it with a 'load more' button." + }, + { + "title": "Make it stop", + "description": "Some users find that animations or parallax scrolling cause nausea, and others find them plain distracting. Where they play automatically, they should at least be easy to stop, by providing prominent playback controls." + }, + { + "title": "Allow zoom", + "description": "There are many reasons why a user may want to operate the pinch-to-zoom gesture on their touch device. Make sure it is not suppressed, and that the content does not get obscured when it is put to use." + } + ] + }, + { + "title": "Offer choice", + "strapline": "Consider providing different ways for people to complete tasks, especially those that are complex or non standard.", + "description": "There is often more than one way to complete a task. You cannot assume what someone's preferred way might be. By providing alternatives for layout and task completion, you offer people choices that suit them and their circumstances at the time.", + "examples": [ + { + "title" : "Multiple ways to complete an action", + "description": "Where appropriate, provide multiple ways to complete an action. On mobile swipe to delete an item can be supported together with an edit button that allows you to select items then delete. An example of this is in iOS mail." + }, + { + "title": "Layout", + "description": "Where there are long lists of content consider offering a grid or list layout option. This supports people who may want larger images on screen or smaller rows." + }, + { + "title": "Accessible alternatives", + "description": "Alternative ways of presenting data, such as data tables for info graphics, should be available to all users, as an option rather than a hidden link just for screen reader users. Accessible alternatives can benefit not just a specific target group but all users as long as we offer the choice." + } + ] + }, + { + "title": "Prioritise content", + "strapline": "Help users focus on core tasks, features, and information by prioritising them within the content and layout.", + "description": "Interfaces can be difficult to understand when core features are not clearly exposed and prioritised. A site or application may provide lots of information and functionality, but people should be able to focus on one thing at a time. Identify the core purpose of the interface, and then the content and features needed to fulfill that purpose.", + "examples": [ + { + "title": "Keep task focused", + "description": "Progressively reveal features and content when needed, not all in one go." + }, + { + "title": "Prioritising tasks", + "description": "An email application is principally for writing and reading email. The 'compose' button is, therefore, present on all screens, and early in the focus order. The inbox is prioritised over other lists of email, such as 'sent' and 'spam' messages. Less used features such as tagging or organizing email into folders appear later in the focus order, as they will generally only be used when the primary task of reading the email is complete." + }, + { + "title": "Prioritising content", + "description": "The primary content on a news article page is the story, therefore it should come before other content, both visually and in the source order. Related content, such as similar articles, should follow it, and unrelated content after that." + }, + { + "title": "Prioritising editorial", + "description": "Editorial for links, headings and buttons should use plain language and put the primary text first. This applies to both visible and hidden text. This makes the text easy to scan both visually and audibly for screen reader users. Plain language also benefits non native speakers and is easier to translate." + } + ] + }, + { + "title": "Add value", + "strapline": "Consider the value of features and how they improve the experience for different users.", + "description": "Features should add value to the user experience by providing efficient and diverse ways to find and interact with content. Consider device features such as voice, geolocation, camera and vibration API's, and how integration with connected devices or a second screen could provide choice.", + "examples": [ + { + "title": "Integration with connected devices or second screen", + "description": "Using voice interfaces to control multimedia, search for content, output from music or TV adds value for people who struggle to use other interfaces." + }, + { + "title": "Integration with platform APIs", + "description": "Enhance functionality using platform features. The vibration API makes notifications more usable by deaf and hard of hearing people while the geolocation API makes it easier for people with mobility impairments to use location based services." + }, + { + "title": "Make task completion easier", + "description": "Add a 'Show password' button to input fields so users can verify they have correctly inputted text, or add touch identification for password protected areas." + } + ] + } + ] +} diff --git a/themes/cupper-hugo-theme/data/wcag.json b/themes/cupper-hugo-theme/data/wcag.json new file mode 100644 index 0000000..8192898 --- /dev/null +++ b/themes/cupper-hugo-theme/data/wcag.json @@ -0,0 +1,1427 @@ +[ + { + "ref_id": "1.1.1", + "title": "Non-text Content", + "description": "All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below. (", + "url": "https://www.w3.org/TR/WCAG20/#text-equiv-all", + "level": "A", + "special_cases": [ + { + "type": "exception", + "title": "Controls, Input", + "description": "If non-text content is a control or accepts user input, then it has a name that describes its purpose. (Refer to Guideline 4.1 for additional requirements for controls and content that accepts user input.)" + }, + { + "type": "exception", + "title": "Time-Based Media", + "description": "If non-text content is time-based media, then text alternatives at least provide descriptive identification of the non-text content. (Refer to Guideline 1.2 for additional requirements for media.)" + }, + { + "type": "exception", + "title": "Test", + "description": "If non-text content is a test or exercise that would be invalid if presented in text, then text alternatives at least provide descriptive identification of the non-text content." + }, + { + "type": "exception", + "title": "Sensory", + "description": "If non-text content is primarily intended to create a specific sensory experience, then text alternatives at least provide descriptive identification of the non-text content." + }, + { + "type": "exception", + "title": "CAPTCHA", + "description": "If the purpose of non-text content is to confirm that content is being accessed by a person rather than a computer, then text alternatives that identify and describe the purpose of the non-text content are provided, and alternative forms of CAPTCHA using output modes for different types of sensory perception are provided to accommodate different disabilities." + }, + { + "type": "exception", + "title": "Decoration, Formatting, Invisible", + "description": "If non-text content is pure decoration, is used only for visual formatting, or is not presented to users, then it is implemented in a way that it can be ignored by assistive technology." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-text-equiv-all" + }, + { + "title": "Understanding 1.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/text-equiv-all.html" + } + ] + }, + { + "ref_id": "1.2.1", + "title": "Audio-only and Video-only (Prerecorded", + "description": "For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such.", + "url": "https://www.w3.org/TR/WCAG20/", + "level": "A", + "special_cases": [ + { + "type": "all_true", + "title": "Prerecorded Audio-only", + "description": "An alternative for time-based media is provided that presents equivalent information for prerecorded audio-only content." + }, + { + "type": "all_true", + "title": "Prerecorded Video-only", + "description": "Either an alternative for time-based media or an audio track is provided that presents equivalent information for prerecorded video-only content" + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-av-only-alt" + }, + { + "title": "Understanding 1.2.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-av-only-alt.html" + } + ] + }, + { + "ref_id": "1.2.2", + "title": "Captions (Prerecorded)", + "description": "Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-captions", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-captions" + }, + { + "title": "Understanding 1.2.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-captions.html" + } + ] + }, + { + "ref_id": "1.2.3", + "title": "Audio Description or Media Alternative (Prerecorded)", + "description": "An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-audio-desc", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-audio-desc" + }, + { + "title": "Understanding 1.2.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-audio-desc.html" + } + ] + }, + { + "ref_id": "1.2.4", + "title": "Captions (Live)", + "description": "Captions are provided for all live audio content in synchronized media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-real-time-captions", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-real-time-captions" + }, + { + "title": "Understanding 1.2.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-real-time-captions.html" + } + ] + }, + { + "ref_id": "1.2.5", + "title": "Audio Description (Prerecorded)", + "description": "Audio description is provided for all prerecorded video content in synchronized media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-audio-desc-only", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-audio-desc-only" + }, + { + "title": "Understanding 1.2.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-audio-desc-only.html" + } + ] + }, + { + "ref_id": "1.2.6", + "title": "Sign Language (Prerecorded)", + "description": "Sign language interpretation is provided for all prerecorded audio content in synchronized media.", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-sign", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-sign" + }, + { + "title": "Understanding 1.2.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-sign.html" + } + ] + }, + { + "ref_id": "1.2.7", + "title": "Extended Audio Description (Prerecorded)", + "description": "Where pauses in foreground audio are insufficient to allow audio descriptions to convey the sense of the video, extended audio description is provided for all prerecorded video content in synchronized media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-extended-ad", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.7", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-extended-ad" + }, + { + "title": "Understanding 1.2.7", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-extended-ad.html" + } + ] + }, + { + "ref_id": "1.2.8", + "title": "Media Alternative (Prerecorded)", + "description": "An alternative for time-based media is provided for all prerecorded synchronized media and for all prerecorded video-only media", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-text-doc", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.8", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-text-doc" + }, + { + "title": "Understanding 1.2.8", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-text-doc.html" + } + ] + }, + { + "ref_id": "1.2.9", + "title": "Audio-only (Live)", + "description": " An alternative for time-based media that presents equivalent information for live audio-only content is provided.", + "url": "https://www.w3.org/TR/WCAG20/#media-equiv-live-audio-only", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.2.9", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-media-equiv-live-audio-only" + }, + { + "title": "Understanding 1.2.9", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/media-equiv-live-audio-only.html" + } + ] + }, + { + "ref_id": "1.3.1", + "title": "Info and Relationships", + "description": "Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.", + "url": "https://www.w3.org/TR/WCAG20/#content-structure-separation-programmatic", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.3.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-content-structure-separation-programmatic" + }, + { + "title": "Understanding 1.3.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-programmatic.html" + } + ] + }, + { + "ref_id": "1.3.2", + "title": "Meaningful Sequence", + "description": "When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.", + "url": "https://www.w3.org/TR/WCAG20/#content-structure-separation-sequence", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.3.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-content-structure-separation-sequence" + }, + { + "title": "Understanding 1.3.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-sequence.html" + } + ] + }, + { + "ref_id": "1.3.3", + "title": "Sensory Characteristics", + "description": "Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, size, visual location, orientation, or sound", + "url": "https://www.w3.org/TR/WCAG20/#content-structure-separation-understanding", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "For requirements related to color, refer to Guideline 1.4." + } + ], + "references": [ + { + "title": "How to Meet 1.3.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-content-structure-separation-understanding" + }, + { + "title": "Understanding 1.3.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-understanding.html" + } + ] + }, + { + "ref_id": "1.4.1", + "title": "Use of Color", + "description": "Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-without-color", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "This success criterion addresses color perception specifically. Other forms of perception are covered in Guideline 1.3 including programmatic access to color and other visual presentation coding." + } + ], + "references": [ + { + "title": "How to Meet 1.4.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-without-color" + }, + { + "title": "Understanding 1.4.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-without-color.html" + } + ] + }, + { + "ref_id": "1.4.2", + "title": "Audio Control", + "description": "If any audio on a Web page plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level. (Level A)", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-dis-audio", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Note: Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether or not it is used to meet other success criteria) must meet this success criterion. See Conformance Requirement 5: Non-Interference. (https://www.w3.org/TR/WCAG20/#cc5)" + } + ], + "references": [ + { + "title": "How to Meet 1.4.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-dis-audio" + }, + { + "title": "Understanding 1.4.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-dis-audio.html" + } + ] + }, + { + "ref_id": "1.4.3", + "title": "Contrast (Minimum)", + "description": " The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: ", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast", + "level": "AA", + "special_cases": [ + { + "type": "exception", + "title": "Large Text", + "description": "Large-scale text and images of large-scale text have a contrast ratio of at least 3:1" + }, + { + "type": "exception", + "title": "Incidental", + "description": "Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement." + }, + { + "type": "exception", + "title": "Logotypes", + "description": "Text that is part of a logo or brand name has no minimum contrast requirement." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-contrast" + }, + { + "title": "Understanding 1.4.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html" + } + ] + }, + { + "ref_id": "1.4.4", + "title": "Resize text", + "description": "Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-scale", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-scale" + }, + { + "title": "Understanding 1.4.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-scale.html" + } + ] + }, + { + "ref_id": "1.4.5", + "title": "Images of Text", + "description": "If the technologies being used can achieve the visual presentation, text is used to convey information rather than images of text except for the following", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-text-presentation", + "level": "AA", + "special_cases": [ + { + "type": "exception", + "title": "Customizable", + "description": "The image of text can be visually customized to the user's requirements" + }, + { + "type": "exception", + "title": "Essential", + "description": "A particular presentation of text is essential to the information being conveyed" + } + ], + "notes": [ + { + "content": "Logotypes (text that is part of a logo or brand name) are considered essential" + } + ], + "references": [ + { + "title": "How to Meet 1.4.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-text-presentation" + }, + { + "title": "Understanding 1.4.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-text-presentation.html" + } + ] + }, + { + "ref_id": "1.4.6", + "title": "Contrast (Enhanced)", + "description": "The visual presentation of text and images of text has a contrast ratio of at least 7:1, except for the following: ", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast7", + "level": "AAA", + "special_cases": [ + { + "type": "exception", + "title": "Large Text", + "description": "Large-scale text and images of large-scale text have a contrast ratio of at least 4.5:1" + }, + { + "type": "exception", + "title": "Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement.", + "description": "Incidental" + }, + { + "type": "exception", + "title": "Logotypes", + "description": "Text that is part of a logo or brand name has no minimum contrast requirement." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast7" + }, + { + "title": "Understanding 1.4.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast7.html" + } + ] + }, + { + "ref_id": "1.4.7", + "title": "Low or No Background Audio", + "description": "For prerecorded audio-only content that (1) contains primarily speech in the foreground, (2) is not an audio CAPTCHA or audio logo, and (3) is not vocalization intended to be primarily musical expression such as singing or rapping, at least one of the following is true: (Level AAA)", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-noaudio", + "level": "AAA", + "special_cases": [ + { + "type": "at_least_one", + "title": "No Background", + "description": "The audio does not contain background sounds." + }, + { + "type": "at_least_one", + "title": "Turn Off", + "description": "The background sounds can be turned off." + }, + { + "type": "at_least_one", + "title": "20 dB", + "description": "The background sounds are at least 20 decibels lower than the foreground speech content, with the exception of occasional sounds that last for only one or two seconds." + } + ], + "notes": [ + { + "content": "Per the definition of 'decibel,' background sound that meets this requirement will be approximately four times quieter than the foreground speech content." + } + ], + "references": [ + { + "title": "How to Meet 1.4.7", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-noaudio" + }, + { + "title": "Understanding 1.4.7" + } + ] + }, + { + "ref_id": "1.4.8", + "title": "Visual Presentation", + "description": "For the visual presentation of blocks of text, a mechanism is available to achieve the following:", + "url": "https://www.w3.org/TR/WCAG20/#visual-audio-contrast-visual-presentation", + "level": "AAA", + "special_cases": [ + { + "type": "all_true", + "title": "Foreground and background colors can be selected by the user." + }, + { + "type": "all_true", + "title": "Width is no more than 80 characters or glyphs (40 if CJK)" + }, + { + "type": "all_true", + "title": "Text is not justified (aligned to both the left and the right margins)." + }, + { + "type": "all_true", + "title": "Line spacing (leading) is at least space-and-a-half within paragraphs, and paragraph spacing is at least 1.5 times larger than the line spacing." + }, + { + "type": "all_true", + "title": "Text can be resized without assistive technology up to 200 percent in a way that does not require the user to scroll horizontally to read a line of text on a full-screen window." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 1.4.8", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-visual-presentation" + }, + { + "title": "Understanding 1.4.8", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-visual-presentation.html" + } + ] + }, + { + "ref_id": "1.4.9", + "title": "Images of Text (No Exception)", + "description": "Images of text are only used for pure decoration or where a particular presentation of text is essential to the information being conveyed.", + "url": "https://www.w3.org/TR/WCAG20/", + "level": "AAA", + "special_cases": null, + "notes": [ + { + "content": "Logotypes (text that is part of a logo or brand name) are considered essential." + } + ], + "references": [ + { + "title": "How to Meet 1.4.9", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-visual-audio-contrast-text-images" + }, + { + "title": "Understanding 1.4.9", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-text-images.html" + } + ] + }, + { + "ref_id": "2.1.1", + "title": "Keyboard", + "description": "All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints", + "url": "https://www.w3.org/TR/WCAG20/#keyboard-operation-keyboard-operable", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "This exception relates to the underlying function, not the input technique. For example, if using handwriting to enter text, the input technique (handwriting) requires path-dependent input but the underlying function (text input) does not." + }, + { + "content": "This does not forbid and should not discourage providing mouse input or other input methods in addition to keyboard operation." + } + ], + "references": [ + { + "title": "How to Meet 2.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-keyboard-operation-keyboard-operable" + }, + { + "title": "Understanding 2.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-keyboard-operable.html" + } + ] + }, + { + "ref_id": "2.1.2", + "title": "No Keyboard Trap", + "description": "If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away.", + "url": "https://www.w3.org/TR/WCAG20/#keyboard-operation-trapping", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criterion. See Conformance Requirement 5: Non-Interference. (https://www.w3.org/TR/WCAG20/#cc5)" + } + ], + "references": [ + { + "title": "How to Meet 2.1.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-keyboard-operation-trapping" + }, + { + "title": "Understanding 2.1.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-trapping.html" + } + ] + }, + { + "ref_id": "2.1.3", + "title": "Keyboard (No Exception)", + "description": "All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes.", + "url": "https://www.w3.org/TR/WCAG20/#keyboard-operation-all-funcs", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.1.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-keyboard-operation-all-funcs" + }, + { + "title": "Understanding 2.1.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation-all-funcs.html" + } + ] + }, + { + "ref_id": "2.2.1", + "title": "Timing Adjustable", + "description": "For each time limit that is set by the content, at least one of the following is true:", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-required-behaviors", + "level": "A", + "special_cases": [ + { + "type": "at_least_one", + "title": "Turn off", + "description": "The user is allowed to turn off the time limit before encountering it; or" + }, + { + "type": "at_least_one", + "title": "Adjust", + "description": "The user is allowed to adjust the time limit before encountering it over a wide range that is at least ten times the length of the default setting; or" + }, + { + "type": "at_least_one", + "title": "Extend", + "description": "The user is warned before time expires and given at least 20 seconds to extend the time limit with a simple action (for example, 'press the space bar'), and the user is allowed to extend the time limit at least ten times; or" + }, + { + "type": "at_least_one", + "title": "Real-time Exception", + "description": "The time limit is a required part of a real-time event (for example, an auction), and no alternative to the time limit is possible; or" + }, + { + "type": "at_least_one", + "title": "Essential Exception", + "description": "The time limit is essential and extending it would invalidate the activity; or" + }, + { + "type": "at_least_one", + "title": "20 Hour Exception", + "description": "The time limit is longer than 20 hours." + } + ], + "notes": [ + { + "content": "This success criterion helps ensure that users can complete tasks without unexpected changes in content or context that are a result of a time limit. This success criterion should be considered in conjunction with Success Criterion 3.2.1 (https://www.w3.org/TR/WCAG20/#consistent-behavior-receive-focus), which puts limits on changes of content or context as a result of user action." + } + ], + "references": [ + { + "title": "How to Meet 2.2.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-required-behaviors" + }, + { + "title": "Understanding 2.2.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-required-behaviors.html" + } + ] + }, + { + "ref_id": "2.2.2", + "title": "Pause, Stop, Hide", + "description": "For moving, blinking, scrolling, or auto-updating information, all of the following are true:", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-pause", + "level": "A", + "special_cases": [ + { + "type": "all_true", + "title": "Moving, blinking, scrolling", + "description": "For any moving, blinking or scrolling information that (1) starts automatically, (2) lasts more than five seconds, and (3) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it unless the movement, blinking, or scrolling is part of an activity where it is essential; and" + }, + { + "type": "all_true", + "title": "Auto-updating", + "description": "For any auto-updating information that (1) starts automatically and (2) is presented in parallel with other content, there is a mechanism for the user to pause, stop, or hide it or to control the frequency of the update unless the auto-updating is part of an activity where it is essential." + } + ], + "notes": [ + { + "content": "For requirements related to flickering or flashing content, refer to Guideline 2.3. (https://www.w3.org/TR/WCAG20/#seizure)" + }, + { + "content": "Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criterion. See Conformance Requirement 5: Non-Interference (https://www.w3.org/TR/WCAG20/#cc5)" + }, + { + "content": "Content that is updated periodically by software or that is streamed to the user agent is not required to preserve or present information that is generated or received between the initiation of the pause and resuming presentation, as this may not be technically possible, and in many situations could be misleading to do so." + }, + { + "content": "An animation that occurs as part of a preload phase or similar situation can be considered essential if interaction cannot occur during that phase for all users and if not indicating progress could confuse users or cause them to think that content was frozen or broken." + } + ], + "references": [ + { + "title": "How to Meet 2.2.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-pause" + }, + { + "title": "Understanding 2.2.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-pause.html" + } + ] + }, + { + "ref_id": "2.2.3", + "title": "No Timing", + "description": "Timing is not an essential part of the event or activity presented by the content, except for non-interactive synchronized media and real-time events", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-no-exceptions", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.2.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-no-exceptions" + }, + { + "title": "Understanding 2.2.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-no-exceptions.html" + } + ] + }, + { + "ref_id": "2.2.4", + "title": "Interruptions", + "description": "Interruptions can be postponed or suppressed by the user, except interruptions involving an emergency.", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-postponed", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.2.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-postponed" + }, + { + "title": "Understanding 2.2.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-postponed.html" + } + ] + }, + { + "ref_id": "2.2.5", + "title": "Re-authenticating", + "description": "When an authenticated session expires, the user can continue the activity without loss of data after re-authenticating.", + "url": "https://www.w3.org/TR/WCAG20/#time-limits-server-timeout", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.2.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-time-limits-server-timeout" + }, + { + "title": "Understanding 2.2.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-server-timeout.html" + } + ] + }, + { + "ref_id": "2.3.1", + "title": "Three Flashes or Below Threshold", + "description": "Web pages do not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds", + "url": "https://www.w3.org/TR/WCAG20/#seizure-does-not-violate", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Since any content that does not meet this success criterion can interfere with a user's ability to use the whole page, all content on the Web page (whether it is used to meet other success criteria or not) must meet this success criterion. See Conformance Requirement 5: Non-Interference. (https://www.w3.org/TR/WCAG20/#cc5)" + } + ], + "references": [ + { + "title": "How to Meet 2.3.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-seizure-does-not-violate" + }, + { + "title": "Understanding 2.3.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/seizure-does-not-violate.html" + } + ] + }, + { + "ref_id": "2.3.2", + "title": "Three Flashes", + "description": "Web pages do not contain anything that flashes more than three times in any one second period.", + "url": "https://www.w3.org/TR/WCAG20/#seizure-three-times", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.3.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-seizure-three-times" + }, + { + "title": "Understanding 2.3.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/seizure-three-times.html" + } + ] + }, + { + "ref_id": "2.4.1", + "title": "Bypass Blocks", + "description": "A mechanism is available to bypass blocks of content that are repeated on multiple Web pages.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-skip", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-skip" + }, + { + "title": "Understanding 2.4.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-skip.html" + } + ] + }, + { + "ref_id": "2.4.2", + "title": "Page Titled", + "description": "Web pages have titles that describe topic or purpose.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-title", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-title" + }, + { + "title": "Understanding 2.4.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-title.html" + } + ] + }, + { + "ref_id": "2.4.3", + "title": "Focus Order", + "description": " If a Web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-focus-order", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-focus-order" + }, + { + "title": "Understanding 2.4.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-focus-order.html" + } + ] + }, + { + "ref_id": "2.4.4", + "title": "Link Purpose (In Context)", + "description": "The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-refs", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-refs" + }, + { + "title": "Understanding 2.4.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-refs.html" + } + ] + }, + { + "ref_id": "2.4.5", + "title": "Multiple Ways", + "description": "More than one way is available to locate a Web page within a set of Web pages except where the Web Page is the result of, or a step in, a process.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-mult-loc", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-mult-loc" + }, + { + "title": "Understanding 2.4.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-mult-loc.html" + } + ] + }, + { + "ref_id": "2.4.6", + "title": "Headings and Labels", + "description": "Headings and labels describe topic or purpose.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-descriptive", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-descriptive" + }, + { + "title": "Understanding 2.4.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-descriptive.html" + } + ] + }, + { + "ref_id": "2.4.7", + "title": "Focus Visible", + "description": "Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-focus-visible", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.7", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-focus-visible" + }, + { + "title": "Understanding 2.4.7", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-focus-visible.html" + } + ] + }, + { + "ref_id": "2.4.8", + "title": "Location", + "description": "Information about the user's location within a set of Web pages is available", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-location", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.8", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-location" + }, + { + "title": "Understanding 2.4.8", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-location.html" + } + ] + }, + { + "ref_id": "2.4.9", + "title": "Link Purpose (Link Only)", + "description": "A mechanism is available to allow the purpose of each link to be identified from link text alone, except where the purpose of the link would be ambiguous to users in general.", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-link", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 2.4.9", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-link" + }, + { + "title": "Understanding 2.4.9", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-link.html" + } + ] + }, + { + "ref_id": "2.4.10", + "title": "Section Headings", + "description": "Section headings are used to organize the content", + "url": "https://www.w3.org/TR/WCAG20/#navigation-mechanisms-headings", + "level": "AAA", + "special_cases": null, + "notes": [ + { + "content": "'Heading' is used in its general sense and includes titles and other ways to add a heading to different types of content." + }, + { + "content": "This success criterion covers sections within writing, not user interface components. User Interface components are covered under Success Criterion 4.1.2. (http://www.w3.org/TR/2008/REC-WCAG20-20081211/#ensure-compat-rsv)" + } + ], + "references": [ + { + "title": "How to Meet 2.4.10", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-headings" + }, + { + "title": "Understanding 2.4.10", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-headings.html" + } + ] + }, + { + "ref_id": "3.1.1", + "title": "Language of Page", + "description": "The default human language of each Web page can be programmatically determined.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-doc-lang-id", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-doc-lang-id" + }, + { + "title": "Understanding 3.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-doc-lang-id.html" + } + ] + }, + { + "ref_id": "3.1.2", + "title": "Language of Parts", + "description": "The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-other-lang-id", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-other-lang-id" + }, + { + "title": "Understanding 3.1.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html" + } + ] + }, + { + "ref_id": "3.1.3", + "title": "Unusual Words", + "description": "A mechanism is available for identifying specific definitions of words or phrases used in an unusual or restricted way, including idioms and jargon", + "url": "https://www.w3.org/TR/WCAG20/#meaning-idioms", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-idioms" + }, + { + "title": "Understanding 3.1.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-idioms.html" + } + ] + }, + { + "ref_id": "3.1.4", + "title": "Abbreviations", + "description": "A mechanism for identifying the expanded form or meaning of abbreviations is available.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-located", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-located" + }, + { + "title": "Understanding 3.1.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-located.html" + } + ] + }, + { + "ref_id": "3.1.5", + "title": "Reading Level", + "description": "When text requires reading ability more advanced than the lower secondary education level after removal of proper names and titles, supplemental content, or a version that does not require reading ability more advanced than the lower secondary education level, is available.", + "url": "https://www.w3.org/TR/WCAG20/#meaning-supplements", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-supplements" + }, + { + "title": "Understanding 3.1.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-supplements.html" + } + ] + }, + { + "ref_id": "3.1.6", + "title": "Pronunciation", + "description": "A mechanism is available for identifying specific pronunciation of words where meaning of the words, in context, is ambiguous without knowing the pronunciation", + "url": "https://www.w3.org/TR/WCAG20/#meaning-pronunciation", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.1.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-meaning-pronunciation" + }, + { + "title": "Understanding 3.1.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-pronunciation.html" + } + ] + }, + { + "ref_id": "3.2.1", + "title": "On Focus", + "description": "When any component receives focus, it does not initiate a change of context", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-receive-focus", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-receive-focus" + }, + { + "title": "Understanding 3.2.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-receive-focus.html" + } + ] + }, + { + "ref_id": "3.2.2", + "title": "On Input", + "description": "Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component.", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-unpredictable-change", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-unpredictable-change" + }, + { + "title": "Understanding 3.2.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-unpredictable-change.html" + } + ] + }, + { + "ref_id": "3.2.3", + "title": "Consistent Navigation", + "description": "Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-consistent-locations", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-consistent-locations" + }, + { + "title": "Understanding 3.2.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-consistent-locations.html" + } + ] + }, + { + "ref_id": "3.2.4", + "title": "Consistent Identification", + "description": "Components that have the same functionality within a set of Web pages are identified consistently.", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-consistent-functionality", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-consistent-functionality" + }, + { + "title": "Understanding 3.2.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-consistent-functionality.html" + } + ] + }, + { + "ref_id": "3.2.5", + "title": "Change on Request", + "description": "Changes of context are initiated only by user request or a mechanism is available to turn off such changes", + "url": "https://www.w3.org/TR/WCAG20/#consistent-behavior-no-extreme-changes-context", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.2.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-consistent-behavior-no-extreme-changes-context" + }, + { + "title": "Understanding 3.2.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/consistent-behavior-no-extreme-changes-context.html" + } + ] + }, + { + "ref_id": "3.3.1", + "title": "Error Identification", + "description": "If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-identified", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-identified" + }, + { + "title": "Understanding 3.3.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-identified.html" + } + ] + }, + { + "ref_id": "3.3.2", + "title": "Labels or Instructions", + "description": "Labels or instructions are provided when content requires user input.", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-cues", + "level": "A", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-cues" + }, + { + "title": "Understanding 3.3.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-cues.html" + } + ] + }, + { + "ref_id": "3.3.3", + "title": "Error Suggestion", + "description": "If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-suggestions", + "level": "AA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.3", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-suggestions" + }, + { + "title": "Understanding 3.3.3", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-suggestions.html" + } + ] + }, + { + "ref_id": "3.3.4", + "title": "Error Prevention (Legal, Financial, Data", + "description": " For Web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true:", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-reversible", + "level": "AA", + "special_cases": [ + { + "type": "at_least_one", + "title": "Reversible", + "description": "Submissions are reversible." + }, + { + "type": "at_least_one", + "title": "Checked", + "description": "Data entered by the user is checked for input errors and the user is provided an opportunity to correct them." + }, + { + "type": "at_least_one", + "title": "Confirmed", + "description": "A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.4", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-reversible" + }, + { + "title": "Understanding 3.3.4", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-reversible.html" + } + ] + }, + { + "ref_id": "3.3.5", + "title": "Help", + "description": "Context-sensitive help is available.", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-context-help", + "level": "AAA", + "special_cases": null, + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.5", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-context-help" + }, + { + "title": "Understanding 3.3.5", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-context-help.html" + } + ] + }, + { + "ref_id": "3.3.6", + "title": "Error Prevention (All)", + "description": "For Web pages that require the user to submit information, at least one of the following is true:", + "url": "https://www.w3.org/TR/WCAG20/#minimize-error-reversible-all", + "level": "AAA", + "special_cases": [ + { + "type": "at_least_one", + "title": "Reversible", + "description": "Submissions are reversible." + }, + { + "type": "at_least_one", + "title": "Checked", + "description": "Data entered by the user is checked for input errors and the user is provided an opportunity to correct them." + }, + { + "type": "at_least_one", + "title": "Confirmed", + "description": "A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission." + } + ], + "notes": null, + "references": [ + { + "title": "How to Meet 3.3.6", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-minimize-error-reversible-all" + }, + { + "title": "Understanding 3.3.6", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/minimize-error-reversible-all.html" + } + ] + }, + { + "ref_id": "4.1.1", + "title": "Parsing", + "description": "In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features", + "url": "https://www.w3.org/TR/WCAG20/#ensure-compat-parses", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "Start and end tags that are missing a critical character in their formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete." + } + ], + "references": [ + { + "title": "How to Meet 4.1.1", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-ensure-compat-parses" + }, + { + "title": "Understanding 4.1.1", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/ensure-compat-parses.html" + } + ] + }, + { + "ref_id": "4.1.2", + "title": "Name, Role, Value", + "description": "For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.", + "url": "https://www.w3.org/TR/WCAG20/#ensure-compat-rsv", + "level": "A", + "special_cases": null, + "notes": [ + { + "content": "This success criterion is primarily for Web authors who develop or script their own user interface components. For example, standard HTML controls already meet this success criterion when used according to specification." + } + ], + "references": [ + { + "title": "How to Meet 4.1.2", + "url": "http://www.w3.org/WAI/WCAG20/quickref/#qr-ensure-compat-rsv" + }, + { + "title": "Understanding 4.1.2", + "url": "http://www.w3.org/TR/UNDERSTANDING-WCAG20/ensure-compat-rsv.html" + } + ] + } +] diff --git a/themes/cupper-hugo-theme/i18n/en.yaml b/themes/cupper-hugo-theme/i18n/en.yaml new file mode 100644 index 0000000..dffa54e --- /dev/null +++ b/themes/cupper-hugo-theme/i18n/en.yaml @@ -0,0 +1,28 @@ +- id: skip_to_content + translation: skip to content +- id: nav_main_navigation + translation: Main navigation +- id: nav_button_menu + translation: Menu +- id: discuss_show_comments_button + translation: Show comments +- id: discuss_comments_disabled + translation: Disqus comments are disabled. +- id: discuss_js_disabled + translation: Enable JavaScript to view Disqus comments. +- id: dark_theme + translation: "dark theme:" +- id: table_of_contents + translation: Table of Contents +- id: publish_date + translation: "Publish date:" +- id: last_updated + translation: "Last updated:" +- id: tags + translation: "Tags:" +- id: aria_label_tags + translation: tags +- id: search_placeholder + translation: Search by title... +- id: search_aria_label + translation: Search by title diff --git a/themes/cupper-hugo-theme/images/screenshot.png b/themes/cupper-hugo-theme/images/screenshot.png new file mode 100644 index 0000000..6450c2a Binary files /dev/null and b/themes/cupper-hugo-theme/images/screenshot.png differ diff --git a/themes/cupper-hugo-theme/images/tn.png b/themes/cupper-hugo-theme/images/tn.png new file mode 100644 index 0000000..922449f Binary files /dev/null and b/themes/cupper-hugo-theme/images/tn.png differ diff --git a/themes/cupper-hugo-theme/layouts/404.html b/themes/cupper-hugo-theme/layouts/404.html new file mode 100644 index 0000000..c170d30 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/404.html @@ -0,0 +1,9 @@ +{{ define "main" }} +
+ +
+

404

+

Page Not Found

+
+
+{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/_default/baseof.html b/themes/cupper-hugo-theme/layouts/_default/baseof.html new file mode 100644 index 0000000..b76952f --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/_default/baseof.html @@ -0,0 +1,23 @@ + + + {{ partial "head.html" . }} + + {{ T "skip_to_content" }} + {{ partial "noscript.html" . }} + {{ partial "svg.html" . }} +
+ {{ partial "header.html" . }} + +
+ {{ partial "script.html" . }} + {{ partial "katex.html" . }} + {{ partial "google-analytics-async.html" . }} + + diff --git a/themes/cupper-hugo-theme/layouts/_default/list.html b/themes/cupper-hugo-theme/layouts/_default/list.html new file mode 100644 index 0000000..c7b4246 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/_default/list.html @@ -0,0 +1,7 @@ +{{ define "main" }} +
+

{{ .Title }}

+
+ {{ .Content }} +
+{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/_default/single.html b/themes/cupper-hugo-theme/layouts/_default/single.html new file mode 100644 index 0000000..c7b4246 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/_default/single.html @@ -0,0 +1,7 @@ +{{ define "main" }} +
+

{{ .Title }}

+
+ {{ .Content }} +
+{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/_default/terms.html b/themes/cupper-hugo-theme/layouts/_default/terms.html new file mode 100644 index 0000000..31b6b6d --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/_default/terms.html @@ -0,0 +1,20 @@ +{{ define "main" }} +
+

{{ .Title }}

+
+ +
+{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/index.html b/themes/cupper-hugo-theme/layouts/index.html new file mode 100644 index 0000000..2ad2ee5 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/index.html @@ -0,0 +1,6 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} +
+{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/partials/disqus-js-common.js b/themes/cupper-hugo-theme/layouts/partials/disqus-js-common.js new file mode 100644 index 0000000..1d69d8d --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/disqus-js-common.js @@ -0,0 +1,6 @@ +// Remove button +var disqusButton = document.getElementById('disqus-button'); +disqusButton.parentNode.removeChild(disqusButton); +// Un-hide comments +var disqusComments = document.getElementById('disqus-comments'); +disqusComments.style.display = 'block'; \ No newline at end of file diff --git a/themes/cupper-hugo-theme/layouts/partials/disqus-js-main.js b/themes/cupper-hugo-theme/layouts/partials/disqus-js-main.js new file mode 100644 index 0000000..74bff17 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/disqus-js-main.js @@ -0,0 +1,10 @@ +// Config +var disqus_config = function () { +}; +// Build and append comments +var d = document; +var s = d.createElement('script'); +s.async = true; +s.src = '//' + "{{ . }}" + '.disqus.com/embed.js'; +s.setAttribute('data-timestamp', + new Date()); +(d.head || d.body).appendChild(s); \ No newline at end of file diff --git a/themes/cupper-hugo-theme/layouts/partials/disqus.html b/themes/cupper-hugo-theme/layouts/partials/disqus.html new file mode 100644 index 0000000..ccf0340 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/disqus.html @@ -0,0 +1,27 @@ +
+ {{ with .Site.DisqusShortname }} + +
+ {{ $isDummyName := eq . "yourdiscussshortname" }} + {{ $isServer := $.Site.IsServer }} + {{ if or $isDummyName $isServer }} +

{{ T "discuss_comments_disabled" }}

+ + {{ else }} +
+
+ + {{ end }} + +
+ {{ end }} +
diff --git a/themes/cupper-hugo-theme/layouts/partials/footer.html b/themes/cupper-hugo-theme/layouts/partials/footer.html new file mode 100644 index 0000000..faec94f --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/footer.html @@ -0,0 +1,14 @@ +
+
+ +
+ {{ with .Site.Params.footer }} + {{ . | markdownify }} + {{ end }} +
diff --git a/themes/cupper-hugo-theme/layouts/partials/google-analytics-async.html b/themes/cupper-hugo-theme/layouts/partials/google-analytics-async.html new file mode 100644 index 0000000..ecc2767 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/google-analytics-async.html @@ -0,0 +1,10 @@ +{{ if not .Site.IsServer }} + {{ with .Site.GoogleAnalytics }} + + + {{ end }} +{{ end }} \ No newline at end of file diff --git a/themes/cupper-hugo-theme/layouts/partials/head.html b/themes/cupper-hugo-theme/layouts/partials/head.html new file mode 100644 index 0000000..67e8ead --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/head.html @@ -0,0 +1,77 @@ + + + + + + {{ hugo.Generator }} + + + {{ if .IsHome }} + {{ with .Site.Params.homeMetaContent }} + + {{ end }} + {{ else }} + {{ $summary := trim (.Summary | plainify | htmlUnescape) "\n\r" + | default .Title }} + + {{ end }} + + + + + + + + + + + + + + + + {{ $templateStyles := resources.Get "css/template-styles.css" }} + {{ $styles := $templateStyles | resources.ExecuteAsTemplate "css/styles.css" . }} + + + {{ range .Site.Params.customCss }} + + {{ end }} + + {{ $title := print .Title " | " .Site.Title }} + {{ if .IsHome }} + {{ $title = .Site.Title }} + {{ end }} + {{ $title }} + diff --git a/themes/cupper-hugo-theme/layouts/partials/header.html b/themes/cupper-hugo-theme/layouts/partials/header.html new file mode 100644 index 0000000..1db2994 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/header.html @@ -0,0 +1,24 @@ + diff --git a/themes/cupper-hugo-theme/layouts/partials/katex.html b/themes/cupper-hugo-theme/layouts/partials/katex.html new file mode 100644 index 0000000..0c653b6 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/katex.html @@ -0,0 +1,5 @@ +{{ if eq $.Site.Params.katex true }} + + + +{{ end }} \ No newline at end of file diff --git a/themes/cupper-hugo-theme/layouts/partials/nav.html b/themes/cupper-hugo-theme/layouts/partials/nav.html new file mode 100644 index 0000000..75b8fac --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/nav.html @@ -0,0 +1,42 @@ + diff --git a/themes/cupper-hugo-theme/layouts/partials/noscript.html b/themes/cupper-hugo-theme/layouts/partials/noscript.html new file mode 100644 index 0000000..40ae776 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/noscript.html @@ -0,0 +1,8 @@ + diff --git a/themes/cupper-hugo-theme/layouts/partials/script.html b/themes/cupper-hugo-theme/layouts/partials/script.html new file mode 100644 index 0000000..643def9 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/script.html @@ -0,0 +1,20 @@ +{{ $templateDomScripts := resources.Get "js/template-dom-scripts.js" }} +{{ $domScripts := $templateDomScripts | resources.ExecuteAsTemplate "js/dom-scripts.js" . }} + + + + +{{ if site.Params.search }} +{{ $searchJs := resources.Get "js/search.js" | fingerprint }} + +{{ $searchCss := resources.Get "css/search.css" | fingerprint }} + +{{ end }} + +{{ range .Site.Params.customJs }} + +{{ end }} + + \ No newline at end of file diff --git a/themes/cupper-hugo-theme/layouts/partials/svg.html b/themes/cupper-hugo-theme/layouts/partials/svg.html new file mode 100644 index 0000000..7c34d04 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/svg.html @@ -0,0 +1,88 @@ + + + + + + + + + W3C + SVG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/cupper-hugo-theme/layouts/partials/toc.html b/themes/cupper-hugo-theme/layouts/partials/toc.html new file mode 100644 index 0000000..cdb0d7c --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/toc.html @@ -0,0 +1,6 @@ +{{ if eq .Params.toc true }} + +{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/partials/utterances.html b/themes/cupper-hugo-theme/layouts/partials/utterances.html new file mode 100644 index 0000000..5216453 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/partials/utterances.html @@ -0,0 +1,40 @@ + +{{- if .Site.Params.utterances.repo}} + + + + +{{- end }} diff --git a/themes/cupper-hugo-theme/layouts/post/single.html b/themes/cupper-hugo-theme/layouts/post/single.html new file mode 100644 index 0000000..120b534 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/post/single.html @@ -0,0 +1,43 @@ +{{ define "main" }} +
+

+ + {{ .Title }} +

+ +
+ {{ $dateFormat := $.Site.Params.dateFormat | default "Jan 2, 2006" }} + {{ $publishDate := .PublishDate }} + {{ T "publish_date" }} {{ $publishDate.Format $dateFormat }} + {{ with .Lastmod }} + {{ if gt . $publishDate }} +
+ {{ T "last_updated" }} {{ .Format $dateFormat }} + {{ end }} + {{ end }} +
+ + {{ with .Params.tags }} +
+ {{ T "tags" }} +
    + {{ range . }} +
  • + + {{ $href := print ("tags/" | relLangURL) (. | urlize) "/" }} + {{ . }} +
  • + {{ end }} +
+
+ {{ end }} + + {{ .Content }} +
+ {{ partial "disqus.html" . }} + {{ partial "utterances.html" . }} +{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/blockquote.html b/themes/cupper-hugo-theme/layouts/shortcodes/blockquote.html new file mode 100644 index 0000000..9561521 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/blockquote.html @@ -0,0 +1,11 @@ +{{ $quote := .Inner }} + +
+

+ {{ $quote | markdownify }} + {{ with (.Get "author") }} +
+ — {{ . | markdownify }} + {{ end }} +

+
\ No newline at end of file diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/cmd.html b/themes/cupper-hugo-theme/layouts/shortcodes/cmd.html new file mode 100644 index 0000000..ccadc07 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/cmd.html @@ -0,0 +1,7 @@ +{{ $trimmed := (trim .Inner "\n") }} +{{ $lines := split $trimmed "\n" }} +
+  {{ range $lines }}
+  {{ . }}
+  {{ end }}
+
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/code.html b/themes/cupper-hugo-theme/layouts/shortcodes/code.html new file mode 100644 index 0000000..a993b61 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/code.html @@ -0,0 +1,5 @@ +{{ $code := .Inner | htmlEscape }} +{{ $code := replace $code "[[[" "" }} +{{ $code := replace $code "]]]" "" }} +{{ $numbered := .Get "numbered" }} +
{{ $code | safeHTML }}
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/codePen.html b/themes/cupper-hugo-theme/layouts/shortcodes/codePen.html new file mode 100644 index 0000000..b608953 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/codePen.html @@ -0,0 +1,10 @@ +{{ $pen := .Get 0 }} +{{ with .Site.Params.codePenUser }} + +{{ else }} +

Site error: The codePenUser param has not been set in config.toml

+{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/colors.html b/themes/cupper-hugo-theme/layouts/shortcodes/colors.html new file mode 100644 index 0000000..b46486f --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/colors.html @@ -0,0 +1,11 @@ +{{ $colorString := replace (.Get 0) " " "" | upper }} +{{ $colors := split $colorString "," }} +
+
    + {{ range $colors }} +
  • + {{ . }} +
  • + {{ end }} +
+
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/expandable.html b/themes/cupper-hugo-theme/layouts/shortcodes/expandable.html new file mode 100644 index 0000000..5b752a9 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/expandable.html @@ -0,0 +1,25 @@ +
+ {{ if .Get "level" }} + + {{ end }} + {{/* 1. Get the md5 hash of the expandable inner text */}} + {{/* 2. Split the hash string into an array */}} + {{/* 3. Shuffle the array */}} + {{/* 4. Convert the array back into a string */}} + {{ $random := delimit (shuffle (split (md5 .Inner) "" )) "" }} + + {{ if .Get "level" }} + + {{ end }} +
+ {{ .Inner | markdownify }} +
+
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/figureCupper.html b/themes/cupper-hugo-theme/layouts/shortcodes/figureCupper.html new file mode 100644 index 0000000..51a0a09 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/figureCupper.html @@ -0,0 +1,28 @@ +{{ $img := .Get "img" }} +{{ $caption := .Get "caption" }} +{{ $command := .Get "command" }} +{{ $options := .Get "options" }} + +{{ $original := .Page.Resources.GetMatch (printf "*%s*" $img) }} +{{ $new := "" }} + +{{ if eq $command "Fit" }} + {{ $new = $original.Fit $options }} +{{ else if eq $command "Fill" }} + {{ $new = $original.Fill $options }} +{{ else if eq $command "Resize" }} + {{ $new = $original.Resize $options }} +{{ else if eq $command "Original" }} + {{ $new = $original }} +{{ else }} + {{ errorf "Invalid image processing command: Must be one of Fit, Fill, Resize, Original." }} +{{ end }} + +
+ + + +
+ {{ $caption | markdownify }} +
+
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/fileTree.html b/themes/cupper-hugo-theme/layouts/shortcodes/fileTree.html new file mode 100644 index 0000000..3e8d95d --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/fileTree.html @@ -0,0 +1,3 @@ +
+ {{ .Inner | markdownify }} +
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/gallery.html b/themes/cupper-hugo-theme/layouts/shortcodes/gallery.html new file mode 100644 index 0000000..d1c7be0 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/gallery.html @@ -0,0 +1,29 @@ +{{ $command := .Get "command" }} +{{ $options := .Get "options" }} + +{{ with .Page.Resources.ByType "image" }} + {{ range . }} + + {{ $original := . }} + {{ $new := "" }} + + {{ if eq $command "Fit" }} + {{ $new = $original.Fit $options }} + {{ else if eq $command "Fill" }} + {{ $new = $original.Fill $options }} + {{ else if eq $command "Resize" }} + {{ $new = $original.Resize $options }} + {{ else if eq $command "Original" }} + {{ $new = $original }} + {{ else }} + {{ errorf "Invalid image processing command: Must be one of Fit, Fill, Resize, Original." }} + {{ end }} + + + + {{ end }} +{{ end }} diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/note.html b/themes/cupper-hugo-theme/layouts/shortcodes/note.html new file mode 100644 index 0000000..fa44431 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/note.html @@ -0,0 +1,8 @@ + diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/principles.html b/themes/cupper-hugo-theme/layouts/shortcodes/principles.html new file mode 100644 index 0000000..a0fbf5b --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/principles.html @@ -0,0 +1,24 @@ +{{ $JSON := $.Site.Data.principles }} +{{ $included := replace (.Get "include") ", " "," }} +{{ $included := apply (split $included ",") "lower" "." }} +{{ $descriptions := .Get "descriptions" }} +
    + {{ range $JSON.principles }} + {{ if in $included (lower .title) }} +
  • + + + + {{ .title }} + : + + {{ .strapline }} + {{ if and ($descriptions) (ne $descriptions "false") }} +

    {{ .description }}

    + {{ end }} +
  • + {{ end }} + {{ end }} +
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/tested.html b/themes/cupper-hugo-theme/layouts/shortcodes/tested.html new file mode 100644 index 0000000..d8d3924 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/tested.html @@ -0,0 +1,28 @@ +{{ $tested := replace (.Get "using") ", " "," }} +{{ $tested := replace $tested " + " "+" }} +{{ $tested := split $tested "," }} + + + + {{ range $tested }} + + {{ end }} + +
+ + Tested using + + {{ $browser := findRE "^[a-zA-Z ]+" . }} + {{ $browser := index $browser 0 }} + {{ $version := findRE "[0-9]+$" . }} + {{ $slug := replace $browser " " "-" | lower }} + + {{ $browser }} {{ index $version 0 }} + {{ if in . "+" }} + {{ $parts := split . "+" }} + {{ $additional := index $parts 1 }} + with {{ $additional }} + {{ end }} +
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/ticks.html b/themes/cupper-hugo-theme/layouts/shortcodes/ticks.html new file mode 100644 index 0000000..21518d4 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/ticks.html @@ -0,0 +1,3 @@ +
+ {{ .Inner | markdownify }} +
diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/warning.html b/themes/cupper-hugo-theme/layouts/shortcodes/warning.html new file mode 100644 index 0000000..8513a49 --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/warning.html @@ -0,0 +1,8 @@ + diff --git a/themes/cupper-hugo-theme/layouts/shortcodes/wcag.html b/themes/cupper-hugo-theme/layouts/shortcodes/wcag.html new file mode 100644 index 0000000..7bc092e --- /dev/null +++ b/themes/cupper-hugo-theme/layouts/shortcodes/wcag.html @@ -0,0 +1,30 @@ +{{ $JSON := $.Site.Data.wcag }} +{{ $included := replace (.Get "include") ", " "," }} +{{ $included := split $included "," }} +{{ $descriptions := .Get "descriptions" }} +
    + {{ range $JSON }} + {{ if in $included .ref_id }} +
  • + + + {{ .ref_id }} {{ .title }} (level {{ .level }}){{ if $descriptions }}:{{ end }} + + {{ if and ($descriptions) (ne $descriptions "false") }} + {{ .description }} + {{ if .special_cases }} +
      + {{ range .special_cases }} +
    • {{ .title }}: + {{ .description }} +
    • + {{ end }} +
    + {{ end }} + {{ end }} +
  • + {{ end }} + {{ end }} +
diff --git a/themes/cupper-hugo-theme/netlify.toml b/themes/cupper-hugo-theme/netlify.toml new file mode 100644 index 0000000..f757b8d --- /dev/null +++ b/themes/cupper-hugo-theme/netlify.toml @@ -0,0 +1,13 @@ +[build] + publish = "exampleSite/public" + command = "cd exampleSite && hugo --themesDir ../.." + +[build.environment] + HUGO_VERSION = "0.83.1" + HUGO_THEME = "repo" + HUGO_BASEURL = "https://cupper-hugo-theme.netlify.app" + +[[headers]] + for = "/*" + [headers.values] + Access-Control-Allow-Origin = "*" diff --git a/themes/cupper-hugo-theme/static/.DS_Store b/themes/cupper-hugo-theme/static/.DS_Store new file mode 100644 index 0000000..cd3a2cf Binary files /dev/null and b/themes/cupper-hugo-theme/static/.DS_Store differ diff --git a/themes/cupper-hugo-theme/static/android-chrome-192x192.png b/themes/cupper-hugo-theme/static/android-chrome-192x192.png new file mode 100644 index 0000000..9138e12 Binary files /dev/null and b/themes/cupper-hugo-theme/static/android-chrome-192x192.png differ diff --git a/themes/cupper-hugo-theme/static/android-chrome-512x512.png b/themes/cupper-hugo-theme/static/android-chrome-512x512.png new file mode 100644 index 0000000..7e493ee Binary files /dev/null and b/themes/cupper-hugo-theme/static/android-chrome-512x512.png differ diff --git a/themes/cupper-hugo-theme/static/apple-touch-icon.png b/themes/cupper-hugo-theme/static/apple-touch-icon.png new file mode 100644 index 0000000..c20e3b5 Binary files /dev/null and b/themes/cupper-hugo-theme/static/apple-touch-icon.png differ diff --git a/themes/cupper-hugo-theme/static/browserconfig.xml b/themes/cupper-hugo-theme/static/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/themes/cupper-hugo-theme/static/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/themes/cupper-hugo-theme/static/css/images/arrow_effect.svg b/themes/cupper-hugo-theme/static/css/images/arrow_effect.svg new file mode 100644 index 0000000..2d669ef --- /dev/null +++ b/themes/cupper-hugo-theme/static/css/images/arrow_effect.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/themes/cupper-hugo-theme/static/css/images/icon-tick.svg b/themes/cupper-hugo-theme/static/css/images/icon-tick.svg new file mode 100644 index 0000000..20f9650 --- /dev/null +++ b/themes/cupper-hugo-theme/static/css/images/icon-tick.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/themes/cupper-hugo-theme/static/css/images/stripe.svg b/themes/cupper-hugo-theme/static/css/images/stripe.svg new file mode 100644 index 0000000..48bf5f9 --- /dev/null +++ b/themes/cupper-hugo-theme/static/css/images/stripe.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/themes/cupper-hugo-theme/static/css/prism.css b/themes/cupper-hugo-theme/static/css/prism.css new file mode 100644 index 0000000..6ae40c7 --- /dev/null +++ b/themes/cupper-hugo-theme/static/css/prism.css @@ -0,0 +1,183 @@ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript&plugins=line-numbers */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +pre[class*="language-"].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre[class*="language-"].line-numbers > code { + position: relative; + white-space: inherit; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + pointer-events: none; + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } + diff --git a/themes/cupper-hugo-theme/static/favicon-16x16.png b/themes/cupper-hugo-theme/static/favicon-16x16.png new file mode 100644 index 0000000..27a5613 Binary files /dev/null and b/themes/cupper-hugo-theme/static/favicon-16x16.png differ diff --git a/themes/cupper-hugo-theme/static/favicon-32x32.png b/themes/cupper-hugo-theme/static/favicon-32x32.png new file mode 100644 index 0000000..390625e Binary files /dev/null and b/themes/cupper-hugo-theme/static/favicon-32x32.png differ diff --git a/themes/cupper-hugo-theme/static/favicon-96x96.png b/themes/cupper-hugo-theme/static/favicon-96x96.png new file mode 100644 index 0000000..74546ad Binary files /dev/null and b/themes/cupper-hugo-theme/static/favicon-96x96.png differ diff --git a/themes/cupper-hugo-theme/static/favicon.ico b/themes/cupper-hugo-theme/static/favicon.ico new file mode 100644 index 0000000..6506f1d Binary files /dev/null and b/themes/cupper-hugo-theme/static/favicon.ico differ diff --git a/themes/cupper-hugo-theme/static/images/browser-chrome-android.svg b/themes/cupper-hugo-theme/static/images/browser-chrome-android.svg new file mode 100644 index 0000000..5ecb985 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-chrome-android.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-chrome.svg b/themes/cupper-hugo-theme/static/images/browser-chrome.svg new file mode 100644 index 0000000..02d8389 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-chrome.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-edge.svg b/themes/cupper-hugo-theme/static/images/browser-edge.svg new file mode 100644 index 0000000..a755a9d --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-edge.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-firefox-android.svg b/themes/cupper-hugo-theme/static/images/browser-firefox-android.svg new file mode 100644 index 0000000..f9c0e66 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-firefox-android.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-firefox.svg b/themes/cupper-hugo-theme/static/images/browser-firefox.svg new file mode 100644 index 0000000..1a80b65 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-firefox.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-ie.svg b/themes/cupper-hugo-theme/static/images/browser-ie.svg new file mode 100644 index 0000000..8636924 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-ie.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-opera.svg b/themes/cupper-hugo-theme/static/images/browser-opera.svg new file mode 100644 index 0000000..f127290 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-opera.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-safari-ios.svg b/themes/cupper-hugo-theme/static/images/browser-safari-ios.svg new file mode 100644 index 0000000..da98377 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-safari-ios.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/themes/cupper-hugo-theme/static/images/browser-safari.svg b/themes/cupper-hugo-theme/static/images/browser-safari.svg new file mode 100644 index 0000000..12f0c76 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/browser-safari.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/themes/cupper-hugo-theme/static/images/icon-info.svg b/themes/cupper-hugo-theme/static/images/icon-info.svg new file mode 100644 index 0000000..1e2384f --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/icon-info.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/icon-tag.svg b/themes/cupper-hugo-theme/static/images/icon-tag.svg new file mode 100644 index 0000000..0d8d3af --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/icon-tag.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/themes/cupper-hugo-theme/static/images/icon-warning.svg b/themes/cupper-hugo-theme/static/images/icon-warning.svg new file mode 100644 index 0000000..49d20fc --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/icon-warning.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/themes/cupper-hugo-theme/static/images/logo.svg b/themes/cupper-hugo-theme/static/images/logo.svg new file mode 100644 index 0000000..b0a4220 --- /dev/null +++ b/themes/cupper-hugo-theme/static/images/logo.svg @@ -0,0 +1 @@ + diff --git a/themes/cupper-hugo-theme/static/js/prism.js b/themes/cupper-hugo-theme/static/js/prism.js new file mode 100644 index 0000000..9461593 --- /dev/null +++ b/themes/cupper-hugo-theme/static/js/prism.js @@ -0,0 +1,8 @@ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript&plugins=line-numbers */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-([\w-]+)\b/i,t=0,n=_self.Prism={manual:_self.Prism&&_self.Prism.manual,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(w instanceof s)){if(m&&b!=t.length-1){f.lastIndex=k;var _=f.exec(e);if(!_)break;for(var j=_.index+(d?_[1].length:0),P=_.index+_[0].length,A=b,O=k,x=t.length;x>A&&(P>O||!t[A].type&&!t[A-1].greedy);++A)O+=t[A].length,j>=O&&(++b,k=O);if(t[b]instanceof s)continue;I=A-b,w=e.slice(k,O),_.index-=k}else{f.lastIndex=0;var _=f.exec(w),I=1}if(_){d&&(p=_[1]?_[1].length:0);var j=_.index+p,_=_[0].slice(p),P=j+_.length,N=w.slice(0,j),S=w.slice(P),E=[b,I];N&&(++b,k+=N.length,E.push(N));var C=new s(u,h?n.tokenize(_,h):_,y,_,m);if(E.push(C),S&&E.push(S),Array.prototype.splice.apply(t,E),1!=I&&n.matchGrammar(e,t,a,b,k,!0,u),i)break}else if(i)break}}}}},tokenize:function(e,t){var a=[e],r=t.rest;if(r){for(var l in r)t[l]=r[l];delete t.rest}return n.matchGrammar(e,a,t,0,0,!1),a},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,l=0;r=a[l++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length,this.greedy=!!r};if(a.stringify=function(e,t,r){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var l={type:e.type,content:a.stringify(e.content,t,r),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:r};if(e.alias){var i="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(l.classes,i)}n.hooks.run("wrap",l);var o=Object.keys(l.attributes).map(function(e){return e+'="'+(l.attributes[e]||"").replace(/"/g,""")+'"'}).join(" ");return"<"+l.tag+' class="'+l.classes.join(" ")+'"'+(o?" "+o:"")+">"+l.content+""},!_self.document)return _self.addEventListener?(n.disableWorkerMessageHandler||_self.addEventListener("message",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,l=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),l&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype://i,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/(^|[^\\])["']/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup; +Prism.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^{}\s][^{};]*?(?=\s*\{)/,string:{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},Prism.languages.css.atrule.inside.rest=Prism.languages.css,Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/()[\s\S]*?(?=<\/style>)/i,lookbehind:!0,inside:Prism.languages.css,alias:"language-css",greedy:!0}}),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:Prism.languages.css}},alias:"language-css"}},Prism.languages.markup.tag)); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(?:true|false)\b/,"function":/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},/\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/],number:/\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,"function":/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\(|\.(?:apply|bind|call)\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z][A-Z\d_]*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\${[^}]+}/,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/()[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript",greedy:!0}}),Prism.languages.js=Prism.languages.javascript; +!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var e="line-numbers",t=/\n(?!$)/g,n=function(e){var n=r(e),s=n["white-space"];if("pre-wrap"===s||"pre-line"===s){var l=e.querySelector("code"),i=e.querySelector(".line-numbers-rows"),a=e.querySelector(".line-numbers-sizer"),o=l.textContent.split(t);a||(a=document.createElement("span"),a.className="line-numbers-sizer",l.appendChild(a)),a.style.display="block",o.forEach(function(e,t){a.textContent=e||"\n";var n=a.getBoundingClientRect().height;i.children[t].style.height=n+"px"}),a.textContent="",a.style.display="none"}},r=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null};window.addEventListener("resize",function(){Array.prototype.forEach.call(document.querySelectorAll("pre."+e),n)}),Prism.hooks.add("complete",function(e){if(e.code){var r=e.element.parentNode,s=/\s*\bline-numbers\b\s*/;if(r&&/pre/i.test(r.nodeName)&&(s.test(r.className)||s.test(e.element.className))&&!e.element.querySelector(".line-numbers-rows")){s.test(e.element.className)&&(e.element.className=e.element.className.replace(s," ")),s.test(r.className)||(r.className+=" line-numbers");var l,i=e.code.match(t),a=i?i.length+1:1,o=new Array(a+1);o=o.join(""),l=document.createElement("span"),l.setAttribute("aria-hidden","true"),l.className="line-numbers-rows",l.innerHTML=o,r.hasAttribute("data-start")&&(r.style.counterReset="linenumber "+(parseInt(r.getAttribute("data-start"),10)-1)),e.element.appendChild(l),n(r),Prism.hooks.run("line-numbers",e)}}}),Prism.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}),Prism.plugins.lineNumbers={getLine:function(t,n){if("PRE"===t.tagName&&t.classList.contains(e)){var r=t.querySelector(".line-numbers-rows"),s=parseInt(t.getAttribute("data-start"),10)||1,l=s+(r.children.length-1);s>n&&(n=s),n>l&&(n=l);var i=n-s;return r.children[i]}}}}}(); diff --git a/themes/cupper-hugo-theme/static/js/service-worker-registration.js b/themes/cupper-hugo-theme/static/js/service-worker-registration.js new file mode 100644 index 0000000..bbcc757 --- /dev/null +++ b/themes/cupper-hugo-theme/static/js/service-worker-registration.js @@ -0,0 +1,62 @@ +/** + * Copyright 2015 Google Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* eslint-env browser */ +'use strict'; + +if ('serviceWorker' in navigator) { + // Delay registration until after the page has loaded, to ensure that our + // precaching requests don't degrade the first visit experience. + // See https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/registration + window.addEventListener('load', function() { + // Your service-worker.js *must* be located at the top-level directory relative to your site. + // It won't be able to control pages unless it's located at the same level or higher than them. + // *Don't* register service worker file in, e.g., a scripts/ sub-directory! + // See https://github.com/slightlyoff/ServiceWorker/issues/468 + navigator.serviceWorker.register('service-worker.js').then(function(reg) { + // updatefound is fired if service-worker.js changes. + reg.onupdatefound = function() { + // The updatefound event implies that reg.installing is set; see + // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event + var installingWorker = reg.installing; + + installingWorker.onstatechange = function() { + switch (installingWorker.state) { + case 'installed': + if (navigator.serviceWorker.controller) { + // At this point, the old content will have been purged and the fresh content will + // have been added to the cache. + // It's the perfect time to display a "New content is available; please refresh." + // message in the page's interface. + console.log('New or updated content is available.'); + } else { + // At this point, everything has been precached. + // It's the perfect time to display a "Content is cached for offline use." message. + console.log('Content is now available offline!'); + } + break; + + case 'redundant': + console.error('The installing service worker became redundant.'); + break; + } + }; + }; + }).catch(function(e) { + console.error('Error during service worker registration:', e); + }); + }); +} diff --git a/themes/cupper-hugo-theme/static/mstile-150x150.png b/themes/cupper-hugo-theme/static/mstile-150x150.png new file mode 100644 index 0000000..2f0b1de Binary files /dev/null and b/themes/cupper-hugo-theme/static/mstile-150x150.png differ diff --git a/themes/cupper-hugo-theme/static/safari-pinned-tab.svg b/themes/cupper-hugo-theme/static/safari-pinned-tab.svg new file mode 100644 index 0000000..ad367e2 --- /dev/null +++ b/themes/cupper-hugo-theme/static/safari-pinned-tab.svg @@ -0,0 +1,78 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + + + + + + diff --git a/themes/cupper-hugo-theme/static/site.webmanifest b/themes/cupper-hugo-theme/static/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/themes/cupper-hugo-theme/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/themes/cupper-hugo-theme/theme.toml b/themes/cupper-hugo-theme/theme.toml new file mode 100644 index 0000000..ff8c3df --- /dev/null +++ b/themes/cupper-hugo-theme/theme.toml @@ -0,0 +1,17 @@ +name = "Cupper" +license = "MIT" +licenselink = "https://github.com/zwbetz-gh/cupper-hugo-theme/blob/master/LICENSE" +description = "An accessibility-friendly Hugo theme, ported from the original Cupper project." +homepage = "https://github.com/zwbetz-gh/cupper-hugo-theme" +tags = ["accessible", "blog", "documentation", "dark"] +features = ["accessible", "blog", "documentation", "dark"] +min_version = "0.81.0" + +[author] + name = "Zachary Betz" + homepage = "https://zwbetz.com/" + +[original] + name = "Cupper" + homepage = "https://thepaciellogroup.github.io/cupper/" + repo = "https://github.com/ThePacielloGroup/cupper" \ No newline at end of file