Skip to content

foolscapcon/foolscap-ghost-theme

Repository files navigation

Foolscap

The Foolscap convention theme for Ghost.

Based loosely on Casper.

You'll need to edit the heck out of this to make it usable for other conventions, but we'd love to see the results if you do. Shell script to build theme is now at submodules/action-build-ghost-theme/entrypoint.sh.

How To Edit This Theme

Developing locally

  1. Get yourself a copy of Ghost from here. Follow the instructions to get it running.
  2. Once you have a working local installation of Ghost, navigate to $GHOSTROOT/content/themes/ and create a new directory. I call mine foolscap.
  3. git pull this repository into that directory.
  4. Navigate to the general settings page for the Ghost install: http://localhost:2368/ghost/settings/general/
  5. Change the "Theme" dropdown at the bottom to "Foolscap" and save your changes.

Deploying to ghost.io hosting

Assuming you followed the above instructions and now have a local version of the theme:

  1. Fork the theme from https://github.com/foolscapcon/foolscap-ghost-theme
  2. Change the theme
  3. Bump the version number in package.json (both name and version, format is 0..)
  4. check changes in
  5. push changes to your fork
  6. create a pull request
  7. approve pull request - zip file will be built with GitHub Actions
  8. download zip file from release page https://github.com/foolscapcon/foolscap-ghost-theme/releases/latest
  9. Sign in at ghost.org with the account credentials. These are different than the credentials you use to edit the blog.
  10. upload theme at https://foolscap.ghost.io/ghost/#/settings/design
  11. activate theme
  12. verify changes

Assumptions

This theme is kind of abusing the nature of Ghost. As such, you will need to satisfy its unreasonable assumptions:

  • All content on the home page except blog entries lives in index.hbs. As such, it cannot be edited through the Ghost editor. You'll need to update the theme and re-upload it to make any changes there.
  • The date and location info in the header live in partials/headInfo.hbs
  • The box that appears on the homepage over the big header graphic lives in partials/splashcontent.hbs
  • The top nav bar is defined in partials/topnav.hbs. It currently links to the following static pages, which need to be created in the Ghost page editor to avoid dead links:
    • /ethos
    • /commons
    • /bazaar
    • /events
    • /location
    • /registration
      • Actually, this one is a little more magical than the others - every single page on the site also links here, because the main page (index.hbs), default page template (page.hbs) and default post template (post.hbs) all have a button at the bottom that calls people to register.
      • /registration-complete is also exempted from that button. On foolscap.org, our paypal workflow sends people there after they've registered. We don't want to ask them to register on the post-registration landing page! (By the way, you'll want to make sure this landing page exists, too.)
  • The footer (defined at the bottom of default.hbs) also links to a static page that will need to be created within Ghost:
    • /contact

Yes, this is a hacked together piece of cruft. So good of you to notice.

Copyright & License

Copyright (c) 2013-2017 Little Cat Z - Released under the MIT License.

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.