99 lines
4.3 KiB
Markdown
99 lines
4.3 KiB
Markdown
|
> See section [Modifications](#modifications)
|
||
|
# Casper
|
||
|
|
||
|
The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Casper! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Casper/releases) page.
|
||
|
|
||
|
|
||
|
|
||
|
![screenshot-desktop](https://user-images.githubusercontent.com/353959/66987533-40eae100-f0c1-11e9-822e-cbaf38fb8e3f.png)
|
||
|
|
||
|
|
||
|
|
||
|
# Modifications
|
||
|
A few things added/removed:
|
||
|
- Code block syntax highlight (Using [prism](https://prismjs.com/) and [monokai](https://github.com/Swaagie/prismjs-monokai) theme)
|
||
|
- [Fork Awesome fonts](https://forkaweso.me/Fork-Awesome/)
|
||
|
- Landing page with icon links
|
||
|
- To use the links head over to your settings/code injection
|
||
|
- in site header add your links as such:
|
||
|
```
|
||
|
<script>
|
||
|
// Link {service: service-name (fork awesome icon (i.e for an icon 'fa fa-github' just put 'github')), href: url}
|
||
|
const landing_page_links = [
|
||
|
{service: 'envelope', href:'your-email@provider.com'},
|
||
|
{service: 'github', href:'https://www.github.com/username'},
|
||
|
....
|
||
|
];
|
||
|
</script>
|
||
|
```
|
||
|
you can add as many links as you want. but the larger the list, it might not be responsive.
|
||
|
- 404 page. to change the image in the 404 page - overwrite the file in `assets/404-face.png` (The name matters)
|
||
|
- A custom rss page (no feedly)
|
||
|
- removed the default social links
|
||
|
- custom routs.yaml - Go to settings/Labs and upload the routs.yaml file from this repo. (All blog posts will be under route /writings)
|
||
|
|
||
|
### How do i use this theme?
|
||
|
Download/clone the repo and just compress it into a zip file. Then under Settings/Design Upload your new theme.
|
||
|
> YOu must upload the routes.yaml included in order for this theme to work properly
|
||
|
|
||
|
# First time using a Ghost theme?
|
||
|
|
||
|
Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.
|
||
|
|
||
|
This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/api/handlebars-themes/) which explains every possible Handlebars helper and template.
|
||
|
|
||
|
**The main files are:**
|
||
|
|
||
|
- `default.hbs` - The parent template file, which includes your global header/footer
|
||
|
- `index.hbs` - The main template to generate a list of posts, usually the home page
|
||
|
- `post.hbs` - The template used to render individual posts
|
||
|
- `page.hbs` - Used for individual pages
|
||
|
- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`"
|
||
|
- `author.hbs` - Used for author archives, eg. "all posts written by Jamie"
|
||
|
|
||
|
One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example:
|
||
|
|
||
|
- `page-about.hbs` - Custom template for an `/about/` page
|
||
|
- `tag-news.hbs` - Custom template for `/tag/news/` archive
|
||
|
- `author-ali.hbs` - Custom template for `/author/ali/` archive
|
||
|
|
||
|
|
||
|
# Development
|
||
|
|
||
|
Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:
|
||
|
|
||
|
```bash
|
||
|
# install dependencies
|
||
|
yarn install
|
||
|
|
||
|
# run development server
|
||
|
yarn dev
|
||
|
```
|
||
|
|
||
|
Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.
|
||
|
|
||
|
The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.
|
||
|
|
||
|
```bash
|
||
|
# create .zip file
|
||
|
yarn zip
|
||
|
```
|
||
|
|
||
|
# PostCSS Features Used
|
||
|
|
||
|
- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser.
|
||
|
- Variables - Simple pure CSS variables
|
||
|
- [Color Function](https://github.com/postcss/postcss-color-function)
|
||
|
|
||
|
|
||
|
# SVG Icons
|
||
|
|
||
|
Casper uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`.
|
||
|
|
||
|
You can add your own SVG icons in the same manner.
|
||
|
|
||
|
|
||
|
# Copyright & License
|
||
|
|
||
|
Copyright (c) 2013-2020 Ghost Foundation - Released under the [MIT license](LICENSE).
|