-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 940bdce
Showing
53 changed files
with
11,974 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"presets": ["@babel/env"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# http://editorconfig.org | ||
|
||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
indent_style = space | ||
indent_size = 4 | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
[*.hbs] | ||
insert_final_newline = false | ||
|
||
[*.md] | ||
trim_trailing_whitespace = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Learn more → https://github.com/TryGhost/action-deploy-theme#getting-started | ||
name: Deploy Theme | ||
on: | ||
push: | ||
branches: | ||
- master | ||
- main | ||
jobs: | ||
deploy: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Deploy Ghost Theme | ||
uses: TryGhost/action-deploy-theme@v1 | ||
with: | ||
api-url: ${{ secrets.GHOST_ADMIN_API_URL }} | ||
api-key: ${{ secrets.GHOST_ADMIN_API_KEY }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
b-cov | ||
*.seed | ||
*.log | ||
*.csv | ||
*.dat | ||
*.out | ||
*.pid | ||
*.gz | ||
*.zip | ||
|
||
pids | ||
logs | ||
results | ||
|
||
npm-debug.log | ||
node_modules | ||
|
||
.idea/* | ||
*.iml | ||
projectFilesBackup | ||
|
||
.DS_Store | ||
|
||
dist/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"recommendations": [ | ||
"TryGhost.ghost" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"search.exclude": { | ||
"**/node_modules": true, | ||
"assets/built/*.js": true, | ||
"assets/built/*.css": true, | ||
"assets/built/*.map": true, | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
Copyright (c) 2013-2022 Ghost Foundation | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
# Ghost Starter Theme | ||
|
||
A starter framework for Ghost themes! Click **Use this template** to create a copy of this repo for everything you need to get started developing a custom Ghost theme. | ||
|
||
| ||
|
||
## First time using a Ghost theme? | ||
|
||
Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes. | ||
|
||
We've documented this starter theme pretty heavily so that it should be possible to work out what's going on just by reading the code and the comments. We also have a robust set of resources to help you build awesome custom themes: | ||
|
||
- The official [theme documentation](https://ghost.org/docs/themes) is the complete resource for everything you need to know about Ghost theme development | ||
- [Tutorials](https://ghost.org/tutorials/) offer a step-by-step guide to building the most common features in Ghost themes | ||
- The [Ghost VS Code extension](https://marketplace.visualstudio.com/items?itemName=TryGhost.ghost) speeds up theme development and provides quick access to helpful info | ||
- All of Ghost's official themes are [open source](https://github.com/tryghost) and are a great reference for learning how to create a theme | ||
|
||
| ||
|
||
## Starter theme features | ||
|
||
🔁 Livereload by default. See changes instantly in the browser whenever you save a file. | ||
|
||
🔎 Optimized for VS Code. Find the files you're looking for more easily. | ||
|
||
🗃️ Write modern JavaScript. Use ESM out of the box to write more manageable Javascript. | ||
|
||
🗜️ Assets optimized automatically. JavaScript and CSS are minified and transpiled by default. | ||
|
||
👟 Fast compile times, powered by [Rollup](https://rollupjs.org). | ||
|
||
🦋 Write next-gen CSS for today's browsers with [PostCSS](https://postcss.org/). Add the CSS tools you love via [`rollup.config.js`](rollup.config.js). | ||
|
||
🚢 Ghost's [GH Deploy Action](.github/workflows/deploy-theme.yml) included by default. [Learn more how to deploy your theme automatically](https://github.com/TryGhost/action-deploy-theme) | ||
|
||
➕ Extensible by design. Rollup's configuration structure makes it easy to add [any number of plugins easily](https://github.com/rollup/plugins). | ||
|
||
| ||
|
||
## Theme structure | ||
|
||
The main files are: | ||
|
||
- [`default.hbs`](default.hbs) - The main template file | ||
- [`index.hbs`](index.hbs) - Used for the home page | ||
- [`post.hbs`](post.hbs) - Used for individual posts | ||
- [`page.hbs`](page.hbs) - Used for individual pages | ||
- [`tag.hbs`](tag.hbs) - Used for tag archives | ||
- [`author.hbs`](author.hbs) - Used for author archives | ||
|
||
One neat trick is that you can also create custom one-off templates just by adding the slug of a page to a template file. For example: | ||
|
||
- `page-about.hbs` - Custom template for the `/about/` page | ||
- `tag-news.hbs` - Custom template for `/tag/news/` archive | ||
- `author-jamie.hbs` - Custom template for `/author/jamie/` archive | ||
|
||
| ||
|
||
## Development guide | ||
|
||
The Starter theme provides a first-class development experience out of the box. | ||
|
||
| ||
|
||
### Setup | ||
|
||
To see realtime changes during development, symlink the Starter theme folder to the `content/themes` folder in your local Ghost install. | ||
|
||
```bash | ||
ln -s /path/to/starter /ghost/content/themes/starter | ||
``` | ||
|
||
Restart Ghost and select the Starter theme from **Settings**. | ||
|
||
From the theme's root directory, install the dependencies: | ||
|
||
```bash | ||
npm install | ||
``` | ||
|
||
If Node isn't installed, follow the [official Node installation guide](https://nodejs.org/). | ||
|
||
| ||
|
||
### Start development mode | ||
|
||
From the Starter theme folder, start development mode: | ||
|
||
```bash | ||
npm run dev | ||
``` | ||
|
||
Changes you make to your styles, scripts, and Handlebars files will show up automatically in the browser. CSS and Javascript will be compiled and output to the `built` folder. | ||
|
||
Press `ctrl + c` in the terminal to exit development mode. | ||
|
||
| ||
|
||
### Build, zip, and test your theme | ||
|
||
Compile your CSS and JavaScript assets for production with the following command: | ||
|
||
```bash | ||
npm run build | ||
``` | ||
|
||
Create a zip archive: | ||
|
||
```bash | ||
npm run zip | ||
``` | ||
|
||
Use `gscan` to test your theme for compatibility with Ghost: | ||
|
||
```bash | ||
npm run test | ||
``` | ||
|
||
| ||
|
||
|
||
|
||
## Copyright & License | ||
|
||
Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE). |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* Buttons | ||
/* ---------------------------------------------------------- */ | ||
|
||
.gh-button { | ||
display: inline-block; | ||
min-width: 75px; | ||
height: var(--height); | ||
padding: 0 2rem; | ||
border: 0; | ||
border-radius: var(--radius); | ||
cursor: pointer; | ||
font-family: var(--font-sans-serif); | ||
font-size: 1.4rem; | ||
font-weight: var(--font-normal); | ||
line-height: var(--height); | ||
text-align: center; | ||
text-decoration: none; | ||
white-space: nowrap; | ||
appearance: none; | ||
transition: 0.4s ease; | ||
} | ||
|
||
.gh-button.gh-button-fit { | ||
width: 100%; | ||
} | ||
|
||
.gh-button.gh-button-small { | ||
height: calc(var(--height) * 0.9); | ||
line-height: calc(var(--height) * 0.9); | ||
padding: 0 1.5rem; | ||
font-size: 1.2rem; | ||
} | ||
|
||
.gh-button.gh-button-large { | ||
height: calc(var(--height) * 1.2); | ||
line-height: calc(var(--height) * 1.2); | ||
padding: 0 2.5rem; | ||
font-size: 1.7rem; | ||
} | ||
|
||
.gh-button.gh-button-disabled, | ||
.gh-button:disabled { | ||
pointer-events: none; | ||
opacity: 0.4; | ||
} | ||
|
||
.gh-button { | ||
color: inherit; | ||
background-color: transparent; | ||
box-shadow: inset 0 0 0 2px currentColor | ||
} | ||
|
||
.gh-button:hover { | ||
text-decoration: none; | ||
color: var(--color-primary) !important; | ||
box-shadow: inset 0 0 0 2px var(--color-primary); | ||
transition: 0.2s ease; | ||
} | ||
|
||
.gh-button.gh-button-primary { | ||
color: #fff !important; | ||
background-color: var(--color-primary); | ||
box-shadow: none; | ||
} | ||
|
||
.gh-button.gh-button-primary:hover { | ||
background-color: var(--color-primary); | ||
} |
Oops, something went wrong.