* Added comments to theme
* Cleanup
* Updated spacing and typography
* Removed bottom border
* Added comment counter
* Updated theme name and post template
* Added search support
* Compiled css for search
* Removed the border and brackets for comment count
* Moved the comments helper into the content block so it gets the same paddings at narrow viewports
* Package version bump
* Updated comments helper in post template
* Final tweaks for the comments support
* Revert the package info
* Update {{comment_count}} helper usage
The helper now outputs a span wrapper by default, so we won't have to add a wrapper in the theme
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: James Morris <moreofmorris@users.noreply.github.com>
The default CSS styles of new Koenig cards that have been released in the past couple of weeks was updated for better usability in themes in general (read commit message for reasons and more reference).
This commit contains CSS cleanup and updates in theme styles that aligns Casper to this change.
Currently, the footer doesn't stick to the bottom of the viewport when the page content is small. This fixes the issue by making the <main> element fill the remaining space
Beeper started requiring ESM syntax from v3, and it caused an error when running development workflow
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module
List items had both top and bottom margin, and it caused some inconsistent spacing for lists inside post content. This updates fixes the issue by only assigning top margin on list items except the first one.
refs: #787
The tag archive header shares the same classes as post cards, but have different elements.
This changes the selector to target article.post-card, which ignores header.post-card
no issue
- as of 4.0, we're shipping tags with the preceding `v`, but this script
ignored that and so the release was incorrect
- this commit updates the tagName to have the preceding `v`
no issue
- the renovate.json file was removed to clean up the repository files,
but we still want Renovate to update dependencies
- Renovate allows us to configure the config in the package.json, so
this commit moves the previous contents there
no issue
- we previously needed a config.json to provide the GitHub token for
publishing new Casper releases
- this commit removes the need for this file by pulling the token from
the environment variable, which everyone in the Core team has set up
refs https://github.com/TryGhost/Team/issues/332
refs 870a09b109
- The {{@labs.members}} always evaluates to "true" starting with Ghost 4.0 and will be "null" coercing to "false" starting Ghost 5.0
- Enabled all conditionals be default to pass the build in main Ghost repository. These changes should be reviewed - special attentio to the left out RSS feed which was surrounded with {{unless @labs.members}} condition
It's now possible to disable the dark mode with code injection instead of removing the CSS and rebuilding it, by simply adding a class no-dark to html element.
no refs.
- added default avatar for authors template
- fixed typography inconsistencies, alignment and spacing issues for author and tags headers
- applied CSSComb
refs. https://github.com/TryGhost/Casper/issues/630
- added a dedicated close button element for the subscribe overlay which sits on top of all elements to ensure the modal is always closable
- fixed alignment and spacing of "Subscribe" button for mobile sizes
refs https://github.com/TryGhost/Ghost/pull/11409
- Adds secondary navigation to the main menu
- Updated secondary nav mobile styles
- Updated cover for the scrollable main navigation
refs. https://github.com/TryGhost/Casper/pull/631
- refined colors of links and separator dots for various cases (light/dark mode/with and without header background image)
- fixed bookmark card hover style
- ran CSSComb
refs. https://github.com/TryGhost/Casper/issues/632
Error page fixes and improvements
- uses default template (i.e. standard header and footer) on 404 error page
- fixed not displaying authors and primary tags on recommended posts on 404 error page
- fixed background for navigation bar on generic error page
- refined error code and message styles
closes#634, closes#635
- use `document.importNode` to create a clone of post card elements when pulling them in from infinite scroll pages
- cloning the element means the element's owner document matches the viewed document and ensures images in the inserted post card elements are sized according to the viewed document
no issue
- replaces author hover JS that was lost during merge
- replaces `floating-header.js` with `sticky-nav-title.js` containing the relevant JS that was lost during merge with a cleanup for unused variables and unnecessary event listeners
- removes reference to non-existent `{{> floating-header}}` partial
* Changed {{code}} to {{statusCode}}
refs 2ebd9feeee
- {{code}} use has been deprecated in canary rule set of gscan
* V3 Update
* Update package and readme for 3.0
* Improve install instructions
* Update to support browserlist
* Upgrade dependencies
* Fix misnamed property
* V3 darkmode (#619)
Added dark mode styles
* Casper final refinements batch 1
* Casper final refinements batch 2
* Fixed bookmark card hover bug
* Fixed header social links
* Updated screenshots
* Updated readme
no issue
- refreshed screenshot
* Udpate screenshot in readme
no issue
* 3.0.0-beta.2
* Fixed cut header for post cards
no issue
* 3.0.0-beta.3
* 3.0.0-beta.4
* Updated current version and previous version logic (#554)
no issue
- Use current version from `package.json` instead of `npm_package_version` env variable
- Use `release.tag_name` instead of `release.name` for previous version
* Updated jQuery to 3.4.1 to avoid known vulnerabilities (#590)
no issue
https://snyk.io/vuln/npm:jquery?lh=3.2.1&utm_source=lighthouse&utm_medium=ref&utm_campaign=audit
* Fixed code cards with long lines from being too wide
no issue
Credits - https://github.com/TryGhost/Casper/pull/602
* Bumped gscan version to v3.0.0 (#621)
* Bumped gscan to v3.0.0
- This also fixes failing CI builds because the default rules that are being checked were for v2
* Added explicit version check for gscan command
* Added member subscription support (#623)
* Added member subscription support
no issue
* Added member subscription success message
no issue
* Added member subscription overlay
* Refined members subscription overlay
* Deleted unused website icon
* Ran CSSComb
* Updated built assets
* 3.0.0-beta.5
* Updated built assets for v3
no issue
* 3.0.0-beta.6
* Remove unused partial
* V3 cleanup (#625)
* Removed unused infinity icon
* Removed unused location icon
* Removed unused 'point' icon
* Removed unused Ghost logo icon
* Removed unused author partials
* Cleaned up index log
* Fixed responsive feature image sizes for page template
no issue
Passing browser options directly into `autoprefixer()` has been deprecated in favour of general browserslist configuration in `package.json` or a `.browserslistrc` config file
- moved autoprefixer browsers list into `browserslist` config in `package.json`
- updated `autoprefixer` version
no issue
- moved large inline JS from templates into separate JS files
- floating header
- gallery card support
- use `gulp-concat` to concatenate all JS files into a single `built/casper.js` file
- reduces external JS file requests from 3 (jquery, infinite-scroll.js, jquery.fitvids.js) down to 2 (jquery, casper.js) and reduces page size by removing repeated inline code
no issue
- Use current version from `package.json` instead of `npm_package_version` env variable
- Use `release.tag_name` instead of `release.name` for previous version
refs https://github.com/TryGhost/Ghost/pull/10719
- adds styling for `.kg-code-card` so that code blocks are styled the same no matter if they are top-level or inside of a `<figure>` element
no issue
- CSS preprocessor dependencies have been updated, this re-builds the CSS to match the latest processed output
- the primary change is the addition of the `::-moz-selection` vendor prefix
no issue
- Casper uses `%s` tag naming
- Let's keep this, otherwise release order is broken
- Ghost & Ghost-Admin use this notation too
- It will tell `yarn version` to use `%s` instead of `v%s`
no issue
- added gulp task to extend casper release automation
- will draft the release for you
- will get the user facing commits from changelog
- runs after `yarn ship` (postship)
- full automation with env variables is possible
closes https://github.com/TryGhost/Casper/issues/548
- the recent postcss upgrade resulted in real CSS variables being output with a fallback mechanism, unfortunately this broke a number of colors throughout the theme
- disabled the fallback mechanism to revert back to the previous behaviour
- use the new, simpler format
- sourcemap and watch support is built in, so these plugins can be removed
- remove js filter - not sure what that did :/
- simplified task structure
no-issue
Previously we only added an error handler to the first stream in each
pipeline, this meant that if another stream errors you would get
unhelpful error handlers.
no issue
- This rename is due to new {{@site}} alias introduced in Ghost (dd1cf5ffc7) as {{@blog}} variable is deprecated now, and will be removed in v3
no issue
- Added a `js` task to run on the gulp build process and minifies our js files
- Changed the required scripts in `default.hbs` to use the minified js files in `/built/`
- Moved existing `js` tasks from `zip` task
* Remove suspect css rule
Removed the ".post-full-content pre code * { color: inherit }" rule which prevents highlight.js from working.
* Changed to just exclude span
Less disruptive to just remove span from color inheritance.
* Remove extra newline
refs #466
Anchor links didn't break, when the text was too long. Using `word-break: break-all` specifically on a-tags in post-content fixes this without screwing up other tags and their breaks.
no issue
- Update CSS and JS for new gallery card
- Updates CSS to support new gallery card
- Adds JS to support grid layout for gallery view
- Fix gallery breakout size
- Refining styles for gallery card
no issue
- when large images have width/height attributes but the image is constrained to it's container or `max-width` style the aspect ratio would be broken because browsers use the `height` attribute value even though the width is smaller
- Add gscan dependency & travis.yml file, so that we can run gscan as a test for this repo
- This check tells us whether or not the theme is valid & compatible with Ghost according to gscan
- We recommend that all themes do this!
refs https://github.com/TryGhost/Ghost/pull/9741
- Ghost 1.25 has updated the HTML output of Koenig beta posts
- the `<div class="kg-post">` wrapper around post content has been removed
- for image cards the `.kg-image-wide` and `.kg-image-full` classes have been changed to `.kg-width-wide` and `.kg-width-full` and applied to the `<figure>` element rather than the `<img>` element
- this will be the default for *all* posts after upgrading to Ghost 2.0
Example output of the `{{content}}` helper for Koenig beta...
Before 1.25.0 (Ghost 1.23.0-1.24.9):
```html
<div class="kg-post">
<figure class="kg-image-card">
<img class="kg-image kg-image-wide" src="...">
<figcaption>example wide image</figcaption>
</figure>
</div>
```
After 1.25.0:
```html
<figure class="kg-image-card kg-width-wide">
<img class="kg-image" src="...">
<figcaption>example wide image</figcaption>
</figure>
```
For reference, in Ghost 1.x a non Koenig post with nothing but an image in the markdown (``) would generate output like this:
```html
<div class="kg-card-markdown">
<img src="...">
</div>
```
refs https://github.com/TryGhost/Ghost/issues/9311
- move `.kg-card-markdown` styles and add deprecation notice
- add support for new `.kg-post` wrapper
- add support for `.kg-image` and `.kg-image-wide/full` image variants
- add support for image captions
closes#445
- added an fn to sanitize the pathname, that might include a pagination url
- fixed an issue, where the request would still be made if the current page is bigger than max pages
- added comments
no issue
https://github.com/TryGhost/Casper/pull/403 added optimisations for reducing size of zip files but unfortunately it also stripped out `assets/css` which means that it's no longer possible to download the theme from the admin panel and use it for development.
- remove `assets/css` from the ignored files in the `zip` task
no issue
- Optimised the `gulp zip` task, so the zip file doesn't include the `assets/css` (`built` folder is used for CSS) and the `dist` folder (is used to output the zip file)
closes#394
- closes potential phishing avenues by preventing external sites from changing the blogs url in the background after opening
- see https://mathiasbynens.github.io/rel-noopener/ for more info
A few people commented how pull-quote styling is odd for blockquotes. I agree. This reverts casper to use more traditional blockquote styling, but maintains the special pullquote styling now over on the H5 element. So if you want nice/wide/centered blue text, use an H5.
- Closes https://github.com/TryGhost/Casper/issues/364
- Closes https://github.com/TryGhost/Casper/issues/368
I alter this color to reddish for my own site, so it stood out much more easily than the Casper blue not matching the Firefox default. Autoprefixer isn't handling this one. Also, I tried adding this rule, comma separated, to the immediately above webkit rule... but it doesn't actually work when I do that, for some reason. Sorry for the redundancy!
https://developer.mozilla.org/en-US/docs/Web/CSS/::-moz-progress-bar
no issue
- The 404 Error template can have a little more fancy logic than other templates
- Therefore, we make the 404 template have the get helper
- The fallback general error template has no use of the get helper
- This helps ensure that errors can be rendered
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.
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.
@ -12,40 +12,49 @@ The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the la
Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.
We've documented our default theme pretty heavily so that it should be fairly easy to work out what's going on just by reading the code and the comments. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://themes.ghost.org) which explains every possible Handlebars helper and template.
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/themes/) which explains every possible Handlebars helper and template.
**The main files are:**
-`default.hbs` - The main template file
-`index.hbs` - Used for the home page
-`post.hbs` - Used for individual posts
-`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
-`author.hbs` - Used for author archives
-`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 really 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:
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 the`/about/` page
-`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 and Gulp installed globally. After that, from the theme's root directory:
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:
`$ npm install`
```bash
# install dependencies
yarn install
`$ gulp`
# 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.
{{!-- The #block helper will pull in data from the #contentFor other template files. In this case, there's some JavaScript which we only want to use in post.hbs, but it needs to be included down here, after jQuery has already loaded. --}}
{{{block"scripts"}}}
{{!-- Ghost outputs important scripts and data with this tag - it should always be the very last thing before the closing body tag --}}
{{!-- Ghost outputs required functional scripts with this tag - it should always be the last thing before the closing body tag --}}
Thiserrortemplateisusedforall400/500errorswhichmightoccuronyoursite.It's a good idea to keep this template as minimal as possible in terms of both file size and complexity. You'llnoticethatwe*don't*useanyJavsScript,orghost_head/ghost_footinthisfile.
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.