Compare commits

..

861 Commits

Author SHA1 Message Date
ViViDboarder
e1cf969048 Use latest ubuntu runner 2023-07-11 13:54:09 -07:00
ViViDboarder
416a1194c6 Replace @blog with @site 2023-07-11 12:12:56 -07:00
ViViDboarder
5fcdb152eb Merge remote-tracking branch 'upstream/main' 2023-07-11 12:12:28 -07:00
Sanne de Vries
d3483498d4
Added support for hidden title and feature image on pages (#943)
* Added support for hidden title and feature image on pages

Refs https://github.com/TryGhost/Product/issues/3568

* Switched from match to if helper for show_title_and_feature_image

Refs https://github.com/TryGhost/Product/issues/3568
2023-07-10 12:19:00 +02:00
Sodbileg Gansukh
4ae190c1a6 v5.5.3 2023-07-06 09:46:25 +08:00
Sodbileg Gansukh
22c83f9128 Fixed tag and author description character limit 2023-07-06 09:46:03 +08:00
Sodbileg Gansukh
10fd2f3a1c v5.5.2 2023-07-03 18:52:41 +08:00
Sodbileg Gansukh
b1a10873ff Fixed nested list spacing 2023-07-03 18:03:47 +08:00
Sodbileg Gansukh
0e76b5abef Removed unnecessary JS hack for nested list 2023-07-03 17:37:39 +08:00
Sodbileg Gansukh
d75ffc78ac Added nested list support 2023-06-28 18:25:13 +08:00
Sodbileg Gansukh
fa76f77006 Consistent syntax 2023-06-27 13:01:12 +08:00
Rafael Corrêa Gomes
dda827ded3 Head > Adding preload 2023-06-27 12:59:56 +08:00
Sanne de Vries
bdf150658e v5.5.1 2023-06-22 21:19:57 +02:00
Sanne de Vries
2fafe722d1 Added grid to full width cards with wide content
Refs https://github.com/TryGhost/Team/issues/3459
2023-06-22 21:17:03 +02:00
Sodbileg Gansukh
0721600075 v5.5.0 2023-06-22 17:17:43 +08:00
Sodbileg Gansukh
a18367200f Updated post content grid for additional widths 2023-06-22 16:37:59 +08:00
Sodbileg Gansukh
294b1e30e5 v5.4.12 2023-06-20 12:09:25 +08:00
Sodbileg Gansukh
aa8ca0794b Fixed main nav background color in dark mode
closes https://github.com/TryGhost/Casper/issues/942
2023-06-20 12:09:08 +08:00
Sodbileg Gansukh
ba0b3d08cc v5.4.11 2023-05-09 13:30:12 +08:00
Sodbileg Gansukh
50d5727f77 Fixed mobile menu background in dark mode
no issues

- when there's no publication cover and the color scheme is in dark mode, the mobile menu had white background
- this fixes the issue by adding explicit dark mode rules to the styles
2023-05-09 13:27:37 +08:00
Sodbileg Gansukh
23f7c30365 v5.4.10 2023-04-21 09:49:57 +01:00
Sodbileg Gansukh
8ff3c6fcf1 Fixed main nav to make it work with the announcement bar 2023-04-21 09:49:37 +01:00
Sodbileg Gansukh
5c7fb39df9 v5.4.9 2023-04-10 13:42:17 +08:00
Sodbileg Gansukh
4851606d9d Rebuilt assets 2023-04-10 13:41:59 +08:00
Rob Leslie
afca9cb27e Fix problem showing dropdown after window resize
When the browser window is resized, a new click event listener is added
to the window but the old one is not removed. The old one ends up
preventing the newly-made dropdown from opening.

Fix this by remembering the click event listener function added to the
window, and remove it before making the new dropdown after a window
resize.
2023-04-10 13:40:33 +08:00
Sodbileg Gansukh
b56bec2cb8 Fixed header action background color for smaller screens
closes #934

- the accent color is used for the header background, so we don't need to add explicit dark mode color to the action on mobile screens
2023-04-10 13:24:11 +08:00
Sodbileg Gansukh
0c4164c5bd v5.4.8 2023-03-28 16:01:50 +08:00
Sodbileg Gansukh
e6326eadf9 Added a class name to the powered by text
no issues

- our other themes have this class, and this makes it consistent across over all offcial themes
2023-03-28 16:01:24 +08:00
renovate[bot]
3ed94d68fa Update dependency gscan to v4.36.1 2023-03-07 09:25:32 +01:00
Sodbileg Gansukh
505503a63b v5.4.7 2023-03-01 13:54:29 +08:00
Sodbileg Gansukh
bd3fc7c2af Fixed textarea color in dark mode 2023-03-01 13:53:58 +08:00
Sodbileg Gansukh
5e0f765852 v5.4.6 2023-02-28 13:57:36 +08:00
Sodbileg Gansukh
4293dab0a7 Fixed burger menu icon visibility on dark mode
refs #925
2023-02-28 13:57:05 +08:00
Cory
f00918589f Update comment grammar 2023-02-27 17:13:31 +08:00
Nicholas Fasching
0200889148 Fix Table of Contents Numbering in screen.css 2023-02-27 15:39:25 +08:00
Mark Stosberg
248c122f86 re-add aria-label to search button for screen readers
This was added by https://github.com/TryGhost/Casper/pull/896 

but then appears to have been accidentally reverted in the merge of https://github.com/TryGhost/Casper/pull/906
2023-02-27 15:10:09 +08:00
Daniel Lockyer
a007415d89
v5.4.5 2023-01-20 09:50:01 +01:00
Peter Zimon
31188ce3c0 Fixed author's cover image not showing up
no refs.

The author's cover image didn't show up on the theme because the author template used `feature_image` instead of `cover_image`.
2023-01-19 09:51:08 +01:00
Sodbileg Gansukh
e1967f8546 v5.4.4 2022-12-16 12:35:19 +08:00
Sodbileg Gansukh
5259d551f5 Fixed mobile navbar height 2022-12-16 12:33:11 +08:00
Sodbileg Gansukh
115d1d820c Fixed sign in link placement on mobile screen
fixes #913
2022-12-16 12:12:22 +08:00
Sodbileg Gansukh
81e4dfd52d Minor spacing adjustment 2022-12-16 12:02:08 +08:00
Sodbileg Gansukh
cc4d828575 Fixed logo visibility when the header is hidden 2022-12-16 11:57:59 +08:00
Sodbileg Gansukh
ebb2538215 v5.4.3 2022-12-15 10:12:38 +08:00
Sodbileg Gansukh
3767e3d994 Adjusted the pagination to dark mode 2022-12-15 10:00:58 +08:00
Sodbileg Gansukh
6d290485dc Fixed account button background 2022-12-15 09:55:41 +08:00
Sodbileg Gansukh
7da41d344f Added sign in link to the navbar 2022-12-14 16:42:46 +08:00
Sodbileg Gansukh
55a90a9252 v5.4.2 2022-12-12 14:55:31 +08:00
Sodbileg Gansukh
b20dceae22 Rebuilt assets 2022-12-12 14:55:02 +08:00
Sodbileg Gansukh
88ca182a58 Added regular pagination option
Casper comes with infinite scrolling by default. This update makes it possible to go with the default pagination style when the <html> element has a class no-infinite-scroll.
2022-12-08 12:50:24 +08:00
Sodbileg Gansukh
140632b885 fixes #910
When the publication cover is turned off and the header style is set to hidden, the header section shouldn't be taking much space like it does regularly.
2022-12-07 15:29:23 +08:00
Sodbileg Gansukh
8f2b806673 v5.4.1 2022-11-14 11:05:28 +08:00
Sodbileg Gansukh
4af198a19f Fixed dropdown menu width 2022-11-14 10:42:10 +08:00
Sodbileg Gansukh
f846ceb7ed Fixed minor spacing issues on the header 2022-11-14 10:37:50 +08:00
tmlmt
7390c17a26 Fix for intended location of search icon 2022-11-14 10:31:51 +08:00
Sodbileg Gansukh
55d5345800 v5.4.0 2022-11-11 11:31:39 +08:00
Sodbileg Gansukh
cf30adacce
Added navbar options (#906) 2022-11-11 11:30:32 +08:00
Lucas
38426cd9e6
Added aria-label to search button (#896) 2022-10-31 16:01:42 +08:00
Sodbileg Gansukh
c7713df88f v5.3.2 2022-10-04 14:43:34 +08:00
Sodbileg Gansukh
e6fdb4bfa3 Excluded GitHub Gist table from being styled
fixes #895
2022-10-04 14:31:38 +08:00
Jérôme Gamez
657bb8f986 Add me relation to social links 2022-09-12 12:57:24 +08:00
Sodbileg Gansukh
005211ff8f Remove ununsed file 2022-09-01 11:36:01 +08:00
Sodbileg Gansukh
e2096ee731 v5.3.1 2022-08-16 10:54:22 +08:00
Sodbileg Gansukh
20ced95885 Fix search icon placement
fixes #894
2022-08-16 10:54:04 +08:00
Sodbileg Gansukh
2aaf7441af v5.3.0 2022-08-12 21:32:28 +08:00
Sodbileg Gansukh
d687d0f099
Add comments support (#893)
* 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>
2022-08-12 21:30:06 +08:00
renovate[bot]
96f69f8c07
Update dependency gscan to v4.34.0 (#884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-08 16:31:53 +08:00
renovate[bot]
4808700c0f
Update dependency @tryghost/release-utils to v0.8.1 (#886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-08 16:30:45 +08:00
Sodbileg Gansukh
6459992d9a Update screenshot 2022-08-08 10:57:04 +08:00
Sodbileg Gansukh
b28258d0c8 v5.2.3 2022-08-02 14:23:57 +08:00
Sodbileg Gansukh
f3c0526ea5 Increase the width of header on author and tag page
The width used to be equal to one post card width and it wasn't enough for longer author name and description.
2022-07-28 12:37:32 +08:00
Sodbileg Gansukh
129a578751 Fix author profile social link hover color on dark mode 2022-07-28 12:35:23 +08:00
Sodbileg Gansukh
1b3541ef2a v5.2.2 2022-07-26 10:23:06 +08:00
Sodbileg Gansukh
664afdb158 Rebuild assets 2022-07-26 10:22:49 +08:00
Sodbileg Gansukh
d386ab090f Update Ghost version compatibility default value 2022-07-20 12:18:01 +08:00
renovate[bot]
c6411dbf41
Update dependency gscan to v4.31.2 (#851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:14:22 +08:00
renovate[bot]
7eb472ab81
Update dependency gulp-postcss to v9.0.1 (#815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:13:15 +08:00
renovate[bot]
ae7b6e1022
Update dependency inquirer to v8.2.4 (#806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:12:28 +08:00
renovate[bot]
b74032835f
Update dependency postcss to v8.2.13 [SECURITY] (#805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:10:33 +08:00
renovate[bot]
eab9e1ae0f
Update dependency autoprefixer to v10.4.7 (#796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:09:58 +08:00
renovate[bot]
873566a24c
Update dependency @tryghost/release-utils to v0.8.0 (#793)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:02:59 +08:00
renovate[bot]
1ade4c8816
Update CSS preprocessors (#797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 16:01:28 +08:00
Sodbileg Gansukh
245969800d Rebuild assets 2022-07-19 15:54:01 +08:00
snake
db37f3caa8
Fix author profile location is dark color in dark mode (#874) 2022-07-19 15:52:59 +08:00
Sodbileg Gansukh
a15e9bda40 v5.2.1 2022-07-14 15:17:44 +08:00
Sodbileg Gansukh
ffcbc42d13 Fix search icon spacing 2022-07-14 15:16:32 +08:00
Sodbileg Gansukh
d373d926fa v5.2.0 2022-07-12 19:15:38 +08:00
Sodbileg Gansukh
8699a22019 Add search attribute 2022-07-12 19:14:29 +08:00
Sodbileg Gansukh
eff8d360ba Add search support 2022-07-12 19:14:29 +08:00
Sodbileg Gansukh
3e7ca9cb36 v5.1.5 2022-07-04 19:02:25 +08:00
Sodbileg Gansukh
b5297f16d7 Rebuild assets 2022-07-04 19:02:07 +08:00
Jérôme Gamez
ccf82ec6c1 Let social links inherit their color 2022-07-04 15:12:36 +08:00
Sodbileg Gansukh
d9d70e7010 v5.1.4 2022-06-03 17:07:58 +08:00
Sodbileg Gansukh
52663e9be7 Fix unexpected cropping in grid layout 2022-06-03 17:07:38 +08:00
Sodbileg Gansukh
d1b1d383f5 v5.1.3 2022-06-01 19:43:57 +08:00
Sodbileg Gansukh
cf50364c6d Fix members only post indicator visibility when logged in 2022-06-01 19:43:34 +08:00
Sodbileg Gansukh
22e3f69aed v5.1.2 2022-05-31 16:18:53 +08:00
Sodbileg Gansukh
d1ac1b8c2c Distinguish members and paid-members only post indicators 2022-05-31 13:50:54 +08:00
Sodbileg Gansukh
45bc14f08d v5.1.1 2022-05-27 18:19:39 +08:00
Sodbileg Gansukh
e27ea96779 Fix blurry tag image 2022-05-27 18:19:14 +08:00
Sodbileg Gansukh
e51c1aff42 v5.1.0 2022-05-27 15:13:32 +08:00
Sodbileg Gansukh
d00647009c Fix post access indicator background 2022-05-27 15:10:47 +08:00
Sodbileg Gansukh
c75b67cf5d Fix author avatar in dark mode 2022-05-27 15:01:51 +08:00
Sodbileg Gansukh
9ebb26559a Auto dark mode 2022-05-27 14:46:30 +08:00
Sodbileg Gansukh
0e78d9ed40 Fix recent posts alignment 2022-05-26 17:41:59 +08:00
Sodbileg Gansukh
08b3054ada Hover effect 2022-05-26 16:25:05 +08:00
Sodbileg Gansukh
f5cb9a73d0 Fix featured post indicator layout shifting 2022-05-26 16:19:59 +08:00
Sodbileg Gansukh
e27f2190d6 Add conditions to check if members feature is enabled 2022-05-26 16:08:10 +08:00
Sodbileg Gansukh
c205947374 Fix table element selector 2022-05-26 15:55:16 +08:00
Sodbileg Gansukh
628a32ba96 Rename has-cover-image body class 2022-05-26 14:33:06 +08:00
Sodbileg Gansukh
0bf84b2b80 Post access indicator 2022-05-26 14:31:14 +08:00
Sodbileg Gansukh
7a86c6fd92 Show the reading time separate only if it exists 2022-05-26 13:56:10 +08:00
Sodbileg Gansukh
cfd767be88 Social links 2022-05-26 13:44:38 +08:00
Sodbileg Gansukh
4461d5e2f8 Featured post indicator 2022-05-26 13:31:16 +08:00
Sodbileg Gansukh
9efff7d6fa v5.0.0 2022-05-20 21:51:00 +08:00
Sodbileg Gansukh
358f3d6d35 Archive template spacing 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
4e30aff168 Minor dark mode fix 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
362a4995a2 Page template specific fixes 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
b0dfa11ff0 Polishing 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
508bbf1fb0 Spacing, spacing and spacing 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
a0cedfe23e Rename @custom.site_logo_in_main_navigation 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
1076078f8b Update ghost version 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
fe257987ce More spacing issue fixes 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
83669da41c Minor thing 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
be6943780d Remove auto dark mode 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
1f7cd51245 Minor detail adjustments 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
082cadf640 Rename recent posts setting 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
c74be0e346 Post image style setting 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
5fc101fb2c Layout settings cleanup 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
6439992db2 Fix wrong conditions for @custom.site_logo_in_main_navigation 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
21c6f59a61 Header settings cleanup 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
5424c465fb Settings cleanup 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
994a2287a2 List layout 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
6236067373 Minor adjustments 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
68c6224a92 Mobile screen refinement 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
838120323a More theme settings cleanup 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
98f7f53119 Post template 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
d9f92dfe89 Author and tag templates 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
b811b72333 Post layouts 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
6c922fca35 Cleanup header style 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
4c8ccde081 Header option 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
5672c0b6c8 Post card 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
f74e9241bb Header 2022-05-20 21:49:12 +08:00
Sodbileg Gansukh
ff4e4226c0 v4.7.5 2022-05-02 17:44:06 +08:00
Sodbileg Gansukh
9a09ff41c3 Add a class name to site description 2022-05-02 17:43:02 +08:00
Sodbileg Gansukh
f41761e0ad v4.7.4 2022-04-08 18:05:35 +08:00
Sodbileg Gansukh
11b52ed0cf Fix paginated posts of the list layout 2022-04-08 18:04:54 +08:00
Sodbileg Gansukh
c3fa4f6b24 Remove deprecated ghost-api property 2022-03-28 15:48:20 +08:00
Sodbileg Gansukh
19d5b6c297 Remove unused csscomb files 2022-03-23 11:15:07 +08:00
Sodbileg Gansukh
76f0037467 v4.7.3 2022-03-01 11:44:07 +08:00
Sodbileg Gansukh
37a09189c3 Make editor and markdown blockquote styles consistent 2022-03-01 11:43:00 +08:00
Sodbileg Gansukh
13458e0d2d Add a class to card meta author 2022-01-26 13:10:55 +08:00
Sodbileg Gansukh
eb007cb1c1 Show read more wrapper when only there are other recent posts 2022-01-25 14:28:22 +08:00
renovate[bot]
55f5ba65c6
Update dependency gscan to v4.22.0 (#827)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-14 10:39:46 +00:00
John O'Nolan
5cdcda15ee
2022 2022-01-05 12:43:26 +00:00
Maegan Wilson
18f6d85da5 Updating spelling fixes #834 2022-01-04 11:57:24 +08:00
Sodbileg Gansukh
1f3418708c Add <kbd> style
fixes #822
2022-01-03 12:08:16 +08:00
Sodbileg Gansukh
05d0b0c7db v4.7.2 2021-12-17 18:16:43 +08:00
Sodbileg Gansukh
08f480ff78 Update dark style header card background color 2021-12-17 18:16:21 +08:00
Sodbileg Gansukh
56ec2e9a90 v4.7.1 2021-12-17 16:30:15 +08:00
Sodbileg Gansukh
c4f2d74d80 Apply custom heading color only to light header style 2021-12-17 16:24:24 +08:00
Sodbileg Gansukh
c378e9a9c9 v4.7.0 2021-12-17 15:58:13 +08:00
Sodbileg Gansukh
db98015d41 Header card tweaks 2021-12-17 15:06:34 +08:00
Daniel Lockyer
7e9cf5c478
v4.6.1 2021-12-16 09:46:13 +01:00
Sodbileg Gansukh
0f9a3c79c1 Fix list layout style on medium screen size 2021-12-16 12:53:45 +08:00
Peter Zimon
8ff91f709e Updated callout emoji line-height 2021-12-15 15:00:52 +01:00
Sam Lord
feb2de765c v4.6.0 2021-12-15 13:02:03 +00:00
Peter Zimon
9b45ff3418
Card css specificity update (#832)
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.
2021-12-15 13:06:42 +01:00
Peter Zimon
827f37255c Updated styles for file upload card 2021-12-14 14:38:49 +01:00
Daniel Lockyer
ffdf853323
v4.5.0 2021-12-13 17:47:11 +01:00
Thibaut Patel
e4543555fa Fixed a rule so that it doesn't overrides the product card css
refs https://github.com/TryGhost/Team/issues/1245

- Followed the same pattern as the callout, ntf and bookmark cards.
2021-12-13 17:23:49 +01:00
Rafael Corrêa Gomes
67e7291c2b Footer > Adding Lazy loading in the profile image 2021-12-13 16:09:13 +08:00
Sodbileg Gansukh
c880856a32 Revert dark mode style of product card rating 2021-12-10 09:55:52 +08:00
Daniel Lockyer
b06bcd6534
v4.4.0 2021-12-08 15:00:14 +00:00
Sodbileg Gansukh
49f99d956f Add dark mode support to product card star rating 2021-12-08 17:17:47 +08:00
Sodbileg Gansukh
cdb03b65fb Add alternate blockquote styles 2021-12-07 19:05:00 +08:00
Sodbileg Gansukh
e80f22c2a5 v4.3.1 2021-12-06 18:52:26 +08:00
Peter Zimon
b6474446f8 Updated toggle styles 2021-12-04 08:14:00 -04:00
Peter Zimon
462770968a Updated callout styles 2021-12-04 08:06:09 -04:00
Daniel Lockyer
017a2829b6
v4.3.0 2021-12-01 12:56:41 +00:00
Daniel Lockyer
198f12b725
Updated yarn.lock
no issue

- this needed updating after we bumped gscan
2021-12-01 12:55:55 +00:00
Sodbileg Gansukh
48260130fe Update toggle card heading selector 2021-11-29 13:33:59 +08:00
Sodbileg Gansukh
8b392ec6dd Add typography option to toggle card heading 2021-11-25 18:42:19 +08:00
Sodbileg Gansukh
4ea98431b3 Card responsive style refinements 2021-11-25 10:44:09 +08:00
Sodbileg Gansukh
6bc9b021b5 Add toggle content flow spacing 2021-11-25 10:31:36 +08:00
Sodbileg Gansukh
c1006ec649 Use data attribute for Portal links 2021-11-24 10:50:46 +08:00
Sodbileg Gansukh
cad48b230c Add missing styles for toggle card content 2021-11-23 11:32:24 +08:00
Sodbileg Gansukh
b3f6b8a82c Include lists inside toggle card to content styling 2021-11-23 11:28:35 +08:00
Sodbileg Gansukh
2d940d8f59 Exclude default CTA links from link styling 2021-11-23 11:22:56 +08:00
Sodbileg Gansukh
b7ea0cbff7 Upgrade gscan 2021-11-22 21:37:28 +08:00
Sodbileg Gansukh
a8150f7c30 Include toggle text in content styling 2021-11-22 21:35:48 +08:00
Peter Zimon
b5b1ea001e Updated NFT card styles 2021-11-19 12:02:09 +01:00
Sodbileg Gansukh
370b9ec74e Include .kg-callout-text to content styling 2021-11-19 16:07:09 +08:00
Sodbileg Gansukh
3cbe9b2c97 Remove bookmark card related CSS 2021-11-17 18:22:47 +08:00
Sodbileg Gansukh
d652252699 Remove gallery card related CSS and JS 2021-11-17 17:02:16 +08:00
Sodbileg Gansukh
6107a411a1 Exclude cards from default link styling
refs https://github.com/TryGhost/Team/issues/1227
2021-11-17 15:40:32 +08:00
Sodbileg Gansukh
8feb988375 Update heading selector on dark mode 2021-11-15 13:22:03 +08:00
Sodbileg Gansukh
e898d56f0b v4.2.0 2021-11-05 20:58:43 +08:00
Sodbileg Gansukh
b8319c5bb9 Update gscan 2021-11-05 20:17:41 +08:00
Sodbileg Gansukh
ceaa887371 Add custom settings 2021-11-05 20:14:53 +08:00
Sodbileg Gansukh
c63a07e8df v4.1.1 2021-09-22 15:28:46 +08:00
Sodbileg Gansukh
0e0898d7e9 Fix W3C warning about section lacks heading 2021-09-22 15:26:39 +08:00
Sodbileg Gansukh
2234b14bbd Fix nested main element issue 2021-09-22 15:24:17 +08:00
Sodbileg Gansukh
046d53e885 v4.1.0 2021-07-07 12:16:03 +08:00
Sodbileg Gansukh
e49664eca4
Add alt and caption support to feature images (#812)
* Add alt and caption support to feature images

* Add feature image alt support to post card

* Remove three-curlies
2021-07-05 10:59:21 +08:00
Sodbileg Gansukh
21bdffbd8a Fix header element inside header 2021-06-10 13:32:41 +08:00
Leedan
ea33b00c0a
Author page: remove span stray end tag (#808) 2021-06-03 10:15:25 +08:00
Sodbileg Gansukh
17c9fe6c55 v4.0.5 2021-05-10 14:21:53 +08:00
Sodbileg Gansukh
5adeaa458b Make the footer stick to bottom
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
2021-05-10 14:20:40 +08:00
Sodbileg Gansukh
5013c91f1a Revert "Pin beeper to v2"
This reverts commit f43f6c567f.
2021-05-06 15:48:36 +08:00
Sodbileg Gansukh
f43f6c567f Pin beeper to v2
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
2021-05-06 12:28:54 +08:00
Sodbileg Gansukh
69feef6c46 Exclude development files from zipped theme 2021-05-05 07:53:10 +08:00
ViViDboarder
01192b7030 Update github action deploy 2021-04-07 10:00:54 -07:00
ViViDboarder
4f8ad3f804 Merge remote-tracking branch 'upstream/main' 2021-04-07 10:00:37 -07:00
ViViDboarder
7b3cda6ea0 Merge upstream master 2021-04-07 09:49:47 -07:00
Sodbileg Gansukh
4708987c39 Update signup button Portal link
fixes #791
2021-04-02 14:45:33 +08:00
Sodbileg Gansukh
a4eb58f8e7 v4.0.4 2021-04-01 16:18:12 +08:00
Sodbileg Gansukh
5ad96f7c12 Fix post featured image width 2021-04-01 13:20:50 +08:00
Sodbileg Gansukh
6ac55407b3 Break long words
Fixes #788
2021-04-01 13:01:09 +08:00
Sodbileg Gansukh
b0e21fe0f7 Improve code block styling 2021-04-01 12:58:41 +08:00
Sodbileg Gansukh
85cd131cf1 v4.0.3 2021-03-29 11:57:50 +08:00
Sodbileg Gansukh
53ff37cf10 Add background color to default profile image
Fixes #785
2021-03-29 11:43:45 +08:00
Sodbileg Gansukh
816e1f608e Make image block element by default
By doing that, any possible future image alignment issues in post content can be prevented
refs #786
2021-03-29 11:34:53 +08:00
Sodbileg Gansukh
0d49da97a2 Fix list item spacing issue
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
2021-03-29 10:52:15 +08:00
Sodbileg Gansukh
e34e2e3e0a Fix mobile menu overlapping Portal popup
fixes #784
2021-03-22 11:38:03 +08:00
iron
18ceb822dd
Update screen.css (#778) 2021-03-19 07:19:03 -04:00
Sodbileg Gansukh
08c1e38ae1 v4.0.2 2021-03-19 16:47:30 +08:00
Sodbileg Gansukh
d9e9e097cd Fix headings and card caption color on dark mode
refs #780
2021-03-19 14:15:52 +08:00
Daniel Lockyer
96aac80081
v4.0.1 2021-03-18 17:35:03 +00:00
Sodbileg Gansukh
3fa7f25147 Add Facebook link to the header
Fixes #776
2021-03-18 14:31:56 +08:00
Daniel Lockyer
b16671d8a7
v4.0.0 2021-03-15 23:33:48 +00:00
Daniel Lockyer
3d6a3dc68f
v4.0.0-rc.2 2021-03-12 20:27:07 +00:00
Paul Davis
48d06196c2
Fix horizontal scrolling caused by scaling on the subscribe CTA h2 (#765) 2021-03-12 09:53:43 -05:00
Paul Davis
573e384381
Add space between gallery/image cards with caption (#766)
Co-authored-by: John O'Nolan <john@ghost.org>
2021-03-12 08:29:53 -05:00
Paul Davis
5f127c395b
Fix traditional Instagram embeds (#767)
Highly specific styles for traditional Instagram embeds

Co-authored-by: John O'Nolan <john@ghost.org>
2021-03-12 08:27:58 -05:00
Sodbileg Gansukh
3cc9cb0988
Fix headings typography scale (#771) 2021-03-12 08:25:37 -05:00
Paul Davis
ca36c4fe91
Only use post-card-large variation if feature_image exists (#764) 2021-03-11 13:44:10 -05:00
Paul Davis
260d5ec4e6
Fix horizontal alignment of smaller post images (#759)
Co-authored-by: John O'Nolan <john@ghost.org>
2021-03-11 13:37:58 -05:00
Paul Davis
410ec1a9d5
Fix logo size in header on small screens (#760)
Co-authored-by: John O'Nolan <john@ghost.org>
2021-03-11 13:37:00 -05:00
Paul Davis
e72f4236be
Fix long links causing horizontal scrolling on small screens (#761)
Co-authored-by: John O'Nolan <john@ghost.org>
2021-03-11 13:36:13 -05:00
Paul Davis
c0d5a3d999
Fix broken card layout caused by long strings (#762) 2021-03-11 13:33:25 -05:00
Paul Davis
b927cf62ed
Adjust infinite scroll selector to target article.post-card (#763)
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
2021-03-11 13:32:57 -05:00
Daniel Lockyer
91ced578c5
Updated tagName in release script
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`
2021-03-10 21:11:23 +00:00
Daniel Lockyer
87772282c8
v4.0.0-rc.1 2021-03-10 21:08:10 +00:00
Renovate Bot
bcfeb9be74 Update dependency gscan to v4 2021-03-10 21:04:49 +00:00
Daniel Lockyer
5b310a00f4
Merged 4.0 into main
no issue

- Casper is now ready for 4.0 so this commit merges the branch in to try
  and keep the Git history as clean as possible
2021-03-10 21:03:13 +00:00
Daniel Lockyer
a6a5d1eba1
3.1.3 2021-03-10 21:00:57 +00:00
Renovate Bot
fa8cc4cf2e
Update dependency gulp-zip to v5.1.0 2021-03-10 09:48:00 +00:00
John O'Nolan
3a5fda7009 Spacing fix on author profile 2021-03-09 22:23:47 -05:00
John O'Nolan
4f2fe7eb43 Update page template style 2021-03-09 22:02:35 -05:00
John O'Nolan
be0600a603 Update end of post CTA bg color 2021-03-09 21:33:13 -05:00
Renovate Bot
e4faa3141a
Update dependency postcss to v8.2.8 2021-03-09 22:41:13 +00:00
John O'Nolan
a78784decf Fix codeblock specificity, props @pauladamdavis 2021-03-09 09:27:47 -05:00
John O'Nolan
a516282b73 Correct logo height in navbar 2021-03-09 09:04:50 -05:00
John O'Nolan
ea6942a7fe Fix bug with :not unfixing previous fix of ::not which it turns out is not a thing 2021-03-09 09:03:54 -05:00
John O'Nolan
b5c2869ff6 Fix bug where incorrect styles were applied if codeblocks have captions 2021-03-08 16:08:47 -05:00
John O'Nolan
b7faac9eda Dark codeblocks by default 2021-03-08 15:59:11 -05:00
John O'Nolan
372dca859b Reinstate a class which as it turns out was not unused after all 2021-03-08 11:46:41 -05:00
John O'Nolan
30cd8d97e0 Remove unused old script from homepage 2021-03-08 11:30:16 -05:00
John O'Nolan
0584a58c6c Remove overlays from cover image, these only worked when CSS bg image, not img tag 2021-03-08 11:28:11 -05:00
John O'Nolan
2231274b07 Remove unused old class 2021-03-08 11:25:46 -05:00
John O'Nolan
715f95d209 Typography fixes 2021-03-06 21:54:43 -05:00
Renovate Bot
1e0e813931
Update dependency autoprefixer to v10.2.5 2021-03-05 15:52:56 +00:00
John O'Nolan
2c356f1cc4 Update dates to be locale-friendly, props @levee223 2021-03-05 10:13:14 -05:00
Daniel Lockyer
140666ee44
v4.0.0-rc.0 2021-03-05 14:07:06 +00:00
Daniel Lockyer
70f71e9839
Updated built JS assets
no issue

- these weren't rebuilt when changing the code
2021-03-05 14:05:57 +00:00
Daniel Lockyer
bd1dbd51c7
Updated default Ghost compatibility in release script
no issue

- not important, but it saves manually entering it during the release
  process
- Casper is only compatible with Ghost 4.0 moving forwards
2021-03-05 13:28:15 +00:00
John O'Nolan
f590fb029a Tag archive 2021-03-04 18:31:29 -05:00
John O'Nolan
7617c7baf2 Author profile 2021-03-04 17:22:45 -05:00
John O'Nolan
b5d0589222 And so the lord said unto Moses, let us obliterate this CSS 2021-03-04 08:05:28 -05:00
Naz
e95293cc22 Updated deprecated @site.lang to @site.locale
refs https://github.com/TryGhost/Team/issues/509
refs b0f80be408

- @site.lang property is being deprecated with Ghsot 4.0 and @site.locale is advised to be used instead
2021-03-04 19:48:58 +13:00
Sodbileg Gansukh
2d27e13f14 Remove visibility parameter 2021-03-04 12:20:10 +08:00
Renovate Bot
0d1cf89cc0
Update dependency postcss to v8.2.7 2021-03-04 00:43:23 +00:00
Daniel Lockyer
a43c6b3cbc
Fixed logic for checking GitHub token
no issue 

- the check needs to be inverted to ensure we're being passed a token
2021-03-04 00:29:56 +00:00
John O'Nolan
1365eab4ae Cleanup 2021-03-03 15:44:30 -05:00
Daniel Lockyer
cf24eccdf2
Added Renovate to package.json
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
2021-03-03 13:24:16 +00:00
Daniel Lockyer
f12ce05454
Removed the need for config.json when releasing
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
2021-03-03 13:20:58 +00:00
John O'Nolan
44e33120cb Cleanup 2021-03-03 08:11:16 -05:00
John O'Nolan
6c7cf02111 Style refresh 2021-03-02 21:48:32 -05:00
Sodbileg Gansukh
609507d22d Keep bookmark author and publisher classes for GScan 2021-03-02 16:53:53 +08:00
Sodbileg Gansukh
fd89c6575c Remove specific selectors from bookmark metadata 2021-03-02 13:59:05 +08:00
John O'Nolan
c680f4efcd Style refresh 2021-03-01 20:34:12 -05:00
Naz
b59893091c Removed conditions which used @labs.members helper
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
2021-03-01 19:44:07 +13:00
John O'Nolan
5fd447b815 Style refresh 2021-02-28 20:10:09 -05:00
Renovate Bot
9ac38156da
Update dependency inquirer to v8 2021-02-26 00:59:59 +00:00
Sodbileg Gansukh
f9d9b1fab5 Disable dark mode by default
Dark mode is disabled by default, but can be enabled by adding a class dark-mode to html element.
2021-02-25 21:58:09 +08:00
Naz
1ea3ad649b Updated ghost-engine to v4
refs https://github.com/TryGhost/Team/issues/221
26e20d223d

- The default engine for Casper shipping with Ghost v4 has to match up.
This way it uses all the correct APIs
2021-02-25 03:17:07 +13:00
Renovate Bot
fc8cf0b2f4
Update dependency @tryghost/release-utils to v0.6.12 2021-02-22 08:14:53 +00:00
Sodbileg Gansukh
676b73172f Increase contrast of excerpts 2021-02-18 15:16:42 +08:00
Sodbileg Gansukh
2505089a41 Use old font size for primary tags 2021-02-18 15:09:33 +08:00
Sodbileg Gansukh
957d3049aa Fix link hover effect 2021-02-18 14:50:59 +08:00
Sodbileg Gansukh
8f81522907 Remove focus state from buttons 2021-02-18 14:48:24 +08:00
Sodbileg Gansukh
28d63e1cd2 Accent color for subscribe overlay button 2021-02-18 14:36:49 +08:00
Sodbileg Gansukh
b374b88126 Dark grey as subscribe form border 2021-02-18 12:17:40 +08:00
Sodbileg Gansukh
0449bf5537 Use grey for blockquotes 2021-02-18 12:16:27 +08:00
Sodbileg Gansukh
e985805958 Try a new default accent color 2021-02-18 12:05:56 +08:00
Sodbileg Gansukh
c1fcece376 Use accent color as header background when there is no cover image 2021-02-18 11:40:20 +08:00
Sodbileg Gansukh
306f7b2d9b Accent color usage and subscribe form design update 2021-02-18 11:32:40 +08:00
Renovate Bot
7e3e891338
Update dependency postcss to v8.2.6 2021-02-10 19:29:09 +00:00
Renovate Bot
69f5108a39
Update dependency @tryghost/release-utils to v0.6.11 2021-02-09 12:07:09 +00:00
Renovate Bot
44fa55be19
Update dependency postcss to v8.2.5 2021-02-08 01:10:50 +00:00
Sodbileg Gansukh
df4bfbffb2 Disable dark mode with code injection
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.
2021-02-01 12:06:56 +08:00
Renovate Bot
bcfbc21b8e
Lock file maintenance 2021-02-01 00:51:05 +00:00
Renovate Bot
41330614cd
Update dependency autoprefixer to v10.2.4 2021-01-29 18:49:55 +00:00
Sodbileg Gansukh
069280eea2 Apply scroll-margin-top to all elements with id attribute instead of only headings 2021-01-27 17:06:11 +08:00
Sodbileg Gansukh
52f763859a Replace subscribe link with account link for logged in users
refs: #751
2021-01-27 16:44:24 +08:00
John O'Nolan
e3fd4d707e 2021 2021-01-25 15:58:47 +00:00
Sodbileg Gansukh
854880747d Fix text fragment scrolling which behind the floating top bar
refs: #749
2021-01-22 10:02:51 +08:00
Sodbileg Gansukh
6b9df8bb51 Rebuild assets 2021-01-22 09:52:32 +08:00
Renovate Bot
1360ed83bd
Update dependency autoprefixer to v10.2.3 2021-01-19 19:59:47 +00:00
Aileen Nowak
adfb47009e Updated links to ghost.org sites
no issue

Follow-up task of the updated Ghost Docs structure. Updated links reflecting the new structure to prevent unnecessary 404s and redirects
2021-01-19 13:30:21 +13:00
Renovate Bot
4752bf03c9
Update dependency @tryghost/release-utils to v0.6.10 2021-01-12 17:05:11 +00:00
Renovate Bot
a17155a3b6
Update dependency postcss to v8.2.4 2021-01-11 00:05:06 +00:00
Renovate Bot
a1bf3f3823
Update dependency autoprefixer to v10.2.1 2021-01-08 02:05:45 +00:00
Renovate Bot
d063fb2806
Update dependency postcss to v8.2.3 2021-01-07 14:05:36 +00:00
Daniel Lockyer
4a6dfa8e04
Added main as a deploy branch for theme uploading
no issue

- we will be switching to main soon, and want to update this workflow to show how it should be used
2021-01-07 13:50:49 +00:00
Renovate Bot
e4a5e96d06
Update dependency autoprefixer to v10.2.0 2021-01-06 03:05:42 +00:00
Sodbileg Gansukh
35e68f6d3f Show members-only posts in the post loop by default 2021-01-05 15:47:56 +08:00
Renovate Bot
f631f874f7
Update dependency beeper to v2.1.0 2021-01-04 00:07:18 +00:00
Renovate Bot
74d787831e
Lock file maintenance 2021-01-01 00:04:53 +00:00
Renovate Bot
739deb3e4d
Update dependency postcss to v8.2.2 2020-12-29 22:05:17 +00:00
Renovate Bot
bc3e072d31
Update dependency @tryghost/release-utils to v0.6.9 2020-12-14 04:56:45 +00:00
Renovate Bot
838c4ecca2
Update dependency gscan to v3.6.1 2020-12-11 10:41:29 +00:00
Renovate Bot
7a61bf55ed
Update dependency postcss to v8.2.1 2020-12-09 13:06:09 +00:00
Renovate Bot
9baffdd03f
Update CSS preprocessors 2020-12-08 07:49:27 +00:00
Renovate Bot
30ccbca28a
Update dependency postcss to v8.1.14 2020-12-04 00:26:02 +00:00
Renovate Bot
def78b102b
Update dependency postcss to v8.1.13 2020-12-03 03:20:22 +00:00
Renovate Bot
dfb6444b25
Update dependency postcss to v8.1.11 2020-12-03 01:49:56 +00:00
Renovate Bot
4c298b97cf
Lock file maintenance 2020-12-01 00:05:39 +00:00
Renovate Bot
6c8a048bad
Update dependency autoprefixer to v10.0.4 2020-11-27 21:39:19 +00:00
Renovate Bot
fd02a6c722
Update dependency autoprefixer to v10.0.3 2020-11-26 22:06:52 +00:00
Sodbileg Gansukh
493da38cff Update jQuery version to 3.5.1 2020-11-24 12:01:31 +08:00
Renovate Bot
19cf4adb74
Update dependency postcss to v8.1.10 2020-11-23 22:25:18 +00:00
Renovate Bot
daa69cbd31
Update dependency postcss to v8.1.9 2020-11-23 00:05:38 +00:00
Renovate Bot
267fd00802
Update dependency postcss to v8.1.8 2020-11-19 16:00:59 +00:00
Daniel Lockyer
8fefeca41b 3.1.2 2020-11-17 12:32:25 +00:00
Renovate Bot
45f5c83118
Update dependency postcss to v8.1.7 2020-11-10 18:06:13 +00:00
Sanne de Vries
c3cb51711a Changed bookmark card metadata styling to be consistent with the editor
Classes for author and publisher are temporarily swapped to make sure the changes are backwards compatible until Ghost 4.0
2020-11-10 18:17:11 +01:00
Renovate Bot
3d189760a8
Update dependency autoprefixer to v10.0.2 2020-11-10 15:05:07 +00:00
Renovate Bot
8087366537
Update dependency postcss to v8.1.6 2020-11-05 17:05:11 +00:00
Renovate Bot
7748f8c781
Update dependency postcss to v8.1.5 2020-11-05 15:54:45 +00:00
Renovate Bot
8783bd4ee8
Update dependency @tryghost/release-utils to v0.6.8 2020-11-05 04:41:15 +00:00
Renovate Bot
006b056adc
Lock file maintenance 2020-11-01 00:04:25 +00:00
Renovate Bot
fe690d4048
Update dependency postcss to v8.1.4 2020-10-26 00:06:23 +00:00
Renovate Bot
c3c0374ca6
Update dependency postcss to v8.1.3 2020-10-23 02:25:21 +00:00
Renovate Bot
0429f85774
Update dependency gscan to v3.6.0 2020-10-21 10:22:37 +00:00
Renovate Bot
1f8df12a7c
Update actions/checkout action to v2 2020-10-20 16:04:56 +00:00
Renovate Bot
75e68ce5b7
Update TryGhost/action-deploy-theme action to v1.4.1 2020-10-20 14:07:13 +00:00
Renovate Bot
fa15a48192
Update dependency postcss to v8.1.2 2020-10-19 01:06:17 +00:00
Daniel Lockyer
0c36dc5235 3.1.1 2020-10-16 09:19:06 +01:00
Daniel Lockyer
aa3c83ec35 Updated built assets 2020-10-16 09:18:36 +01:00
Sodbileg Gansukh
38481aac9a Fixed post content input color issue on dark mode
Fixes #718
2020-10-08 11:36:41 +08:00
Sodbileg Gansukh
0052c2ddc3 Added subscribe failure notification
Fixes #738
2020-10-08 10:22:49 +08:00
Yannick Reekmans
9d12bc32f0
Update screen.css (#735)
Fix instance of color() to color-mod()
2020-10-03 11:17:29 +07:00
Renovate Bot
cb674ab56c
Lock file maintenance 2020-10-01 00:16:07 +00:00
Renovate Bot
c86ee63b86
Pin dependency postcss to 8.1.1 2020-09-30 12:49:12 +00:00
Sam Lord
b92f18e55a Added postcss as a dev dependency (required by gulp-postcss) 2020-09-30 13:48:11 +01:00
Renovate Bot
827940c836
Update dependency autoprefixer to v10.0.1 2020-09-28 00:05:40 +00:00
Renovate Bot
db0af7f759
Update dependency gulp-postcss to v9 2020-09-23 19:04:44 +00:00
Renovate Bot
af87b9b3b0
Update dependency @tryghost/release-utils to v0.6.7 2020-09-22 03:39:15 +00:00
Renovate Bot
ec03acff02
Update dependency autoprefixer to v10 2020-09-15 19:04:52 +00:00
Daniel Lockyer
fa48995326 Updated action-deploy-theme to v1.3.1
- hopefully fixes a bug with `theme-name` not being passed through
2020-09-10 13:15:53 +01:00
Sodbileg Gansukh
6350790798 Fix close button in the subscribe success message 2020-09-10 12:28:44 +08:00
Renovate Bot
ab521da23a
Update dependency gscan to v3.5.7 2020-09-07 16:28:49 +00:00
Renovate Bot
91185016eb
Lock file maintenance 2020-09-01 00:05:19 +00:00
Renovate Bot
0af8d2d8bc
Update dependency @tryghost/release-utils to v0.6.6 2020-08-11 17:42:19 +00:00
Renovate Bot
f50f663ef7
Update dependency @tryghost/release-utils to v0.6.5 2020-08-11 11:52:54 +00:00
Renovate Bot
a467e31457
Update dependency gscan to v3.5.6 2020-08-10 15:09:56 +00:00
Allan Stromfeldt Christensen
807018ca97
Fix background color of slash of darkmode <hr> (#733) 2020-08-09 00:34:53 +07:00
Renovate Bot
ce9918de2f
Update dependency @tryghost/release-utils to v0.6.4 2020-08-07 15:08:43 +00:00
Daniel Lockyer
df2d20caab 3.1.0 2020-08-04 10:59:14 +01:00
Renovate Bot
c6cb667fea
Lock file maintenance 2020-08-01 00:29:35 +00:00
Renovate Bot
a1d9eae840
Update dependency autoprefixer to v9.8.6 2020-07-30 20:40:44 +00:00
Hannah Wolfe
59eefa3659
Updated call to actions/checkout to use v2
refs https://github.com/TryGhost/action-deploy-theme/issues/30

- actions/checkout has changed their default branch name from master to main, which shows warnings.
2020-07-28 12:53:07 +01:00
John O'Nolan
78bde5f3dc
Fix broken link 2020-07-28 00:59:13 +07:00
John O'Nolan
e637d809f6 Upgraded to color-mod, native CSS vars
Dropping final support for IE11 and moving to newer color-mod package to replace the old deprecated one
2020-07-28 00:52:31 +07:00
Renovate Bot
e4793cc743
Update dependency gscan to v3.5.5 2020-07-24 10:15:20 +00:00
Renovate Bot
cd7016493e
Update dependency inquirer to v7.3.3 2020-07-23 02:35:30 +00:00
Daniel Lockyer
7421cff4fe 3.0.13 2020-07-21 13:41:23 +01:00
Daniel Lockyer
c465d95e14 Added new build assets
no issue
2020-07-21 13:40:03 +01:00
Renovate Bot
c1c6fed941
Update dependency inquirer to v7.3.2 2020-07-13 17:15:27 +00:00
Renovate Bot
5664f81564
Update dependency autoprefixer to v9.8.5 2020-07-13 00:04:56 +00:00
Renovate Bot
8838afe43f Lock file maintenance 2020-07-10 19:01:32 +01:00
Renovate Bot
f53b6b3435
Update dependency inquirer to v7.3.1 2020-07-10 15:46:29 +00:00
Renovate Bot
be77dad00e Update dependency inquirer to v7.3.0 2020-07-02 05:04:53 +00:00
Renovate Bot
408cf0cc1e
Update dependency gulp-zip to v5.0.2 2020-06-29 00:27:17 +00:00
Renovate Bot
cfdc8a3b85
Update dependency autoprefixer to v9.8.4 2020-06-24 03:40:53 +00:00
Renovate Bot
e6a24de5c4
Update dependency autoprefixer to v9.8.3 2020-06-23 14:43:53 +00:00
Renovate Bot
6d0a3a8899
Update dependency autoprefixer to v9.8.2 2020-06-22 00:21:02 +00:00
Renovate Bot
b54c3debd4
Update dependency autoprefixer to v9.8.1 2020-06-19 21:33:26 +00:00
Jakub Maciej Chmielewski
0e0589cb04
Disabled yarn-error.log file export to zip (#725) 2020-06-17 19:07:34 +01:00
Renovate Bot
5bfc82bf0c Update dependency inquirer to v7.2.0 2020-06-15 02:35:55 +00:00
Renovate Bot
d3ffc71b34
Update dependency @tryghost/release-utils to v0.6.3 2020-05-26 16:22:16 +00:00
Renovate Bot
871fc4075f Update dependency autoprefixer to v9.8.0 2020-05-18 01:14:52 +00:00
Renovate Bot
6f37e5a148
Update dependency @tryghost/release-utils to v0.6.2 2020-05-08 16:13:01 +00:00
Renovate Bot
adc055495c
Update dependency gscan to v3.5.4 2020-05-01 09:41:56 +00:00
renovate[bot]
2ed7ea8f13
Lock file maintenance (#709)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-01 15:16:09 +07:00
Renovate Bot
4ddbaae803
Update dependency gscan to v3.5.3 2020-04-22 17:12:58 +00:00
Ícaro Harry
7e0e45c643
Change border-left on blockquote to use color variables (#705) 2020-04-22 18:44:54 +07:00
Renovate Bot
e0771bfc7e Update dependency gscan to v3.5.2 2020-04-20 19:15:57 +00:00
Renovate Bot
8f1a15296a
Update dependency @tryghost/release-utils to v0.6.1 2020-04-16 13:44:16 +00:00
Renovate Bot
2bd82a30e8 Update dependency @tryghost/release-utils to v0.6.0 2020-04-07 12:16:10 +00:00
Daniel Lockyer
feb7f3aac6 3.0.12 2020-04-07 09:15:05 +01:00
Renovate Bot
eed15fd9a5
Update dependency autoprefixer to v9.7.6 2020-04-06 21:22:19 +00:00
Renovate Bot
201b1924cf
Update dependency gscan to v3.4.1 2020-04-06 17:10:14 +00:00
Daniel Lockyer
387a2aa3f0
Switch testing to built-in Nodejs
no issue
2020-04-06 13:49:51 +01:00
Daniel Lockyer
690ca22fb7 Removed test addition 2020-04-03 16:17:14 +01:00
Daniel Lockyer
31d43860ac Updated release script
no issue
2020-04-03 16:16:26 +01:00
Daniel Lockyer
14f7cc4e31 Updated built files
no issue
2020-04-03 16:04:41 +01:00
Daniel Lockyer
7646f90556
Updated theme name in deploy GitHub Actions
no issue

- the theme name cannot be the same as the default
2020-04-03 09:53:48 +01:00
Dodi Sabaruddin
8e17cdc1fb
update sdeploy theme (#692) 2020-04-03 14:39:02 +07:00
renovate[bot]
2da322d93b
Lock file maintenance (#699)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-04-03 14:36:14 +07:00
Rafael Corrêa Gomes
709c7196b9
Post cards > Lazyload (#701)
Co-authored-by: Rafael Gomes <rgomes@lesite.ca>
2020-04-03 14:35:58 +07:00
Renovate Bot
c97b847002 Update dependency @tryghost/release-utils to v0.5.0 2020-04-01 12:17:28 +00:00
Renovate Bot
7d37adb3cd
Update dependency autoprefixer to v9.7.5 2020-03-31 17:33:06 +00:00
Renovate Bot
4fe7010f4e
Update dependency @tryghost/release-utils to v0.4.2 2020-03-31 15:11:06 +00:00
Daniel Lockyer
6bf34a5a70 Moved Casper release code into gulpfile
no issue
2020-03-31 16:10:30 +01:00
Daniel Lockyer
c9a54e25ab
Enabled CI for Renovate branches
no issue
2020-03-31 15:54:56 +01:00
Renovate Bot
3281f75945 Update dependency gscan to v3.4.0 2020-03-31 15:53:14 +01:00
Daniel Lockyer
c8abe3a7c4 3.0.11 2020-03-26 14:29:11 +00:00
Daniel Lockyer
150b698b1c
Updated Renovate config with new structure
no issue
2020-03-26 10:56:13 +00:00
Daniel Lockyer
9ff3aa7858 3.0.10 2020-03-23 12:23:44 +00:00
Peter Zimon
8886056719 Fixed navigation scrollbar bug
no refs.
- fixed issue that made top navigation scrollbar appear for sites with secondary navigation and members turned off
2020-03-11 13:46:20 +01:00
Daniel Lockyer
93628dc7f0 3.0.9 2020-03-09 10:49:09 +00:00
Peter Zimon
702b2cbf1f Refined width of image captions
no refs.
- updated max width of image caption text
2020-03-04 15:34:15 +01:00
Peter Zimon
e5969f93da Improved author and tag header styles
no refs.

- added default avatar for authors template
- fixed typography inconsistencies, alignment and spacing issues for author and tags headers
- applied CSSComb
2020-03-04 14:34:03 +01:00
Peter Zimon
9e29e145fc 🐛 Subscribe overlay fixes
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
2020-03-04 11:26:27 +01:00
Peter Zimon
74ae3d5140 🐛 Fixed image alignment for small images
refs. https://github.com/TryGhost/Casper/issues/517

- updated styles to center align small images with long caption text
2020-03-03 17:29:34 +01:00
Daniel Lockyer
1ec7a12d43 Bumped dependency versions
no issue
2020-03-02 18:36:18 +00:00
Daniel Lockyer
9ec0f08a48 3.0.8 2020-03-02 12:02:24 +00:00
Renovate Bot
b09e846fd2 Update dependency postcss-custom-properties to v9.1.1 2020-03-01 02:18:49 +00:00
Renovate Bot
92d9174b24 Update dependency @tryghost/release-utils to v0.4.1 2020-03-01 01:18:39 +00:00
Daniel Lockyer
c27fc17844 3.0.7 2020-02-05 11:42:31 +00:00
Renovate Bot
d9cf22a0f7 Update dependency gscan to v3.3.0 2020-02-01 01:18:20 +00:00
ViViDboarder
17077c96e6 Merge remote-tracking branch 'upstream/master' 2020-01-23 11:27:12 -08:00
Ian
23bb7d93a1
Update github actions to deploy 2020-01-23 11:12:55 -08:00
Fabien O'Carroll
7c87383bc6 3.0.6 2020-01-13 14:08:24 +02:00
Peter Zimon
09d701c4bc 🐛 Removed non-existent variable
Refs. https://github.com/TryGhost/Casper/issues/676

- removed corresponding CSS declaration as the variable `--white` doesn't exist
2020-01-10 15:29:50 +01:00
John O'Nolan
aec67d8b5f 2020 2020-01-07 18:35:56 +00:00
Renovate Bot
f55e2b0266 Update dependency gscan to v3.2.1 2020-01-01 01:16:54 +00:00
Nazar Gargol
fee94ba192 3.0.5 2019-12-04 20:39:08 +07:00
Peter Zimon
bf4b8d7f15 Added secondary navigation (#664)
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
2019-12-04 17:41:50 +07:00
Kevin Ansfield
98543dd068 3.0.4 2019-11-27 14:11:18 +00:00
Casper Bøgeskov Hansen
5063d40a32 Remove backdrop filter from subscribe overlay 2019-11-23 19:06:13 -08:00
renovate[bot]
7c8cba7fab Pin dependency gulp-concat to 2.6.1 (#647) 2019-11-11 21:15:08 +07:00
renovate[bot]
e253954051 Lock file maintenance (#650) 2019-11-11 21:14:53 +07:00
Nazar Gargol
4c7fced3aa 3.0.3 2019-11-11 18:55:36 +07:00
ViViDboarder
5fe2afe0d1 Rename package again 2019-11-09 13:08:52 -08:00
ViViDboarder
bdd2f33aef Merge remote-tracking branch 'upstream/master' 2019-11-09 13:08:14 -08:00
Daniel Lockyer
fb9f0e6804
Remove Travis from Renovate config 2019-11-08 16:35:58 +07:00
Daniel Lockyer
88e3db9d3b Switched to gscan testing via GitHub Actions
no issue
2019-11-08 16:35:06 +07:00
Renovate Bot
7733f0db63 Update dependency gscan to v3.1.1 2019-11-01 04:27:02 +00:00
Renovate Bot
1c5db5c027 Update dependency autoprefixer to v9.7.1 2019-11-01 03:25:25 +00:00
Renovate Bot
e4afcc233f
Update dependency @tryghost/release-utils to v0.3.3 2019-11-01 00:26:39 +00:00
Peter Zimon
a66beb4e10 🐛 Fixed page style in dark mode
closes https://github.com/TryGhost/Casper/issues/643

- fixes background color for pages in dark mode
2019-10-30 13:43:47 +01:00
Kevin Ansfield
c82e1cb035 3.0.2 2019-10-30 11:07:59 +00:00
Peter Zimon
065849105b Author meta and bookmark style refinements
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
2019-10-30 11:35:29 +01:00
Amgaa
a1fc6090d2 Very small fix on author meta links color 2019-10-30 11:35:29 +01:00
Peter Zimon
68b0270ed5
Dark mode table style fix (#641)
refs. https://github.com/TryGhost/Casper/issues/637

- fixed styles for tables in dark mode
2019-10-29 16:27:40 +01:00
Kevin Ansfield
6d56e5866e 3.0.1 2019-10-29 14:20:08 +00:00
Peter Zimon
8993409296
Error page improvements (#639)
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
2019-10-28 16:28:25 +01:00
Kevin Ansfield
307c334cd5
🐛 Fixed images on infinite scroll index pages being stretched in Safari (#636)
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
2019-10-24 17:15:34 +01:00
Fabien O'Carroll
17ba4add5c 3.0.0 2019-10-21 22:41:48 +07:00
Hannah Wolfe
e37e444e9a
Update deploy-theme.yml
- bump action version
- add a custom theme name
2019-10-21 12:49:04 +01:00
Fabien O'Carroll
57cee0c680 3.0.0-beta.8 2019-10-21 18:34:45 +07:00
Kevin Ansfield
ff51925567
Fixed sticky title and author hover JS (#629)
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
2019-10-21 10:02:05 +01:00
Kevin Ansfield
3e910e954e
Updated built CSS (#627)
no issue

- ran `gulp` to rebuild the CSS after the v3 merge
2019-10-21 09:53:28 +01:00
Kevin Ansfield
50437fd72e
Fixed duplicate browserslist config (#628)
no issue

- removes duplicate `browserslist` key from `package.json`
2019-10-21 09:52:45 +01:00
Fabien O'Carroll
1915a91c5b 3.0.0-beta.7 2019-10-21 13:05:33 +07:00
Fabien O'Carroll
b51dd8ce22
V3 (#626)
* 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
2019-10-21 12:43:34 +07:00
Kevin Ansfield
7ad20d1325 Fixed deprecated autoprefixer config warning when running build tasks
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
2019-10-20 16:05:37 +02:00
Kevin Ansfield
978ffe0eb6
Concatenated all JS into a single file (#624)
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
2019-10-20 15:55:06 +02:00
renovate[bot]
53ad2d8096 Updated Build Tools (#571) 2019-10-20 13:47:06 +05:30
renovate[bot]
f7e4cabc58 Update dependency postcss-custom-properties to v9 (#592) 2019-10-20 13:41:11 +05:30
Naz Gargol
392626f3b2 Bumped Gscan and made rule check explicit to v2 set (#622)
* Bumped gscan to v3.0.0

* Added explicit v2 version check for gscan command
2019-10-20 12:21:27 +05:30
Rish
8bb4508ff2 Fixed code cards with long lines from being too wide
no issue

Credit to https://github.com/mvasilkov for the fix -  https://github.com/TryGhost/Casper/pull/602
2019-10-20 12:14:21 +05:30
Tiago Rodrigues
e5e62f1eed 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
2019-10-20 12:09:36 +05:30
Rishabh Garg
2eaeba8ba8
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
2019-10-20 12:05:13 +05:30
Hannah Wolfe
728392e51e
Automatically deploy theme on master only
- switch from all branches to master only
2019-10-18 17:14:36 +01:00
Hannah Wolfe
7161dca4ca Added deploy ghost theme github action
- see https://github.com/marketplace/actions/deploy-ghost-theme
- use the new deploy theme github action to automatically deploy master to a test site
2019-10-18 14:20:28 +01:00
Kevin Ansfield
215d837848 2.11.2 2019-10-07 23:11:17 +01:00
Renovate Bot
d2ec8d1c31
Update dependency gulp-livereload to v4.0.2 2019-10-01 01:30:15 +00:00
Renovate Bot
4a4f66a710 Update dependency gscan to v2.9.0 2019-10-01 01:29:48 +00:00
Kevin Ansfield
8729af090f 2.11.1 2019-08-27 19:44:35 +01:00
Peter Zimon
c40627256a Added max length for bookmark card publisher field (#608)
no issue

- fixed style for bookmark cards with too long publisher field
2019-08-27 19:29:48 +01:00
Rish
32d3538f6b 2.11.0 2019-08-27 21:01:30 +05:30
Rishabh Garg
f5b2a2f209
Added bookmark card CSS (#607)
refs 9bfd340885 and c2aa62083c

Adds css for styling new bookmark card which generates following html -
  ```html
  <figure class="kg-card kg-bookmark-card">
    <a href="[URL]" class="kg-bookmark-container">
      <div class="kg-bookmark-content">
        <div class="kg-bookmark-title">[TITLE]</div>
        <div class="kg-bookmark-description">[DESCRIPTION]</div>
        <div class="kg-bookmark-metadata">
          <img src="[ICON]" class="kg-bookmark-icon">
          <span class="kg-bookmark-author">[AUTHOR]</span>
          <span class="kg-bookmark-publisher">[PUBLISHER]</span>
        </div>
      </div>
      <div class="kg-bookmark-thumbnail">
        <img src="[THUMBNAIL]">
      </div>
    </a>
  </figure>
  ```
2019-08-27 20:56:42 +05:30
Rish
29426e1483 2.10.7 2019-08-22 07:31:34 +05:30
ViViDboarder
7289a3cc3d Bump version number 2019-08-21 10:34:14 -07:00
ViViDboarder
98fccb0a5a Fix max width of author card content to prevent distortion of author photo 2019-08-21 10:32:58 -07:00
ViViDboarder
17dfd8d049 Build post merge from upstream 2019-08-21 10:23:52 -07:00
John O'Nolan
f5bba69235
Remove unused conditional
Closes #593
2019-08-21 13:53:47 +08:00
Pedro Almeida
788ee59fd4 Improve gulp globbing (#598) 2019-08-21 13:51:43 +08:00
ViViDboarder
0b466c85de Merge remote-tracking branch 'upstream/master' 2019-08-20 18:45:30 -07:00
Fabien O'Carroll
a6ce913546 2.10.6 2019-08-06 17:34:38 +08:00
Renovate Bot
8ad3b82f58 Update dependency gscan to v2.7.0 2019-08-01 03:27:54 +00:00
Renovate Bot
c66d64dd79
Update CSS preprocessors 2019-08-01 00:48:07 +00:00
Rish
095d7f85c6 2.10.5 2019-07-30 20:24:26 +05:30
David Darnes
812b9ba657
Merge pull request #599 from mvasilkov/pre-selection-color-patch
Better contrast for selected text inside `pre code` blocks
2019-07-30 12:26:16 +01:00
Mark Vasilkov
56d1ff2337 Better contrast for selected text inside pre code blocks 2019-07-30 14:08:45 +03:00
Aileen Nowak
dc74e24d0c 🔗 Updated docs link to be version-less 2019-07-25 14:56:04 +08:00
Kevin Ansfield
e4e97aefa9 2.10.4 2019-07-23 12:01:47 +01:00
Aileen Nowak
df7c2321c6 Updated links to docs site 2019-07-22 18:25:22 +08:00
Fabien O'Carroll
6886798b60 2.10.3 2019-07-01 13:31:22 +07:00
Renovate Bot
42c26629bf Update dependency autoprefixer to v9.6.0 2019-07-01 03:31:32 +00:00
Renovate Bot
89a12765be
Update dependency gscan to v2.6.2 2019-07-01 00:31:51 +00:00
Nazar Gargol
fa54c4713f 2.10.2 2019-06-04 13:01:40 +02:00
Renovate Bot
0494b48ad0
Update dependency gulp to v4.0.2 2019-06-01 01:29:25 +00:00
Renovate Bot
e6cb772b2d Update dependency gscan to v2.6.0 2019-06-01 01:28:55 +00:00
Fabien O'Carroll
2dad5af417 2.10.1 2019-05-14 11:16:04 +02:00
Nazar Gargol
43b8f3d11a Substituted deprecated {{each}} helper with recommended {{foreach}}
refs https://github.com/TryGhost/gscan/issues/123

- As documentation says (https://docs.ghost.org/api/handlebars-themes/helpers/foreach/)  {{foreach}} should always be used instead of native {{each}} helper
- Deprecation warning was implemented in gscan and  will prompt when uploading the theme
2019-05-07 15:37:14 +02:00
Nazar Gargol
21d097d530 2.10.0 2019-05-07 12:37:29 +02:00
Kevin Ansfield
ec296edfa0
Added support for code cards with captions (#575)
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
2019-05-01 17:12:18 +02:00
renovate[bot]
ff43de1c63 Lock file maintenance (#572) 2019-05-01 10:38:23 +02:00
Kevin Ansfield
0b17a6ac06
Re-build CSS using latest dependencies (#573)
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
2019-05-01 10:28:34 +02:00
Renovate Bot
64fdc798d9
Update dependency gulp to v4.0.1 2019-05-01 01:26:49 +00:00
Renovate Bot
88552e5d18 Update dependency gscan to v2.5.1 2019-05-01 01:26:28 +00:00
Fabien O'Carroll
93c4ea58ed 2.9.11 2019-04-23 11:34:46 +02:00
Hannah Wolfe
87abdc2c31 Updated travis.yml file 2019-04-18 14:10:35 +01:00
Hannah Wolfe
dc05ff2f49 Update Renovate Configuration
- Use the new shared configuration
- This is a special config for themes which is scheduled monthly, not weekly.
2019-04-17 21:38:32 +01:00
Hannah Wolfe
50c53f4263 Updated .travis.yml file
- most up-to-date version of our config
2019-04-17 21:26:56 +01:00
Rish
2a5aac2719 2.9.10 2019-04-16 16:42:31 +05:30
Aileen Nowak
b4d0219d4e Added livereload for .hbs files 2019-04-15 12:55:37 +08:00
Renovate Bot
85fed4f083 Lock file maintenance 2019-04-15 02:34:36 +00:00
Renovate Bot
aac62daaca Update dependency gscan to v2.4.1 2019-04-15 01:28:38 +00:00
Nazar Gargol
fef2307d6d 2.9.9 2019-04-09 19:30:37 +08:00
Renovate Bot
de8b83738e Lock file maintenance 2019-04-08 04:37:12 +00:00
Renovate Bot
4a2e9c9b20 Update dependency @tryghost/release-utils to v0.3.2 2019-04-08 03:26:03 +00:00
Renovate Bot
070bed3f40 Update dependency gscan to v2.4.0 2019-04-08 02:29:24 +00:00
Renovate Bot
7f8990c0d8 Update css processors 2019-04-08 01:29:23 +00:00
Kevin Ansfield
23bd9cc1d5 2.9.8 2019-04-04 14:58:47 +01:00
Hannah Wolfe
8e5c1b22dd Updated .travis.yml file
- ran slimer fix travis to get latest settings
2019-04-03 19:38:58 +01:00
Hannah Wolfe
c4fb156508 Added SECURITY.md file
- Consistent with other public repos
- Points at our docs on how to report security issues
2019-04-03 19:38:16 +01:00
Hannah Wolfe
91ffa335de Update Renovate Configuration
Updates the base configuration to include:
- node support policy
- lockfile maintenance
- optimistic automerging
2019-04-02 17:54:50 +01:00
Kevin Ansfield
0d8f4471d9 2.9.7 2019-04-02 10:02:13 +01:00
Nazar Gargol
4464d5809b Fixed deprecated {{lang}} helper usage
no issue

- {{lang}} helper was deprecated in favor of {{@site.lang}} with 73e008270d
2019-04-02 12:39:00 +08:00
Rish
37c0f22b09 2.9.6 2019-03-19 16:41:50 +05:30
Renovate Bot
7706045616 Update dependency @tryghost/release-utils to v0.3.1 2019-03-19 14:38:30 +05:30
renovate[bot]
51b93e389c Update dependency autoprefixer to v9.5.0 (#553) 2019-03-18 14:29:41 +00:00
kirrg001
b1ce464ea3 Added .yarnrc
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`
2019-03-15 14:38:26 +01:00
kirrg001
8729dafcf5 Extended yarn ship: more automation
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
2019-03-15 14:38:26 +01:00
kirrg001
406ef78109 Gulpfile ES6
no issue

- ES6
2019-03-15 14:38:26 +01:00
Kevin Ansfield
2bf64cbffc v2.9.5 2019-03-12 18:38:14 +00:00
Kevin Ansfield
a212518827 🐛 Fixed incorrect/missing colours for various elements
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
2019-03-12 18:14:48 +00:00
Nazar Gargol
2da714ef2e Upgrading Casper to 2.9.4 2019-03-12 20:23:45 +08:00
Hannah Wolfe
66def0d7c0 Update Renovate Configuration
- schedule renovate for early monday mornings
2019-03-10 17:50:24 +00:00
Hannah Wolfe
6640701aeb Regenerate yarn.lock
- results in clean lodash versions
- needed due to lodash security vuln
2019-03-10 17:44:44 +00:00
Renovate Bot
7fec21f7d9 Update dependency gscan to v2.3.0 2019-03-10 17:39:42 +00:00
Hannah Wolfe
018423738e 🛠 Always build before test, test before ship
- Make sure we update our build files before running tests
- This also ensures they get updated before shipping
2019-03-10 17:30:20 +00:00
Hannah Wolfe
371ad586d3 Updated all built assets
- many dependencies have changed, need to rebuild
2019-03-10 17:30:20 +00:00
Hannah Wolfe
06c8020c16 Re-written gulpfile for gulp 4
- 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
2019-03-10 17:30:20 +00:00
Renovate Bot
3a40332515 Update gulp 2019-03-10 17:30:20 +00:00
Renovate Bot
56c9795306 Update css processors 2019-03-10 16:09:25 +00:00
Renovate Bot
dd19a0a65b Update css processors 2019-03-10 16:07:35 +00:00
Renovate Bot
3b3a091069 Update gulp 2019-03-10 15:27:03 +00:00
Renovate Bot
ff189b7c08 Update dependency gscan to v2.2.1 2019-03-10 15:21:18 +00:00
Hannah Wolfe
5bbaa68863
Update Renovate Configuration
- make PR names make more sense
2019-03-10 15:19:51 +00:00
Kevin Ansfield
10672c642e 🐛 Fixed author cover images not displaying
closes https://github.com/TryGhost/Casper/issues/542
- user model has `cover_image` property rather than `feature_image`
2019-03-08 08:47:58 +00:00
Hannah Wolfe
3e7a85a82e Update renovate.json
- group CSS dependencies together
2019-03-04 19:53:35 +00:00
Renovate Bot
8fa0aa1b64 Pin dependencies 2019-03-04 19:48:25 +00:00
Hannah Wolfe
18018d9edf Update renovate.json 2019-03-04 19:45:12 +00:00
Renovate Bot
e0faae69ed Add renovate.json 2019-03-04 19:45:12 +00:00
Fabien O'Carroll
bf89e8e5ab v2.9.3 2019-02-21 11:56:29 +01:00
John O'Nolan
c8c63d170c Fix bug with embeds overflowing content width 2019-02-18 12:54:29 +07:00
Rish
40ae0e97f9 Upgrading Casper to 2.9.2 2019-02-12 16:17:57 +05:30
kirrg001
6541544026 Added "yarn ship" command
no issue

- @TODO: add the ability to draft a release when running `yarn ship`
2019-02-11 19:30:21 +01:00
kirrg001
d92b90db96 Updated .travis.yml to use Node v10
no issue

- see 99c3338ca9 (diff-354f30a63fb0907d4ad57269548329e3)
- see https://docs.ghost.org/faq/node-versions/
2019-02-11 16:42:11 +01:00
Kevin Ansfield
9ababa2886 Upgrading Casper to 2.9.1 2019-01-22 11:04:56 +00:00
gustawdaniel
047c7c0c9c Added missing closing brackets in partials/header.hbs styles (#521) 2019-01-22 11:04:03 +00:00
Fabien O'Carroll
273e987240 Updated gulp to handle errors for every stream (#500)
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.
2019-01-22 11:00:10 +00:00
Wes Cossick
0171b3e05b Use a larger logo size (#520) 2019-01-15 22:51:08 +07:00
Fabien O'Carroll
72a9416197 Upgrading Casper to 2.9.0 2019-01-15 14:01:40 +01:00
John O'Nolan
f57f9ebc99 Update no-image classes
Closes https://github.com/TryGhost/Casper/pull/513
2019-01-15 15:06:19 +07:00
Nazar Gargol
b2322157d5 Migrated from @blog -> @site
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
2019-01-08 17:37:14 +00:00
Naz Gargol
3b8f3f1eac
Bumped default Ghost API version to v2
no issue

- This change is due to Content API becoming stable https://github.com/TryGhost/Ghost/releases/tag/2.10.0
2019-01-08 14:30:22 +00:00
Nazar Gargol
7d080d564f Upgrading Casper to 2.8.1 2019-01-08 11:48:06 +00:00
John O'Nolan
3388283f02 2019 2019-01-01 14:18:28 +00:00
Kevin Ansfield
475c015fa2 Upgrading Casper to 2.8.0 2018-12-17 14:13:04 +00:00
John O'Nolan
79ebbd50a3
Responsive images (#505) 2018-12-17 12:25:57 +00:00
kirrg001
a22dda9694 Upgrading Casper to 2.7.1
no issue
2018-12-11 12:03:03 +01:00
汪磊
3c2347c7f9 🎨 Optimised infinite scroll (#503)
no issue
- removed jQuery usage
- use the `<link rel="next">` tag provided by Ghost to determine the next page to fetch
2018-12-05 12:38:11 +00:00
ViViDboarder
9fe76df799 Update package.json to give fork a new name 2018-11-28 18:00:52 -08:00
ViViDboarder
6be42f38cc Merge branch 'master' of github.com:TryGhost/Casper 2018-11-28 17:48:39 -08:00
Kevin Ansfield
f695d69aeb Upgrading Casper to 2.7.0 2018-10-16 15:45:26 +01:00
Aileen Nowak
d53b25bf5d
Remove double slash in link
no issue
2018-10-12 12:56:54 +07:00
Aileen Nowak
bef56a2294 Minified js (#485)
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
2018-10-12 12:41:06 +07:00
John O'Nolan
5ad6e1ed1f
Add titles to icon links 2018-10-12 12:01:05 +07:00
Nazar Gargol
36971db512 Upgrading Casper to 2.6.4 2018-10-09 16:06:07 +02:00
Péter Szabolcs Nagy
bfcab7172f Minified javascript in zip(#476)
no issue

* Added js minification step to gulp zip script
2018-10-08 16:34:07 +05:30
John O'Nolan
fce92d6cf1
Link to required dependencies
Refs https://github.com/TryGhost/Casper/pull/468
2018-10-08 11:45:06 +07:00
Oshawk
d48178fde9 Remove css rule that stops syntax highlighting (#484)
* 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
2018-10-08 06:40:06 +02:00
Antonio
6f4fe840b3 [Fix] Inline <code> tag word-break inside a <p> tag (#483) 2018-10-08 06:38:28 +02:00
Fabien O'Carroll
8a9efb5ef1 Upgrading Casper to 2.6.3 2018-09-25 11:32:08 +07:00
Peter Zimon
04854967a8 Adjusting spaces for galleries and wide images in a sequence (#480) 2018-09-24 14:35:47 +02:00
Nazar Gargol
fa18115aa6 Upgrading Casper to 2.6.2 2018-09-11 13:42:34 +02:00
Aileen Nowak
ae192a9fff 🐛 Fixed word-wrap for extra long anchor links text (#478)
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.
2018-09-07 14:45:18 +02:00
kirrg001
78993720fd Upgrading Casper to 2.6.1 2018-08-31 11:26:01 +01:00
Zimo
676e17bd13 Restructure spacings for generic figure element 2018-08-31 11:24:50 +01:00
kirrg001
67e595741c Upgrading Casper to 2.6.0 2018-08-30 17:45:43 +01:00
Kevin Ansfield
7a88c88ea2 Added Koenig gallery card support (#475)
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
2018-08-30 17:44:55 +01:00
Kevin Ansfield
a0e42e0599 Rebuild CSS 2018-08-30 14:56:38 +01:00
Kevin Ansfield
dc3bb316c7 Fixed incorrect image aspect ratio when images have width/height attrs
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
2018-08-30 14:49:40 +01:00
kirrg001
7380ed0291 Upgrading Casper to 2.5.1 2018-08-22 14:31:02 +02:00
Kevin Ansfield
ecaf3d921f 🐛 Fixed image positioning on pages
closes https://github.com/TryGhost/Casper/issues/473
- added missing `<div class="post-content">` wrapper around `{{content}}`
2018-08-21 17:47:42 +01:00
kirrg001
89ea6c5872 Upgrading Casper to 2.5.0 2018-08-16 13:59:03 +02:00
Hannah Wolfe
9d803067a4
🛠 Added .travis.yml and gscan tests (#470)
- 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!
2018-08-14 22:10:01 +01:00
Hannah Wolfe
0ea375643b
Added required "ghost-theme" keyword
- We're going to start showing this as a warning in gscan
- The purpose is to give us a way to detect if a package is a valid Ghost theme
2018-08-13 14:29:56 +01:00
kirrg001
f31957bd0d Replaced {{author}} by {{primary_author}} in byline-single.hbs
refs https://github.com/TryGhost/gscan/issues/99

- single author usages will be deprecated in Ghost 2.0
- make Casper 100% compatible with Ghost 2.0
2018-08-12 15:02:03 +02:00
John O'Nolan
36841d4624
Set minimum Ghost version to 2.0 2018-08-11 20:22:43 +01:00
Kevin Ansfield
d41fcbbc8a Remove .kg-card-markdown styles
no issue
- `.kg-card-markdown` no longer exists in Ghost 2.x
2018-08-11 19:09:58 +01:00
kirrg001
5d318225f5 Upgrading Casper to 2.4.2 2018-08-08 17:08:21 +02:00
Nulla Wu
9b56779ca6 Use id attribute to query reading progress element (#467)
no issue
- using an `id` selector doesn't break if other `progress` elements are present on a page
2018-08-03 09:21:05 +01:00
Kevin Ansfield
1bf2cdb52a Upgrading Casper to 2.4.1 2018-07-31 11:31:35 +01:00
Peter Zimon
f67caaba5c 🐛 Fixed content overflow on mobile
closes https://github.com/TryGhost/Casper/issues/464
- setting max-width of `kg-markdown-card` wrapper that is still used by non-Koenig posts
2018-07-30 12:21:17 +01:00
kirrg001
25d1e368d6 Upgrading Casper to 2.4.0 2018-07-24 15:13:30 +02:00
Kevin Ansfield
5c6cce1519
Ghost 1.25 Koenig updates (#463)
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>
```
2018-07-23 12:20:46 +01:00
Kevin Ansfield
019842155a Upgrading Casper to 2.3.3 2018-06-14 17:00:26 +01:00
Peter Zimon
1860a8305b Koenig embed card (#460) 2018-06-13 18:34:59 +01:00
John O'Nolan
6417b4cf2a Fix rendering bug for non-square user images 2018-06-06 19:29:22 -07:00
Kevin Ansfield
1c61bc5f16 Upgrading Casper to 2.3.2 2018-05-29 16:10:07 +01:00
Kevin Ansfield
7a7f04c716 Update built files 2018-05-29 16:09:40 +01:00
Kevin Ansfield
fd56128f9b Upgrading Casper to 2.3.1 2018-05-29 15:40:50 +01:00
malfusion
cd3b470c18 Fix for missing default avatar and firefox footer misalignment (#458) 2018-05-29 10:38:27 +02:00
Kevin Ansfield
f3b44a7411 Upgrading Casper to 2.3.0 2018-05-22 20:17:56 +01:00
Peter Zimon
b83917060f Applying styles for Koenig content (#455)
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
2018-05-22 19:09:58 +01:00
Zimo
4aaedf69d2 Running CSSComb 2018-05-21 17:36:08 +02:00
Aileen Nowak
03ac0d91b8 Upgrading Casper to 2.2.1 2018-04-24 10:53:15 +08:00
John O'Nolan
b55d5e2b32 Remove unnecessary role attributes from main element
Source: https://validator.w3.org/nu/#textarea
2018-04-17 22:19:05 +02:00
John O'Nolan
4fe2eac739 Additional comments 2018-04-12 10:05:53 +02:00
John O'Nolan
6e3399366d Small refactor of multi-authors 2018-04-12 10:05:40 +02:00
John O'Nolan
98e9c12018 Split out different byline templates into separate files 2018-04-11 11:05:25 +02:00
kirrg001
986a954f33 Upgrading Casper to 2.2.0
no issue
2018-04-10 23:27:53 +02:00
John O'Nolan
636882bce4 Fix mobile display bug on smaller screens 2018-04-10 20:34:35 +02:00
Peter Zimon
79e113226c Multiple authors in Casper (#448) 2018-04-10 20:19:29 +02:00
John O'Nolan
8e865b797b Maybe fix it properly this time instead of completely failing 2018-04-10 15:29:09 +02:00
John O'Nolan
a655b59e69 Fix link target size 2018-04-10 15:27:01 +02:00
John O'Nolan
b078dcb86e Updated hover animations 2018-04-10 15:21:25 +02:00
Aileen Nowak
d5002f2c51 🐛 Fixed infinitescroll when a paged url is loaded directly (#447)
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
2018-04-10 10:04:43 +01:00
Kevin Ansfield
41bcbb7157 💨 Infinite scroll perf improvements
no issue
- swap jQuery HTML parsing and insertion for pure DOM
- remove fade animation
- increase buffer by 100px so next page request happens sooner
2018-04-09 11:03:48 +01:00
Aileen Nowak
452776939c Added yarn.lock and updated README for new yarn scripts
no issue
2018-04-09 16:19:05 +08:00
Santhosh veer
57c31ddacb Add HTML lang head tag (#429)
Refs #286
2018-04-06 20:49:42 +02:00
Hannah Wolfe
21088b1d38 Slack -> Forum
- replacing references to slack with forum
2018-04-02 16:35:21 +01:00
Aileen Nowak
16f283e675 Upgrading Casper to 2.1.10 2018-03-16 15:53:45 +07:00
Aileen Nowak
942054ba0d Revert "Upgrading Casper to 2.2.0"
This reverts commit 782aba3991.
2018-03-16 15:52:56 +07:00
Aileen Nowak
782aba3991 Upgrading Casper to 2.2.0 2018-03-16 09:50:09 +07:00
ViViDboarder
9c5dec3bc7 Merge branch 'syntax-highlighting' 2018-03-13 17:48:57 -07:00
ViViDboarder
d13984d974 Add Prism for syntax highlighting 2018-03-13 17:48:40 -07:00
ViViDboarder
0a7f8e7e7f Merge branch 'blog-title-to-posts' 2018-03-13 13:03:52 -07:00
ViViDboarder
f1bf99c4ba Append blog title to post titles to improve SEO 2018-03-13 13:03:11 -07:00
Aileen Nowak
9df85fbbe5 CSS built and comb
no issue
2018-02-27 11:48:17 +07:00
Paul Corbett
1e10549ee2 🐛Fixed render issue with code blocks in lists (#436)
Closes #415

* Add max-width to ul & ol tags
2018-02-27 11:43:39 +07:00
Paul Corbett
a6eb6848de Removed obsolete gulp-nodemon (#435)
Closes #420

* Remove gulp-nodemon from dev dependencies
* Remove required dependency from gulpfile
2018-02-27 11:18:32 +07:00
Harry Kalantzis
6788302f62 🐛Removed unnecessary slash from Feedly URL (#437)
closes #434.
2018-02-27 11:11:29 +07:00
Kevin Ansfield
67e55abfed Upgrading Casper to 2.1.9 2018-01-23 16:19:58 +00:00
Jochen Kirstätter
bfaae0f7ba 🐛 Fixed Feedly URL and protocol (#418)
no issue

* Changed Feedly URL to HTTPS protocol
* Updated Feedly URL pattern
2018-01-23 10:30:03 +07:00
Kevin Ansfield
edfafffd32 Upgrading Casper to 2.1.8 2018-01-03 13:47:12 +00:00
John O'Nolan
7798bf115f 2018 2018-01-02 21:48:53 +00:00
Aileen Nowak
9395846fdf Upgrading Casper to 2.1.7 2017-11-21 21:26:49 +08:00
Joseph Frazer
99fad4cbc4 Fix colors in code blocks
Closes #407
The font color should be inherited to avoid "invisible" text.

* fix conflicts with upstream branch
2017-11-21 17:50:54 +08:00
Aileen Nowak
990f712209 💅 CSS comb and built
no issue
2017-11-20 13:42:32 +08:00
Joona Viertola
4ff4b4c7f8 Removed double semicolons (#400)
no issue
2017-11-20 13:38:20 +08:00
Aileen Nowak
de05d90fe9 Upgrading Casper to 2.1.6 2017-10-26 19:03:21 +07:00
Kevin Ansfield
978e54403c 🐛 Do not exclude assets/css from built zips
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
2017-10-24 12:08:26 +01:00
Aileen Nowak
73bd9c630e Upgrading Casper to 2.1.5 2017-10-24 16:10:48 +07:00
Mattia Natali
9597a28320 🎨 Optimized gulp zip file generation (#403)
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)
2017-10-23 16:52:52 +07:00
Aileen Nowak
461639886e Upgrading Casper to 2.1.4 2017-10-03 18:20:14 +07:00
Kevin Ansfield
7592ad182b 🔒 Added rel="noopener" to all target="_blank" links (#398)
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
2017-10-03 16:42:08 +07:00
Kevin Ansfield
97a522a037 Fix permissions on certain files 2017-10-02 13:29:23 +01:00
Chaotic Law
25f12d760b Fix typo in default.hbs (#393) 2017-09-29 08:23:39 -04:00
Kevin Ansfield
4f78d99112 Upgrading Casper to 2.1.3 2017-09-26 14:38:05 +01:00
Aileen Nowak
f5b7b45f2e Remove /dist/casper.zip
no issue

With https://github.com/TryGhost/Casper/pull/384 the directory `/dist` was created and includes a `casper.zip` file. The PR, that got merged after that (https://github.com/TryGhost/Casper/pull/374) actually implemented the creation of this, but also added the directory to `.gitignore` so it wouldn't be pushed to the repo.
2017-09-19 12:01:17 +07:00
Yoran Brondsema
d34ff1d32b Add a Gulp task to create the zip (#374) 2017-09-18 09:37:00 -07:00
Yoran Brondsema
73a1ab52da Add the same .editorconfig as from the Ghost repository (#384) 2017-09-18 09:35:53 -07:00
Aileen Nowak
5ec77dfb31 Upgrading Casper to 2.1.2 2017-09-12 18:34:23 +07:00
John O'Nolan
269d2b5787 Fix border radius bug on featured posts 2017-09-07 09:34:44 -07:00
kirrg001
d1d0bca2d8 Upgrading Casper to 2.1.1 2017-09-07 14:33:38 +02:00
Hannah Wolfe
d92dda3523 Wrapped primary-tag get helper with if (#383)
closes #382

- If there is no primary tag, the filter will be invalid syntax
- This wraps the if helper and gets rid of errors in the logs
2017-09-07 14:31:42 +02:00
Kevin Ansfield
ca325285bf Upgrading Casper to 2.1.0 2017-08-29 13:35:37 +01:00
John O'Nolan
aee9f69bb0 Refactor headings, quotes and margins, mobile improvements
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
2017-08-25 16:31:10 -04:00
Kevin Ansfield
a7d5c885bd Upgrading Casper to 2.0.6 2017-08-22 12:38:02 +01:00
Kevin Ansfield
9bc5c92628 Fix z-index bug with header author profile image
no issue
- add z-index to `.site-header-content .author-profile-image` so it isn't covered by the header overlay
2017-08-22 12:05:09 +01:00
Niels
0f3651c23f 🎨 Do not stretch author profile image (#365)
- add `object-fit: cover` to `.author-profile-image` to prevent non-square images being stretched/squashed
2017-08-22 11:56:38 +01:00
Phoenix Eve Aspacio
d739bb52a4 Fixed z-index bug with header social links on author page (#370)
no issue
- add z-index to `.author-bio` and `.author-meta` so they aren't covered by the header image overlay
2017-08-22 11:49:49 +01:00
Kevin Ansfield
8d17e9a452 Upgrading Casper to 2.0.5 2017-08-17 17:47:36 +01:00
Kevin Ansfield
e4e6bb9c5a Fixed z-index bug with header title/description
closes #363
- add z-index to `.site-title` and `.site-description` so they aren't covered by the header overlay
2017-08-17 12:35:37 +01:00
John O'Nolan
d2375a3917 Sticky footer
Closes https://github.com/TryGhost/Casper/issues/354, Closes https://github.com/TryGhost/Casper/issues/362
2017-08-16 11:57:39 +01:00
John Thile
577b92811c Add progress bar styling for Firefox (#360)
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
2017-08-16 11:43:58 +01:00
Kevin Ansfield
2f385ba5f1 Upgrading Casper to 2.0.4 2017-08-15 18:01:02 +01:00
John O'Nolan
b024b544e4 Fixed janky webkit border-radius bug
Closes https://github.com/TryGhost/Casper/issues/352
2017-08-14 11:22:27 +01:00
John O'Nolan
9caeb2a2e7 Fixed wide blockquote bug when used first in post
Closes https://github.com/TryGhost/Casper/issues/355
2017-08-14 11:11:12 +01:00
John O'Nolan
12d139aa7d Fixed z-index bug on index post-feed
Closes https://github.com/TryGhost/Casper/issues/349, closes https://github.com/TryGhost/Casper/pull/350
2017-08-14 11:03:28 +01:00
Hannah Wolfe
690e1bad1f Added issue template 2017-08-12 13:17:42 -04:00
kirrg001
c63804006d Upgrading Casper to 2.0.3 2017-08-10 16:13:08 +02:00
kirrg001
65d0104224 ⬆️ Bump Ghost engine
no issue

- The minimum Ghost version is now 1.2.0
- In 1.2.0 we introduced the primary tag feature
- See https://dev.ghost.org/primary-tags
2017-08-10 16:10:55 +02:00
Hannah Wolfe
ba10cb1516 🎨 Update to use Primary Tag syntax (#337)
refs TryGhost/Ghost#8668

- In Ghost 1.2.0 we introduce primary_tag as a calculated property
- Casper can be updated to use this for clarity
2017-08-10 16:10:17 +02:00
Hannah Wolfe
d7ca6fd2f6 🎨 Added specific 404 template & simplified fallback (#348)
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
2017-08-10 14:34:23 +01:00
John O'Nolan
10f11bb14f Update image caption margins 2017-08-09 14:10:28 +01:00
John O'Nolan
7d4f93bf23 Added support for basic image captions
See https://github.com/TryGhost/Ghost/issues/8859
2017-08-09 13:26:08 +01:00
John O'Nolan
11f61782ad Keep logo vertically centred when there's no navigation
Closes https://github.com/TryGhost/Casper/issues/338
2017-08-08 16:23:18 +01:00
John O'Nolan
fd108b1b40 Corrected navigation z-index bug
Closes https://github.com/TryGhost/Casper/issues/345
2017-08-08 16:14:06 +01:00
John O'Nolan
33005666ca Set overflow auto on tables
Closes https://github.com/TryGhost/Casper/issues/328

This applies mobile styles everywhere, which is not really ideal tbh - but covers all cases.
2017-08-08 15:58:54 +01:00
John O'Nolan
1767ca59b8 Added CSScomb and combed 💇🏻 2017-08-02 12:41:14 +04:00
kirrg001
5cafa756ef Upgrading Casper to 2.0.2 2017-08-01 10:32:11 +04:00
Phoenix Eve Aspacio
08e5cbe021 Prevent floating navigation from blocking the text header in fragmented urls (#334)
Prevent floating header from covering the header when a fragment identifier enabled URL is opened.
2017-08-01 09:50:32 +04:00
John O'Nolan
615d8a9001 Fixed broken author links due to z-index issue
Closes https://github.com/TryGhost/Casper/issues/333
2017-07-31 19:44:07 +04:00
John O'Nolan
f08f07fd7e Fixed Firefox responsive video bug
Closes https://github.com/TryGhost/Casper/issues/330

As usual Firefox is the bane of fucking everything and despite IE7 calling multiple times wanting its rendering back, here we are. Responsive video embeds insider a flexbox element do not work in Firefox and require an additional (very specific) wrapping div. I've adjusted the Fitvids.js script here to include that div in its injection along with the requisite styles. It's a horrible hack. Spent 2 hours trying to find another way but I cant.
2017-07-31 19:38:16 +04:00
John O'Nolan
2565c16916 Fix minor visual bug with clipped descenders in floating header 2017-07-31 17:14:00 +04:00
Hannah Wolfe
4b66223bb3 🐛 Only show related posts widget if there are posts available (#332)
no issue

- use a block param and if combo to add a guard to the get helper
- this ensures that the widget is only displayed if there is content available to display
2017-07-28 19:10:54 +04:00
John O'Nolan
35e91ecee9 Better support for iframes 2017-07-27 13:12:04 +04:00
kirrg001
2b2d6e6d14 Upgrading Casper to 2.0.1 2017-07-27 11:48:43 +04:00
John O'Nolan
cd4e0e03f5 Better support for the video element 2017-07-27 11:15:19 +04:00
Hannah Wolfe
3993cbdcfa Update disqus embed to use {{comment_id}}
refs TryGhost/Ghost#8760

- disqus code must use `{{comment_id}}` instead of `{{id}}` from 1.0.0 onwards.
2017-07-26 23:01:14 +04:00
John O'Nolan
6c5d6af6d0 Fix post images overflowing viewport on mobile
See #322
2017-07-20 17:27:02 +04:00
David Wolfe
9aa6ff1716 Merge pull request #327 from AileenCGN/1.0.0/infinite-scroll-fix
🎣  Infinite scroll: no API request on last page
2017-07-11 09:26:21 +01:00
David Wolfe
551aeb3ca5 Merge pull request #326 from AileenCGN/1.0.0-dev/delete-unused-share-partial
🔥  Delete unused partial `share.hbs`
2017-07-11 09:01:16 +01:00
Aileen Nowak
8690450eae 🎣 Infinite scroll: no API request on last page
no issue

Brings back a little safety guard: when the current page is also the last page, don't make an API request to the server.
2017-07-11 12:32:58 +07:00
Aileen Nowak
2fdfc5285d 🔥 Delete unused partial share.hbs
no issue

Partial is not used in Casper!
2017-07-11 09:49:53 +07:00
Kevin Ansfield
0f9410fb3d 💄 refactor infinite scroll (#325)
closes #321, closes #323
- use `requestAnimationFrame` and related techniques to minimise scroll processing
- add an `isLoading` guard to ensure we don't try to process anything until the next page has been loaded+inserted
- check for a 404 as an indication we've loaded as many pages as possible at which point the scroll behaviour is removed
- sanitize `window.location.pathname` to remove hash params and any double-slashes that may result
- add a 100px buffer from the bottom of the screen so that it's not necessary to exactly hit the bottom before infinite loading is triggered
2017-07-10 19:53:42 +07:00
汪磊
d3a9af0666 Remove infinitescroll in single page (#319)
* Remove infinitescroll in single page

* Update infinitescroll.js
2017-06-27 18:03:51 +07:00
John O'Nolan
96ffcdceed 😒😒😒😒😒😒😒😒 2017-06-27 11:30:11 +02:00
John O'Nolan
aa80667232 Fix small images in content + minor typography improvements
Closes #320
2017-06-27 11:28:36 +02:00
Aileen Nowak
0914d43a86 💄 Infinite scroll (#316)
* 💄  Infinite scroll

closes #314

Adds infinite scroll logic to Casper 2.0

* use jquery min and not slim
2017-06-21 13:10:09 +01:00
Aileen Nowak
d6d9711b9d ⛓ Fix broken tag link on post.hbs (#315)
no issue

Top link for tag was missing a `/`.
2017-06-20 08:55:16 +01:00
John O'Nolan
2ca409032a Full responsive table styles
- This took 5 hours
- FUUUUUU
2017-06-19 23:03:56 +01:00
John O'Nolan
902b6dcdbc Clean up trailing slashes
See https://github.com/TryGhost/Ghost/issues/8569
2017-06-19 14:54:03 +01:00
John O'Nolan
6f441794e4 Fix readme typo 2017-06-19 14:38:07 +01:00
Kevin Ansfield
c97defd40a Refactor post.hbs JS 2017-06-19 00:11:32 +01:00
John O'Nolan
397a096949 Rejig asset compilation destination
Avoid using "public" because it's a reserved word by the asset helper
2017-06-16 13:23:03 +01:00
John O'Nolan
4b6905f175 Mobile support 📱 2017-06-16 13:16:22 +01:00
John O'Nolan
535ead65e7 DOCS 2017-06-16 10:44:06 +01:00
John O'Nolan
b7a788f973 Clean up build tasks 2017-06-16 10:13:38 +01:00
John O'Nolan
1214676bd5 CSS Comb 💇🏻 2017-06-16 09:44:12 +01:00
John O'Nolan
0791b0fdb7 Organise CSS 2017-06-16 09:17:11 +01:00
John O'Nolan
67f27e2add New subscribe overlay 2017-06-15 15:03:19 +01:00
John O'Nolan
9f7c0e30e2 Scroll progress bar 2017-06-14 12:16:16 +01:00
John O'Nolan
eb84edae6d Fix all the fucking bugs that I created yesterday 2017-06-14 10:41:30 +01:00
John O'Nolan
834d14b204 Allow linebreaks in bio 2017-06-14 10:29:17 +01:00
John O'Nolan
19a8b85aac Minor cleanup 2017-06-13 19:07:26 +01:00
John O'Nolan
eeb8b248ca Refactor site navigation 2017-06-13 19:02:22 +01:00
John O'Nolan
7f4d581caf Restyle read-next card 2017-06-13 18:51:08 +01:00
John O'Nolan
655c35b53c New error template and author template 2017-06-13 13:48:06 +01:00
John O'Nolan
55f35da8e9 Whatever pass I lost count 2017-06-12 10:01:00 +01:00
John O'Nolan
d55446f2ca Next pass 2.0 2017-06-08 09:19:22 +02:00
John O'Nolan
938eaaf7a6 Third pass 2.0 2017-06-05 12:19:29 +01:00
John O'Nolan
bc9e5a0b2e Second pass 2.0 2017-05-31 19:09:50 +01:00
John O'Nolan
ad9cb81a06 Many tweaks 2017-05-16 10:26:08 +01:00
John O'Nolan
eda0ec4db2 First pass 2.0 design 2017-05-15 21:03:47 +01:00
kirrg001
26a25208e1 Upgrading Casper to 1.3.6 2017-03-01 13:47:57 +01:00
Humeira
805925528c move font above css include (#279) 2017-02-24 12:23:02 +07:00
John O'Nolan
68e48cfb04 Remove role attributes intended for tabbed navigation
Closes #285
2017-02-23 13:25:47 +07:00
kirrg001
c578765491 Upgrading Casper to 1.3.5 2017-01-12 12:41:55 +01:00
John O'Nolan
ba5d559d8c 2017 2017-01-04 10:53:34 +00:00
Hannah Wolfe
b06c57f1e1 Upgrading Casper to 1.3.4 2016-10-24 16:51:12 +01:00
Hannah Wolfe
99ff118174 Merge pull request #274 from eibt/patch-1
Use protocol-relative URL for jQuery script
2016-10-24 14:35:22 +01:00
Jeroen
054cd87653 No margin-bottom for last p inside li tags (#262)
Fixes #241.
2016-10-24 20:17:30 +07:00
Matthias
5060c945e6 Fixed page title and description being visible before fading in (#268) 2016-10-24 20:15:01 +07:00
Aileen Nowak
d07d6dee09 🐛 Fix .post-title (#273)
no issue

fixes the post-title font-size again, as it didn't work with two body:notstatements.
2016-10-24 20:11:49 +07:00
Mr. Ivan
0d8228ff05 Use protocol-relative URL for jQuery script
Use protocol-relative URL in the script element that includes jQuery to improve availability and consistency as it's being used for Google Fonts too.
2016-10-13 17:03:11 -06:00
Hannah Wolfe
27270d3de3 Upgrading Casper to 1.3.3 2016-10-07 16:08:38 +01:00
Hannah Wolfe
09476487f0 🐛 Fixing package.json engines & repo URL
no issue

- semver caret ranges don't apply pre-1.0.0, therefore we need to use a more explicit range
- repo URL should be a valid url
2016-10-07 16:05:10 +01:00
Hannah Wolfe
d2d796241b 🎨 Removing homepage from package.json
no issue

- this is not going to be a required field, and for Casper is the same as the repo
2016-10-07 15:56:54 +01:00
Aileen Nowak
c1b77b74cb Remove old body classes (#272)
refs TryGhost/Ghost#2597

Make Casper work without old body classes `.archive-template`, `.page` and use `.page-template` *only* for pages, as `.post-template` will not be available for pages anymore.
2016-10-07 14:02:00 +02:00
Hannah Wolfe
95cec988f5 Upgrading Casper to 1.3.2 2016-09-27 16:48:51 +01:00
Hannah Wolfe
12e897d374 📚 Expand package.json ready for gpm
no issue

- Our new marketplace (gpm) will make heavy use of package.json files
- Full details, spec, and validator are coming soon. In the meantime here's the basics:
   - `name` must be lowercase and hypenated
   - `version` must be semver compliant
   - `homepage` should be a valid URL (GitHub URL is ok)
   - `demo` should be a working Ghost install that uses your theme
   - `engines` should contain a Ghost key indicating which version of Ghost the theme is compatible with
   - `license` is required, we recommend `MIT`
   - `screenshots` should provide a relative path or absolute URL to both `desktop` & `mobile` screenshots
   - `author` should be an object. It must contain an email, and can also include a name and url.
   - the `gpm` object should:
	- indicate the package type (`theme` for now, later `app` or `adapter` etc)
   	- list out at most 2 marketplace categories for inclusion. Categories can be found in https://gist.github.com/ErisDS/d0674f57eaa087c9f92cbfc8e984d2d6 but are subject to change.
   - other fields can be included as per a normal npm package, we recommend including the repostory & keywords with `ghost` & `theme` listed.
2016-09-27 16:43:44 +01:00
John O'Nolan
d6998b3ba5 Add screenshot assets 2016-09-27 14:27:58 +02:00
Kevin Ansfield
5c51195ca6 Upgrading Casper to 1.3.1 2016-07-26 13:01:26 +01:00
Austin Burdine
234be3c976 Merge pull request #254 from sergioaugrod/fix-invalid-css-property
Fix invalid css property declaration
2016-06-26 12:26:43 -06:00
Sérgio Rodrigues
146f2ecaab Fix invalid css property declaration 2016-06-26 15:21:32 -03:00
Austin Burdine
5e679999e7 Merge pull request #251 from max-nova/css-ToC-fixes
Fixing Table of Contents in CSS
2016-05-22 10:34:35 -06:00
Max.Nova
4614c6a162 Fixing Table of Contents in CSS 2016-05-22 12:31:02 -04:00
John O'Nolan
531eacc180 Merge pull request #248 from ErisDS/hannahs-fixes
Minor consistency fixups
2016-05-08 17:21:17 +02:00
Hannah Wolfe
8778126d8f Minor consistency fixups
- use a `{{#tag}}{{/tag}}` block for tag in tag.hbs
- use two braces consistently for `{{title}}`
- use double quotes consistently for attributes (quote switching is unnecessary)
2016-05-08 17:09:29 +02:00
John O'Nolan
09b4830398 Add new subscribers form + visual fixes
- New opt-in form for subscribers features
- Bumped version to 1.3.0
- Resolved author image alignment, closes #238
2016-05-08 10:50:20 +02:00
Hannah Wolfe
c1a3840cbe Upgrading Casper to 1.2.8 2016-02-03 09:33:34 +00:00
John O'Nolan
7f400e46a0 Merge pull request #232 from FongWan/screen.css-normalize-v3.0.3-patch
Update normalize.css to v3.0.3 on 'screen.css'
2016-01-23 11:06:37 +02:00
John O'Nolan
84148db8eb Merge pull request #233 from FongWan/default.hbs-jquery-v1.12.0-patch
Update JQuery to v1.12.0 on 'default.hbs'
2016-01-23 11:05:45 +02:00
Fong-Wan Chau
fd7967cb2f Update JQuery to v1.12.0 on 'default.hbs'
Changelog: https://blog.jquery.com/2016/01/08/jquery-2-2-and-1-12-released/
2016-01-22 12:44:49 -04:00
Fong-Wan Chau
591d1fb782 Update normalize.css to v3.0.3 on 'screen.css' 2016-01-22 12:42:31 -04:00
John O'Nolan
a5591f03ce Merge pull request #228 from jegtnes/patch-1
Disable ligatures in code blocks
2016-01-21 08:31:53 +02:00
Alex Jegtnes
f0ce0d8718 Disable ligatures in code blocks
I recently created a new Ghost blog and a colleague pointed out that ligatures for code blocks looked a bit off. They weren't enabled in Firefox by default, but in Chrome (possibly different browser defaults?). This PR standardises it and removes any ligatures from `<code>` and `<tt>` blocks.
2016-01-20 22:31:24 +00:00
Hannah Wolfe
de91a4006b Upgrading Casper to 1.2.7 2016-01-12 09:58:58 +00:00
John O'Nolan
1c3803352f Update LICENSE 2016-01-05 11:09:15 +02:00
John O'Nolan
7d9c5ea1fc Update README.md 2016-01-05 11:09:02 +02:00
John O'Nolan
1196a13aef Merge pull request #208 from emersonkeenan/master
Fix embedded gist indentation
2016-01-05 10:56:05 +02:00
Hannah Wolfe
1c092c7be0 Upgrading Casper to 1.2.6 2015-11-26 09:31:48 +08:00
Hannah Wolfe
834f0bc4ff Merge pull request #222 from ErisDS/jquery-move
Move jQuery before `{{ghost_foot}}`
2015-11-25 22:17:17 +08:00
Hannah Wolfe
6f46594d36 Move jQuery before {{ghost_foot}}
- Including jQuery before `{{ghost_foot}}` means jQuery can be used inside ghost_foot code injection
- It should also improve backwards compat, as without this jQuery code included via ghost_foot may break
2015-10-19 09:28:22 +01:00
Hannah Wolfe
ede6b03afa Upgrading Casper to 1.2.5 2015-09-02 18:11:54 +01:00
Kevin Ansfield
31025f2f15 Merge pull request #218 from ErisDS/jquery-support
Add jQuery, as this is being removed from Ghost
2015-09-02 17:54:19 +01:00
Hannah Wolfe
dfd94ece96 Add jQuery, as this is being removed from Ghost
refs TryGhost/Ghost#5298
2015-08-24 19:58:03 +01:00
John O'Nolan
8f6f4a962b Merge pull request #213 from lukaszklis/border-fix
Fixed horizontal scroll on the post page
2015-06-30 14:50:30 +03:00
Łukasz Kliś
c4f631b28d Added missing vendor prefixes 2015-06-30 13:41:17 +02:00
Łukasz Kliś
dd9d027709 Added box-sizing for a read next story link 2015-06-22 14:08:03 +02:00
John O'Nolan
1a3dd91f81 Merge pull request #210 from najela/patch-1
Updated the twitter web share API
2015-05-28 22:12:32 +01:00
Acho Arnold
01c46dd225 Updated the twitter web share API
New API can be found here https://dev.twitter.com/web/tweet-button/web-intent
2015-05-26 10:21:36 +01:00
Emerson Keenan
8fda6ac74f Fix embedded gist indentation
closes #204
- set text-rendering to auto inside embedded gist
2015-05-24 00:32:37 +10:00
Hannah Wolfe
c1443a6e04 Upgrading Casper to 1.2.4 2015-05-21 16:59:21 +01:00
John O'Nolan
cd4563935a Merge pull request #207 from marksuth/master
Improve alt tag accessibility
2015-05-17 11:40:43 +01:00
Mark Sutherland
53c6d32849 typo 2015-05-15 22:13:14 +01:00
Mark Sutherland
2f45eda1ca Improve alt tag accessibility
Replaces all instances of alt="Blog Image" with alt="{{@blog.title}}"
and alt="Author Image" with alt="{{@author}}"
2015-05-15 22:01:01 +01:00
Hannah Wolfe
cfbb7842a9 Upgrading Casper to 1.2.3 2015-05-14 15:48:09 +01:00
John O'Nolan
6f5138dcd2 Merge pull request #203 from PaulAdamDavis/menu-button-border
Remove border from menu button on small screens
2015-05-14 15:29:50 +01:00
Paul Adam Davis
6c04f651aa Remove border from menu button on small screens
No issue

In #189 I reworked much of the CSS for the menu button. The border on the menu button is supposed to be removed on small screens, but I missed that. This removes it.
2015-04-23 12:39:19 +01:00
Hannah Wolfe
f81730e108 Upgrading Casper to 1.2.2 2015-04-22 22:11:36 +01:00
John O'Nolan
c06a731384 No. 2015-04-22 20:34:39 +02:00
John O'Nolan
2773ac926a Fix footnotes line-height and return-link styling 2015-04-22 19:23:42 +02:00
Hannah Wolfe
cc59624ba4 Upgrading Casper to 1.2.1 2015-04-22 14:08:38 +01:00
John O'Nolan
6b42e9535c Merge pull request #200 from HLFH/master
Social media icons with brand colors on hover
2015-04-19 22:52:24 +03:00
HLFH
bc38e7df61 Social media icons with brand colors on hover 2015-04-19 20:35:28 +02:00
John O'Nolan
ab2a8261d7 Merge pull request #197 from PaulAdamDavis/copyright-footer
Fix copyright footer bug
2015-04-16 14:20:14 +03:00
Paul Adam Davis
ffea9590ea Fix copyright footer bug
Closes #196

- Absolutely positions the `.site-footer` when it's adjacent to the `.read-next` container

I've opted to use absolute positioning here because we can't be 10% sure what the height of the footer will be at smaller viewport widths as the `@blog.title` length can vary, so adding loads of breakpoints with negative margins isn't really viable.
2015-04-16 10:43:35 +01:00
John O'Nolan
d32e9db4cb Merge pull request #195 from PaulAdamDavis/icon-caching
Add version number to icon font src urls
2015-04-15 13:01:02 +03:00
Paul Adam Davis
88666559f6 Add version number to icon font src urls
No issue

To prevent browsers using an older version of the icon font when a newer version is available, we must add a version number to that src url.

This number must be incremented when the file files change, so this also adds a note explaining that.
2015-04-15 10:44:01 +01:00
John O'Nolan
c94651d8fb Set min width on next-posts
Closes #194
2015-04-14 11:09:00 +02:00
John O'Nolan
5d01cb7a7c Merge pull request #189 from PaulAdamDavis/menu-icon
Remove some !important declarations
2015-04-11 11:11:59 +03:00
Paul Adam Davis
4f1c76f2e7 Remove some !important declarations
Relates to b071548

- Fixes an issue where the menu button would be the wrong colour

The navigation was using `!important` in a few places. I've changed the CSS a bit to no longer need these, but that means I've made some selectors slightly more specific.

The use of `!important` was to get around the hover state being persisted when the menu was opened but the mouse hadn't moved, which meant the menu button kept its white background when it should be black.
iMaking the hover state only apply when the nav is closed, gets around that.
2015-03-31 10:29:03 +01:00
John O'Nolan
dd02a12258 no message 2015-03-27 19:10:31 +02:00
Matt Enlow
e587980ccd Merge pull request #188 from PaulAdamDavis/menu-icon
Add menu icon to icon font
2015-03-23 10:57:24 -06:00
Paul Adam Davis
b071548965 Add menu icon to icon font
Closes #186

- Adds the menu icon from Ghost's icon set
- Alters CSS to use that new icon
2015-03-23 16:21:53 +00:00
John O'Nolan
acc6896393 Style footnotes
Fixes #187
2015-03-23 12:21:28 +02:00
John O'Nolan
025fa6ea80 Change the horrendous mark colour 2015-03-16 12:31:15 +02:00
Hannah Wolfe
1b86190c4d Upgrading Casper to 1.1.7 2015-03-09 17:52:52 +00:00
John O'Nolan
37d7d0b4f0 Sexier animation timing on menu 2015-03-09 16:05:25 +02:00
John O'Nolan
329dfef410 Merge pull request #185 from novaugust/master
Fix transition property
2015-03-05 23:10:35 +02:00
Matt Enlow
baea6bb2fd Fix transition property 2015-03-05 14:08:04 -07:00
John O'Nolan
dffc9f3cb3 Merge pull request #183 from tomkwok/patch-1
Add -ms- prefix for IE9
2015-03-04 11:37:44 +02:00
Tom Kwok
7f42eaabfe Add -ms- prefix for IE9 2015-03-04 17:33:35 +08:00
John O'Nolan
dcfddacfa1 Merge pull request #182 from mankittens/master
Prefixed second instance of tt with pre
2015-03-04 11:13:00 +02:00
Matthew Guy
031ac1fb40 Prefixed second instance of tt with pre 2015-03-04 03:50:52 -05:00
John O'Nolan
9339635abd Merge pull request #181 from PaulAdamDavis/fix-nav-overflow
Fix menu button overflow
2015-03-02 18:04:15 +02:00
Paul Adam Davis
0d3bafde1e Fix menu button overflow
References #180

- Adds `overflow-x: hidden` to `.site-wrapper` when navigation is open to prevent the menu button flowing into the navigation & covering the 'Menu' title text in Firefox.
2015-03-02 14:00:20 +00:00
John O'Nolan
7af816a48e Merge pull request #172 from mankittens/master
Improvement to .post-content .full-img
2015-03-02 09:32:12 +02:00
Matthew Guy
a5dcaf6cd5 Removed references to .full-img, debounce, and smartresize, and replaced with pure CSS
issue #172
New code will center all post images and allow them to extend beyond the main text column. No JavaScript or special classes required.
2015-03-02 02:21:19 -05:00
John O'Nolan
e59dcaa256 Fix vertical height bug
Introduced in @46dc55769e5f11bddde77ae131f0cb24f82fd9ea - vh is incompatible with % - all references to height needed to be updated in order for this to work correctly
2015-03-01 08:51:38 +02:00
John O'Nolan
8b35959ff6 Update Nav position
Fixes #178
2015-03-01 08:25:35 +02:00
Hannah Wolfe
94422fffe2 Upgrading Casper to 1.1.6 2015-02-28 16:15:47 +00:00
Hannah Wolfe
47e0b19562 Merge pull request #177 from ErisDS/global-nav
Switch navigation to be global
2015-02-28 15:54:15 +00:00
Hannah Wolfe
8ec65a45e4 Switch navigation to be global 2015-02-28 14:08:27 +00:00
John O'Nolan
8e220b089b Fix Safari mobile bug
Opacity: 0 on nav sidebar when closed
2015-02-28 16:07:43 +02:00
John O'Nolan
e4861a0d78 Fix for long nav items 2015-02-28 14:38:01 +02:00
John O'Nolan
243192f0d9 Updating nav styles 2015-02-28 14:34:58 +02:00
John O'Nolan
c516c10383 Merge pull request #175 from PaulAdamDavis/navigation
Navigation
2015-02-28 11:41:15 +02:00
Paul Adam Davis
46dc55769e Navigation 2015-02-27 19:33:27 +00:00
John O'Nolan
191f5f74f1 Merge pull request #174 from nicdutil/master
fixed ie9 rotate issue with scroll-down arrow
2015-02-24 09:44:03 +02:00
nicdutil
e559857b12 fixed ie9 rotate issue with scroll-down arrow 2015-02-24 00:45:08 -05:00
John O'Nolan
8f9a185a80 Merge pull request #171 from AlexanderGalen/master
Add geometricPrecision text-rendering on text elements to support ligatures
2015-02-23 11:31:08 +02:00
Alexander Carr
bcb586b862 add 'text-rendering:geometricPrecision;' anywhere that seemed appropriate to support ligatures. closes #167 2015-02-18 17:25:18 -08:00
John O'Nolan
70ad5bde8b Merge pull request #170 from mankittens/master
Fixed transition definitions
2015-02-18 10:36:53 +02:00
Matthew Guy
b064e9fc87 Fixed transition definitions
Made sure durations come before timing functions.

https://github.com/TryGhost/Casper/issues/168#issuecomment-74828463
2015-02-18 03:31:26 -05:00
John O'Nolan
1e6e807f94 Merge pull request #163 from janoskk/gist_fix
Fix gist line numbering issue #162
2015-01-22 11:17:34 -08:00
John O'Nolan
9cf7aea47c Merge pull request #141 from rglyall/master
Add conditional around 'bio' in author.hbs
2015-01-22 08:51:14 -08:00
Janos Kasza
6db90c9fec Fix gist line numbering issue #162 2015-01-22 11:49:02 +01:00
John O'Nolan
bc7b44f01b Merge pull request #159 from crepererum/css_warnings
Fix multiple CSS problems, mostly reported by Firefox
2015-01-15 07:33:45 -08:00
Marco Neumann
db4979d32d Fix multiple CSS problems, mostly reported by Firefox
- typo: `*zoom: ...;` should be `zoom: ...;`
 - outdated prefix: `white-space: -moz-pre-wrap;` is [not required as of Firefox 3.0](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space)
 - outdated prefix: `-moz-border-radius: ...;` is [not required as of Firefox 4.0](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius)
 - outdated prefix: `-webkit-border-radius: ...;` is [not required as of Chrome 4.0 and Safari 5.0](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius)
 - outdated prefix: for `background` `-moz-radial-gradient`, `-webkit-radial-gradient` and `-webkit-gradient` is [not required as of Firefox 16, Chrome 26 and Safari 6.1](http://www.w3schools.com/Css/css3_gradients.asp)
 - wrong attribute: `word-break: break-word;` should be `word-wrap: break-word;` (this makes sense because `hyphens: auto;` is set)
 - missing prefix: add `-moz-hyphens: auto;`, `-ms-hyphens: auto;` and `-webkit-hyphens: auto;` to `hyphens: auto;` (other browser [do not support `auto` mode](http://caniuse.com/#feat=css-hyphens))
2015-01-15 14:38:24 +01:00
Hannah Wolfe
dd4ca42280 Version bump to 1.1.5 2015-01-12 17:20:31 +00:00
John O'Nolan
3bdd10a37a Merge pull request #155 from razzius/master
Fix indentation in footer
2015-01-05 07:34:08 +02:00
Razzi Abuissa
56c766303f Fix indentation 2015-01-04 19:57:11 -06:00
John O'Nolan
bf37631aa2 Update copyright 2015-01-02 16:12:55 +02:00
John O'Nolan
82253b06f2 Derp 2014-12-23 14:21:53 +02:00
John O'Nolan
969a20ef6d Add tag mgmt support to Casper 2014-12-23 13:50:59 +02:00
Robert Lyall
ff591092e2 Add conditional around 'bio' in author.hbs 2014-10-21 16:10:20 +01:00
51 changed files with 9994 additions and 2013 deletions

17
.github/workflows/deploy-theme.yml vendored Normal file
View File

@ -0,0 +1,17 @@
---
name: Deploy Theme
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: TryGhost/action-deploy-theme@v1.4.0
with:
api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}
theme-name: "vivid-casper-master"

9
.gitignore vendored
View File

@ -13,9 +13,16 @@ results
npm-debug.log
node_modules
package-lock.json
.idea/*
*.iml
projectFilesBackup
.DS_Store
.DS_Store
dist/
config.json
changelog.md
changelog.md.bk

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2014 Ghost Foundation - Released under The MIT License.
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

View File

@ -1,16 +1,69 @@
# Casper
The default theme for [Ghost](http://github.com/tryghost/ghost/).
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.
To download, visit the [releases](https://github.com/TryGhost/Casper/releases) page.
&nbsp;
## Copyright & License
![screenshot-desktop](https://user-images.githubusercontent.com/1418797/183329195-8e8f2ee5-a473-4694-a813-a2575491209e.png)
Copyright (c) 2013-2014 Ghost Foundation - Released under the MIT License.
&nbsp;
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:
# First time using a Ghost theme?
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.
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 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 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.
- [Color Mod](https://github.com/jonathantneal/postcss-color-mod-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-2022 Ghost Foundation - Released under the [MIT license](LICENSE).

2
assets/built/casper.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
assets/built/global.css Normal file
View File

@ -0,0 +1,2 @@
a,abbr,acronym,address,applet,article,aside,audio,big,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{line-height:1}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}img{display:block;height:auto;max-width:100%}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;box-sizing:border-box;font-family:sans-serif}*,:after,:before{box-sizing:inherit}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn,em,i{font-style:italic}h1{font-size:2em;margin:.67em 0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}mark{background-color:#fdffb6}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}kbd{background:#f6f8fa;border:1px solid rgba(124,139,154,.25);border-radius:6px;box-shadow:inset 0 -1px 0 rgba(124,139,154,.25);font-family:var(--font-mono);font-size:1.5rem;padding:3px 5px}@media (max-width:600px){kbd{font-size:1.3rem}}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{border:none;overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input:focus{outline:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:62.5%}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;background:#fff;color:var(--color-darkgrey);font-family:var(--font-sans);font-size:1.6rem;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.6em}::-moz-selection{background:#daf2fd;text-shadow:none}::selection{background:#daf2fd;text-shadow:none}hr{border:0;border-top:1px solid #f0f0f0;display:block;height:1px;margin:2.5em 0 3.5em;padding:0;position:relative;width:100%}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}::not(.gh-content) blockquote,::not(.gh-content) dl,::not(.gh-content) ol,::not(.gh-content) p,::not(.gh-content) ul{margin:0 0 1.5em}ol,ul{padding-left:1.3em;padding-right:1.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0}ol,ul{max-width:100%}li{line-height:1.6em;padding-left:.3em}li+li{margin-top:.5em}dt{color:#daf2fd;float:left;font-weight:500;margin:0 20px 0 0;text-align:right;width:120px}dd{margin:0 0 5px;text-align:left}blockquote{border-left:#daf2fd;margin:1.5em 0;padding:0 1.6em}blockquote small{display:inline-block;font-size:.9em;margin:.8em 0 .8em 1.5em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{color:#15171a;text-decoration:none}h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;font-weight:600;letter-spacing:-.01em;line-height:1.15;margin-top:0}h1{font-size:4.8rem;font-weight:700;letter-spacing:-.015em;margin:0 0 .5em}@media (max-width:600px){h1{font-size:2.8rem}}h2{font-size:2.8rem;font-weight:700;margin:1.5em 0 .5em}@media (max-width:600px){h2{font-size:2.3rem}}h3{font-size:2.4rem;font-weight:600;margin:1.5em 0 .5em}@media (max-width:600px){h3{font-size:1.7rem}}h4{font-size:2rem;margin:1.5em 0 .5em}@media (max-width:600px){h4{font-size:1.7rem}}h5{font-size:2rem}h5,h6{margin:1.5em 0 .5em}h6{font-size:1.8rem}
/*# sourceMappingURL=global.css.map */

File diff suppressed because one or more lines are too long

2
assets/built/prism.css Normal file
View File

@ -0,0 +1,2 @@
code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#f8f8f2;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px rgba(0,0,0,.3);white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{border-radius:.3em;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
/*# sourceMappingURL=prism.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sources":["prism.css"],"names":[],"mappings":"AAQA,6CAUC,gBAAiB,CAPjB,eAAgB,CADhB,aAAc,CAGd,6DAAsE,CAYtE,oBAAqB,CAGrB,YAAa,CATb,eAAgB,CAEhB,eAAgB,CAChB,aAAc,CACd,UAAW,CATX,eAAgB,CAFhB,gCAAqC,CAGrC,eAAgB,CAEhB,iBAAkB,CADlB,mBAaD,CAGA,sBAIC,kBAAoB,CAFpB,aAAc,CACd,aAAc,CAFd,WAID,CAEA,uDAEC,kBACD,CAGA,iCAEC,kBAAmB,CADnB,YAAa,CAEb,kBACD,CAEA,yDAIC,aACD,CAEA,mBACC,aACD,CAEA,WACC,UACD,CAEA,wEAKC,aACD,CAEA,6BAEC,aACD,CAEA,0FAMC,aACD,CAEA,0GAMC,aACD,CAEA,gDAGC,aACD,CAEA,eACC,aACD,CAEA,8BAEC,aACD,CAEA,6BAEC,eACD,CACA,cACC,iBACD,CAEA,cACC,WACD","file":"prism.css","sourcesContent":["/* PrismJS 1.12.2\nhttp://prismjs.com/download.html#themes=prism-okaidia&languages=markup+clike+javascript+c+bash+cpp+csharp+ruby+docker+go+json+makefile+markdown+properties+python+vim+yaml */\n/**\n * okaidia theme for JavaScript, CSS and HTML\n * Loosely based on Monokai textmate theme by http://www.monokai.nl/\n * @author ocodia\n */\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tcolor: #f8f8f2;\n\tbackground: none;\n\ttext-shadow: 0 1px rgba(0, 0, 0, 0.3);\n\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder-radius: 0.3em;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tbackground: #272822;\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #f8f8f2;\n}\n\n.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #f92672;\n}\n\n.token.boolean,\n.token.number {\n\tcolor: #ae81ff;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #a6e22e;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable {\n\tcolor: #f8f8f2;\n}\n\n.token.atrule,\n.token.attr-value,\n.token.function {\n\tcolor: #e6db74;\n}\n\n.token.keyword {\n\tcolor: #66d9ef;\n}\n\n.token.regex,\n.token.important {\n\tcolor: #fd971f;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n\n"]}

2
assets/built/prism.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
assets/built/screen.css Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

467
assets/css/global.css Normal file
View File

@ -0,0 +1,467 @@
/* Reset
/* ---------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
font-size: 100%;
vertical-align: baseline;
}
body {
line-height: 1;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
content: none;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
img {
display: block;
max-width: 100%;
height: auto;
}
html {
box-sizing: border-box;
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline: 0;
}
b,
strong {
font-weight: bold;
}
i,
em,
dfn {
font-style: italic;
}
h1 {
margin: 0.67em 0;
font-size: 2em;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
mark {
background-color: #fdffb6;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
kbd {
padding: 3px 5px;
font-family: var(--font-mono);
font-size: 1.5rem;
background: #f6f8fa;
border: 1px solid rgba(124, 139, 154, 0.25);
border-radius: 6px;
box-shadow: inset 0 -1px 0 rgba(124, 139, 154, 0.25);
}
@media (max-width: 600px) {
kbd {
font-size: 1.3rem;
}
}
button,
input,
optgroup,
select,
textarea {
margin: 0; /* 3 */
color: inherit; /* 1 */
font: inherit; /* 2 */
}
button {
overflow: visible;
border: none;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"],
/* 1 */
input[type="reset"],
input[type="submit"] {
cursor: pointer; /* 3 */
-webkit-appearance: button; /* 2 */
}
button[disabled],
html input[disabled] {
cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
padding: 0;
border: 0;
}
input {
line-height: normal;
}
input:focus {
outline: none;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
input[type="search"] {
box-sizing: content-box; /* 2 */
-webkit-appearance: textfield; /* 1 */
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
legend {
padding: 0; /* 2 */
border: 0; /* 1 */
}
textarea {
overflow: auto;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
td,
th {
padding: 0;
}
/* ==========================================================================
Base styles: opinionated defaults
========================================================================== */
html {
font-size: 62.5%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
color: var(--color-darkgrey);
font-family: var(--font-sans);
font-size: 1.6rem;
line-height: 1.6em;
font-weight: 400;
font-style: normal;
letter-spacing: 0;
text-rendering: optimizeLegibility;
background: #fff;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-moz-font-feature-settings: "liga" on;
}
::selection {
text-shadow: none;
background: #daf2fd;
}
hr {
position: relative;
display: block;
width: 100%;
margin: 2.5em 0 3.5em;
padding: 0;
height: 1px;
border: 0;
border-top: 1px solid #f0f0f0;
}
audio,
canvas,
iframe,
img,
svg,
video {
vertical-align: middle;
}
fieldset {
margin: 0;
padding: 0;
border: 0;
}
textarea {
resize: vertical;
}
::not(.gh-content) p,
::not(.gh-content) ul,
::not(.gh-content) ol,
::not(.gh-content) dl,
::not(.gh-content) blockquote {
margin: 0 0 1.5em 0;
}
ol,
ul {
padding-left: 1.3em;
padding-right: 1.5em;
}
ol ol,
ul ul,
ul ol,
ol ul {
margin: 0.5em 0;
}
ul,
ol {
max-width: 100%;
}
li {
padding-left: 0.3em;
line-height: 1.6em;
}
li + li {
margin-top: 0.5em;
}
dt {
float: left;
margin: 0 20px 0 0;
width: 120px;
color: #daf2fd;
font-weight: 500;
text-align: right;
}
dd {
margin: 0 0 5px 0;
text-align: left;
}
blockquote {
margin: 1.5em 0;
padding: 0 1.6em 0 1.6em;
border-left: #daf2fd;
}
blockquote small {
display: inline-block;
margin: 0.8em 0 0.8em 1.5em;
font-size: 0.9em;
opacity: 0.8;
}
/* Quotation marks */
blockquote small:before {
content: "\2014 \00A0";
}
blockquote cite {
font-weight: bold;
}
blockquote cite a {
font-weight: normal;
}
a {
color: #15171A;
text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
line-height: 1.15;
font-weight: 600;
text-rendering: optimizeLegibility;
letter-spacing: -0.01em;
}
h1 {
margin: 0 0 0.5em 0;
font-size: 4.8rem;
font-weight: 700;
letter-spacing: -0.015em;
}
@media (max-width: 600px) {
h1 {
font-size: 2.8rem;
}
}
h2 {
margin: 1.5em 0 0.5em 0;
font-size: 2.8rem;
font-weight: 700;
}
@media (max-width: 600px) {
h2 {
font-size: 2.3rem;
}
}
h3 {
margin: 1.5em 0 0.5em 0;
font-size: 2.4rem;
font-weight: 600;
}
@media (max-width: 600px) {
h3 {
font-size: 1.7rem;
}
}
h4 {
margin: 1.5em 0 0.5em 0;
font-size: 2rem;
}
@media (max-width: 600px) {
h4 {
font-size: 1.7rem;
}
}
h5 {
margin: 1.5em 0 0.5em 0;
font-size: 2rem;
}
h6 {
margin: 1.5em 0 0.5em 0;
font-size: 1.8rem;
}

124
assets/css/prism.css Normal file
View File

@ -0,0 +1,124 @@
/* PrismJS 1.12.2
http://prismjs.com/download.html#themes=prism-okaidia&languages=markup+clike+javascript+c+bash+cpp+csharp+ruby+docker+go+json+makefile+markdown+properties+python+vim+yaml */
/**
* okaidia theme for JavaScript, CSS and HTML
* Loosely based on Monokai textmate theme by http://www.monokai.nl/
* @author ocodia
*/
code[class*="language-"],
pre[class*="language-"] {
color: #f8f8f2;
background: none;
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
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;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
border-radius: 0.3em;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #272822;
}
/* 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: #f8f8f2;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
color: #f92672;
}
.token.boolean,
.token.number {
color: #ae81ff;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #a6e22e;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
color: #f8f8f2;
}
.token.atrule,
.token.attr-value,
.token.function {
color: #e6db74;
}
.token.keyword {
color: #66d9ef;
}
.token.regex,
.token.important {
color: #fd971f;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,19 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512">
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#x20;" d="" horiz-adv-x="256" />
<glyph unicode="&#xf600;" d="M0 480v-102.4h307.2v102.4h-307.2zM0 275.2v-102.4h512v102.4h-512zM0 70.4v-102.4h204.8v102.4h-204.8zM307.2 70.4v-102.4h204.8v102.4h-204.8zM409.6 480v-102.4h102.4v102.4h-102.4z" />
<glyph unicode="&#xf601;" d="M421.344-32c-0.4 229.616-200.752 417.264-421.344 417.696v94.304c270.656 0 512-230.304 512-512h-90.656zM343.6-31.968h-90.608c0.304 56.384-28.336 119.488-73.664 166.736-45.072 47.632-124.96 77.648-179.104 77.36v94.272c169.040-3.648 339.936-163.312 343.376-338.368zM64.256 96.048c35.312 0 63.936-28.656 63.936-64 0-35.328-28.624-63.984-63.936-63.984s-63.936 28.656-63.936 63.984c0 35.344 28.624 64 63.936 64z" />
<glyph unicode="&#xf602;" d="M512 382.791c-18.838-8.354-39.082-14.001-60.33-16.54 21.686 13 38.343 33.585 46.186 58.115-20.298-12.039-42.778-20.78-66.705-25.49-19.16 20.415-46.461 33.17-76.673 33.17-58.011 0-105.044-47.029-105.044-105.039 0-8.233 0.929-16.25 2.72-23.939-87.3 4.382-164.701 46.2-216.509 109.753-9.042-15.514-14.223-33.558-14.223-52.809 0-36.444 18.544-68.596 46.73-87.433-17.219 0.546-33.416 5.271-47.577 13.139-0.010-0.438-0.010-0.878-0.010-1.321 0-50.894 36.209-93.348 84.261-103-8.813-2.4-18.094-3.686-27.674-3.686-6.769 0-13.349 0.66-19.764 1.886 13.368-41.73 52.16-72.103 98.126-72.948-35.95-28.175-81.243-44.967-130.458-44.967-8.479 0-16.84 0.497-25.058 1.47 46.486-29.805 101.701-47.197 161.021-47.197 193.211 0 298.868 160.062 298.868 298.872 0 4.554-0.103 9.084-0.305 13.59 20.528 14.81 38.336 33.31 52.418 54.374z" />
<glyph unicode="&#xf603;" d="M0.403 45.168c-0.122 1.266-0.226 2.535-0.292 3.815 0.065-1.28 0.17-2.549 0.292-3.815zM117.954 197.426c46.005-1.369 76.867 46.349 68.931 106.599-7.947 60.24-51.698 108.584-97.704 109.961-46.013 1.365-76.87-44.741-68.926-105 7.941-60.234 51.676-110.187 97.699-111.56zM512 352v42.655c0 46.94-38.391 85.345-85.329 85.345h-341.328c-46.138 0-84.006-37.116-85.282-82.963 29.181 25.693 69.662 47.158 111.437 47.158 44.652 0 178.622 0 178.622 0l-39.974-33.809h-56.634c37.565-14.402 57.578-58.062 57.578-102.861 0-37.624-20.905-69.977-50.444-92.984-28.822-22.451-34.286-31.854-34.286-50.939 0-16.289 30.873-44 47.016-55.394 47.191-33.269 62.458-64.156 62.458-115.728 0-8.214-1.021-16.415-3.033-24.48h153.871c46.937 0 85.328 38.375 85.328 85.345v266.654h-96v-95.999h-32v96h-95.999v32h95.999v96h32v-96h96zM92.943 97.032c10.807 0 20.711 0.295 30.968 0.295-13.573 13.167-24.313 29.3-24.313 49.19 0 11.804 3.782 23.168 9.067 33.26-5.391-0.385-10.895-0.497-16.563-0.497-37.178 0-68.753 12.038-92.102 31.927v-33.621l0.003-100.865c26.72 12.687 58.444 20.311 92.94 20.311zM1.71 36.371c-0.556 2.729-0.983 5.503-1.271 8.317 0.287-2.814 0.715-5.588 1.271-8.317zM227.725 3.577c-7.529 29.403-34.227 43.982-71.444 69.784-13.536 4.366-28.447 6.937-44.447 7.104-44.809 0.482-86.554-17.471-110.108-44.186 7.96-38.853 42.517-68.279 83.617-68.279h143.222c0.908 5.564 1.348 11.316 1.348 17.216 0 6.267-0.767 12.396-2.188 18.361z" />
<glyph unicode="&#xf604;" d="M426.672 480h-341.33c-46.936 0-85.342-38.407-85.342-85.344v-341.313c0-46.969 38.406-85.343 85.342-85.343l341.33 0.001c46.938 0 85.328 38.373 85.328 85.344v341.311c0 46.937-38.391 85.344-85.328 85.344zM435.296 224h-83.296v-224h-96v224h-46.263v73.282h46.263v47.593c0 64.671 27.896 103.125 103.935 103.125h87.622v-79.285h-71.565c-21.241 0.035-23.876-11.076-23.876-31.756l-0.116-39.677h96l-12.704-73.282z" />
<glyph unicode="&#xf605;" d="M368.615 34.099c6.861-6.938 6.861-18.125 0-25.063s-17.945-6.938-24.807 0l-200.448 202.419c-6.861 6.938-6.861 18.15 0 25.063l200.448 202.445c6.861 6.938 17.945 6.938 24.807 0s6.861-18.125 0-25.063l-182.784-189.901 182.784-189.901z" />
<glyph unicode="&#xf606;" d="M435.2 454.4h-56.32c-14.131 0-20.48-11.469-20.48-25.6v-435.2h102.4v435.2c0 14.131-11.443 25.6-25.6 25.6zM281.6 300.8h-56.32c-14.131 0-20.48-11.469-20.48-25.6v-281.6h102.4v281.6c0 14.131-11.443 25.6-25.6 25.6zM128 147.2h-56.32c-14.131 0-20.48-11.443-20.48-25.6v-128h102.4v128c0 14.157-11.469 25.6-25.6 25.6z" />
<glyph unicode="&#xf607;" d="M256 428.8c-70.707 0-128-57.319-128-128 0-122.214 128-281.6 128-281.6s128 159.386 128 281.6c0 70.681-57.293 128-128 128zM256 230.144c-38.169 0-69.12 30.951-69.12 69.12s30.951 69.12 69.12 69.12 69.12-30.951 69.12-69.12-30.95-69.12-69.12-69.12z" />
<glyph unicode="&#xf608;" d="M201.19 103.834l-20.736-20.582c-17.971-17.792-47.181-17.817-65.126 0-8.627 8.576-13.363 19.917-13.363 32.026s4.761 23.475 13.363 32.051l76.288 75.699c15.795 15.693 45.542 38.759 67.226 17.255 9.959-9.881 26.035-9.805 35.891 0.128 9.882 9.933 9.83 26.010-0.128 35.891-36.839 36.557-91.315 29.798-138.752-17.255l-76.288-75.699c-18.279-18.176-28.365-42.343-28.365-68.070 0-25.702 10.087-49.869 28.391-68.045 18.841-18.714 43.571-28.032 68.301-28.032s49.511 9.318 68.352 28.032l20.736 20.608c9.958 9.882 10.010 25.959 0.128 35.865-9.881 9.933-25.958 9.984-35.917 0.128zM432.409 397.85c-39.577 39.27-94.899 41.395-131.558 5.043l-25.831-25.626c-9.959-9.882-10.035-25.933-0.154-35.891 9.907-9.958 25.959-10.010 35.891-0.128l25.83 25.625c18.969 18.841 43.827 11.034 60.058-5.043 8.627-8.55 13.363-19.942 13.363-32.026 0-12.109-4.762-23.475-13.363-32.026l-81.408-80.742c-37.197-36.915-54.682-19.61-62.131-12.211-9.958 9.882-26.010 9.805-35.865-0.128-9.881-9.959-9.831-26.035 0.128-35.891 17.075-16.947 36.608-25.344 57.037-25.344 25.037 0 51.481 12.595 76.621 37.555l81.382 80.743c18.304 18.151 28.39 42.317 28.39 68.019s-10.087 49.894-28.39 68.070z" />
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Binary file not shown.

85
assets/js/dropdown.js Normal file
View File

@ -0,0 +1,85 @@
(function () {
const mediaQuery = window.matchMedia('(max-width: 767px)');
const head = document.querySelector('.gh-head');
const menu = head.querySelector('.gh-head-menu');
const nav = menu.querySelector('.nav');
if (!nav) return;
const logo = document.querySelector('.gh-head-logo');
const navHTML = nav.innerHTML;
if (mediaQuery.matches) {
const items = nav.querySelectorAll('li');
items.forEach(function (item, index) {
item.style.transitionDelay = 0.03 * (index + 1) + 's';
});
}
var windowClickListener;
const makeDropdown = function () {
if (mediaQuery.matches) return;
const submenuItems = [];
while ((nav.offsetWidth + 64) > menu.offsetWidth) {
if (nav.lastElementChild) {
submenuItems.unshift(nav.lastElementChild);
nav.lastElementChild.remove();
} else {
return;
}
}
if (!submenuItems.length) {
document.body.classList.add('is-dropdown-loaded');
return;
}
const toggle = document.createElement('button');
toggle.setAttribute('class', 'nav-more-toggle');
toggle.setAttribute('aria-label', 'More');
toggle.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="currentColor"><path d="M21.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM13.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0zM5.333 16c0-1.473 1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667v0c0 1.473-1.194 2.667-2.667 2.667v0c-1.473 0-2.667-1.194-2.667-2.667v0z"></path></svg>';
const wrapper = document.createElement('div');
wrapper.setAttribute('class', 'gh-dropdown');
if (submenuItems.length >= 10) {
document.body.classList.add('is-dropdown-mega');
wrapper.style.gridTemplateRows = 'repeat(' + Math.ceil(submenuItems.length / 2) + ', 1fr)';
} else {
document.body.classList.remove('is-dropdown-mega');
}
submenuItems.forEach(function (child) {
wrapper.appendChild(child);
});
toggle.appendChild(wrapper);
nav.appendChild(toggle);
document.body.classList.add('is-dropdown-loaded');
toggle.addEventListener('click', function () {
document.body.classList.toggle('is-dropdown-open');
});
windowClickListener = function (e) {
if (!toggle.contains(e.target) && document.body.classList.contains('is-dropdown-open')) {
document.body.classList.remove('is-dropdown-open');
}
};
window.addEventListener('click', windowClickListener);
}
imagesLoaded(head, function () {
makeDropdown();
});
window.addEventListener('resize', function () {
setTimeout(function () {
window.removeEventListener('click', windowClickListener);
nav.innerHTML = navHTML;
makeDropdown();
}, 1);
});
})();

View File

@ -1,98 +0,0 @@
/**
* Main JS file for Casper behaviours
*/
/* globals jQuery, document */
(function ($, sr, undefined) {
"use strict";
var $document = $(document),
// debouncing function from John Hann
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
debounce = function (func, threshold, execAsap) {
var timeout;
return function debounced () {
var obj = this, args = arguments;
function delayed () {
if (!execAsap) {
func.apply(obj, args);
}
timeout = null;
}
if (timeout) {
clearTimeout(timeout);
} else if (execAsap) {
func.apply(obj, args);
}
timeout = setTimeout(delayed, threshold || 100);
};
};
$document.ready(function () {
var $postContent = $(".post-content");
$postContent.fitVids();
function updateImageWidth() {
var $this = $(this),
contentWidth = $postContent.outerWidth(), // Width of the content
imageWidth = this.naturalWidth; // Original image resolution
if (imageWidth >= contentWidth) {
$this.addClass('full-img');
} else {
$this.removeClass('full-img');
}
}
var $img = $("img").on('load', updateImageWidth);
function casperFullImg() {
$img.each(updateImageWidth);
}
casperFullImg();
$(window).smartresize(casperFullImg);
$(".scroll-down").arctic_scroll();
});
// smartresize
jQuery.fn[sr] = function(fn) { return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
// Arctic Scroll by Paul Adam Davis
// https://github.com/PaulAdamDavis/Arctic-Scroll
$.fn.arctic_scroll = function (options) {
var defaults = {
elem: $(this),
speed: 500
},
allOptions = $.extend(defaults, options);
allOptions.elem.click(function (event) {
event.preventDefault();
var $this = $(this),
$htmlBody = $('html, body'),
offset = ($this.attr('data-offset')) ? $this.attr('data-offset') : false,
position = ($this.attr('data-position')) ? $this.attr('data-position') : false,
toMove;
if (offset) {
toMove = parseInt(offset);
$htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top + toMove) }, allOptions.speed);
} else if (position) {
toMove = parseInt(position);
$htmlBody.stop(true, false).animate({scrollTop: toMove }, allOptions.speed);
} else {
$htmlBody.stop(true, false).animate({scrollTop: ($(this.hash).offset().top) }, allOptions.speed);
}
});
};
})(jQuery, 'smartresize');

View File

@ -0,0 +1,114 @@
/* eslint-env browser */
/**
* Infinite Scroll
* Used on all pages where there is a list of posts (homepage, tag index, etc).
*
* When the page is scrolled to 300px from the bottom, the next page of posts
* is fetched by following the the <link rel="next" href="..."> that is output
* by {{ghost_head}}.
*
* The individual post items are extracted from the fetched pages by looking for
* a wrapper element with the class "post-card". Any found elements are appended
* to the element with the class "post-feed" in the currently viewed page.
*/
(function (window, document) {
if (document.documentElement.classList.contains('no-infinite-scroll')) return;
// next link element
var nextElement = document.querySelector('link[rel=next]');
if (!nextElement) {
return;
}
// post feed element
var feedElement = document.querySelector('.post-feed');
if (!feedElement) {
return;
}
var buffer = 300;
var ticking = false;
var loading = false;
var lastScrollY = window.scrollY;
var lastWindowHeight = window.innerHeight;
var lastDocumentHeight = document.documentElement.scrollHeight;
function onPageLoad() {
if (this.status === 404) {
window.removeEventListener('scroll', onScroll);
window.removeEventListener('resize', onResize);
return;
}
// append contents
var postElements = this.response.querySelectorAll('article.post-card');
postElements.forEach(function (item) {
// document.importNode is important, without it the item's owner
// document will be different which can break resizing of
// `object-fit: cover` images in Safari
feedElement.appendChild(document.importNode(item, true));
});
// set next link
var resNextElement = this.response.querySelector('link[rel=next]');
if (resNextElement) {
nextElement.href = resNextElement.href;
} else {
window.removeEventListener('scroll', onScroll);
window.removeEventListener('resize', onResize);
}
// sync status
lastDocumentHeight = document.documentElement.scrollHeight;
ticking = false;
loading = false;
}
function onUpdate() {
// return if already loading
if (loading) {
return;
}
// return if not scroll to the bottom
if (lastScrollY + lastWindowHeight <= lastDocumentHeight - buffer) {
ticking = false;
return;
}
loading = true;
var xhr = new window.XMLHttpRequest();
xhr.responseType = 'document';
xhr.addEventListener('load', onPageLoad);
xhr.open('GET', nextElement.href);
xhr.send(null);
}
function requestTick() {
ticking || window.requestAnimationFrame(onUpdate);
ticking = true;
}
function onScroll() {
lastScrollY = window.scrollY;
requestTick();
}
function onResize() {
lastWindowHeight = window.innerHeight;
lastDocumentHeight = document.documentElement.scrollHeight;
requestTick();
}
window.addEventListener('scroll', onScroll, {passive: true});
window.addEventListener('resize', onResize);
requestTick();
})(window, document);

View File

@ -1,67 +0,0 @@
/*global jQuery */
/*jshint browser:true */
/*!
* FitVids 1.1
*
* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
*
*/
(function( $ ){
"use strict";
$.fn.fitVids = function( options ) {
var settings = {
customSelector: null
};
if(!document.getElementById('fit-vids-style')) {
// appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
var head = document.head || document.getElementsByTagName('head')[0];
var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
var div = document.createElement('div');
div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + '</style>';
head.appendChild(div.childNodes[1]);
}
if ( options ) {
$.extend( settings, options );
}
return this.each(function(){
var selectors = [
"iframe[src*='player.vimeo.com']",
"iframe[src*='youtube.com']",
"iframe[src*='youtube-nocookie.com']",
"iframe[src*='kickstarter.com'][src*='video.html']",
"object",
"embed"
];
if (settings.customSelector) {
selectors.push(settings.customSelector);
}
var $allVideos = $(this).find(selectors.join(','));
$allVideos = $allVideos.not("object object"); // SwfObj conflict patch
$allVideos.each(function(){
var $this = $(this);
if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
aspectRatio = height / width;
if(!$this.attr('id')){
var videoID = 'fitvid' + Math.floor(Math.random()*999999);
$this.attr('id', videoID);
}
$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
$this.removeAttr('height').removeAttr('width');
});
});
};
// Works with either jQuery or Zepto
})( window.jQuery || window.Zepto );

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,89 @@
/*jshint browser:true */
/*!
* FitVids 1.3
*
*
* Copyright 2017, Chris Coyier + Dave Rupert + Ghost Foundation
* This is an unofficial release, ported by John O'Nolan
* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
* Released under the MIT license
*
*/
;(function( $ ){
'use strict';
$.fn.fitVids = function( options ) {
var settings = {
customSelector: null,
ignore: null
};
if(!document.getElementById('fit-vids-style')) {
// appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
var head = document.head || document.getElementsByTagName('head')[0];
var css = '.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
var div = document.createElement("div");
div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + '</style>';
head.appendChild(div.childNodes[1]);
}
if ( options ) {
$.extend( settings, options );
}
return this.each(function(){
var selectors = [
'iframe[src*="player.vimeo.com"]',
'iframe[src*="youtube.com"]',
'iframe[src*="youtube-nocookie.com"]',
'iframe[src*="kickstarter.com"][src*="video.html"]',
'object',
'embed'
];
if (settings.customSelector) {
selectors.push(settings.customSelector);
}
var ignoreList = '.fitvidsignore';
if(settings.ignore) {
ignoreList = ignoreList + ', ' + settings.ignore;
}
var $allVideos = $(this).find(selectors.join(','));
$allVideos = $allVideos.not('object object'); // SwfObj conflict patch
$allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
$allVideos.each(function(){
var $this = $(this);
if($this.parents(ignoreList).length > 0) {
return; // Disable FitVids on this video.
}
if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))
{
$this.attr('height', 9);
$this.attr('width', 16);
}
var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
aspectRatio = height / width;
if(!$this.attr('name')){
var videoName = 'fitvid' + $.fn.fitVids._count;
$this.attr('name', videoName);
$.fn.fitVids._count++;
}
$this.wrap('<div class="fluid-width-video-container"><div class="fluid-width-video-wrapper"></div></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');
$this.removeAttr('height').removeAttr('width');
});
});
};
// Internal counter for unique video names.
$.fn.fitVids._count = 0;
// Works with either jQuery or Zepto
})( window.jQuery || window.Zepto );

20
assets/js/prism.js Normal file

File diff suppressed because one or more lines are too long

BIN
assets/screenshot-desktop.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
assets/screenshot-mobile.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1,37 +1,76 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}}
{{! The big featured header }}
<main id="site-main" class="site-main outer">
<div class="inner posts">
{{! Everything inside the #author tags pulls data from the author }}
{{#author}}
<header class="main-header author-head {{#if cover}}" style="background-image: url({{cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{url}}rss/">{{name}}</a>
</nav>
</header>
<div class="post-feed">
<section class="author-profile inner">
{{#if image}}
<figure class="author-image">
<div class="img" style="background-image: url({{image}})"><span class="hidden">{{name}}'s Picture</span></div>
</figure>
{{/if}}
<h1 class="author-title">{{name}}</h1>
<h2 class="author-bio">{{bio}}</h2>
<div class="author-meta">
{{#if location}}<span class="author-location icon-location">{{location}}</span>{{/if}}
{{#if website}}<span class="author-link icon-link"><a href="{{website}}">{{website}}</a></span>{{/if}}
<span class="author-stats"><i class="icon-stats"></i> {{plural ../pagination.total empty='No posts' singular='% post' plural='% posts'}}</span>
</div>
</section>
{{/author}}
{{#author}}
<section class="post-card post-card-large">
{{! The main content area on the homepage }}
<main class="content" role="main">
{{#if cover_image}}
<div class="post-card-image-link">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img class="post-card-image"
srcset="{{img_url cover_image size="s"}} 300w,
{{img_url cover_image size="m"}} 600w,
{{img_url cover_image size="l"}} 1000w,
{{img_url cover_image size="xl"}} 2000w"
sizes="(max-width: 1000px) 400px, 800px"
src="{{img_url cover_image size="m"}}"
alt="{{title}}"
/>
</div>
{{/if}}
{{! The tag below includes the post loop - partials/loop.hbs }}
{{> "loop"}}
<div class="post-card-content">
<div class="post-card-content-link">
</main>
{{#if profile_image}}
<img class="author-profile-pic" src="{{profile_image}}" alt="{{name}}" />
{{/if}}
<header class="post-card-header">
<h2 class="post-card-title">{{name}}</h2>
</header>
{{#if bio}}
<div class="post-card-excerpt">{{bio}}</div>
{{/if}}
<footer class="author-profile-footer">
{{#if location}}
<div class="author-profile-location">{{location}}</div>
{{/if}}
<div class="author-profile-meta">
{{#if website}}
<a class="author-profile-social-link" href="{{website}}" target="_blank" rel="noopener">{{website}}</a>
{{/if}}
{{#if twitter}}
<a class="author-profile-social-link" href="{{twitter_url}}" target="_blank" rel="noopener">{{> "icons/twitter"}}</a>
{{/if}}
{{#if facebook}}
<a class="author-profile-social-link" href="{{facebook_url}}" target="_blank" rel="noopener">{{> "icons/facebook"}}</a>
{{/if}}
</div>
</footer>
</div>
</div>
</section>
{{/author}}
{{#foreach posts}}
{{!-- The tag below includes the markup for each post - partials/post-card.hbs --}}
{{> "post-card"}}
{{/foreach}}
</div>
{{pagination}}
</div>
</main>

View File

@ -1,42 +1,127 @@
<!DOCTYPE html>
<html>
<html lang="{{@site.locale}}"{{#match @custom.color_scheme "Dark"}} class="dark-mode"{{else match @custom.color_scheme "Auto"}} class="auto-color"{{/match}}>
<head>
{{! Document Settings }}
{{!-- Basic meta - advanced meta is output with {ghost_head} below --}}
<title>{{meta_title}}</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
{{! Page Meta }}
<title>{{meta_title}}</title>
<meta name="description" content="{{meta_description}}" />
{{!-- Base Meta --}}
<title>
{{#is "post, page"}}
{{meta_title}} - {{@site.title}}
{{else}}
{{meta_title}}
{{/is}}
</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{{!-- Preload scripts --}}
<link rel="preload" as="style" href="{{asset "built/screen.css"}}" />
<link rel="preload" as="script" href="{{asset "built/casper.js"}}" />
<link rel="shortcut icon" href="{{asset "favicon.ico"}}">
{{!-- Theme assets - use the {asset} helper to reference styles & scripts,
this will take care of caching and cache-busting automatically --}}
<link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}" />
<link rel="stylesheet" type="text/css" href="{{asset "css/prism.css"}}" />
{{! Styles'n'Scripts }}
<link rel="stylesheet" type="text/css" href="{{asset "css/screen.css"}}" />
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Merriweather:300,700,700italic,300italic|Open+Sans:700,400" />
{{! Ghost outputs important style and meta data with this tag }}
{{!-- This tag outputs all your advanced SEO meta, structured data, and other important settings,
it should always be the last tag before the closing head tag --}}
{{ghost_head}}
</head>
<body class="{{body_class}}">
<body class="{{body_class}} is-head-{{#match @custom.navigation_layout "Logo on cover"}}left-logo{{else match @custom.navigation_layout "Logo in the middle"}}middle-logo{{else}}stacked{{/match}}{{#match @custom.title_font "=" "Elegant serif"}} has-serif-title{{/match}}{{#match @custom.body_font "=" "Modern sans-serif"}} has-sans-body{{/match}}{{#if @custom.show_publication_cover}} has-cover{{/if}}">
<div class="viewport">
{{! Everything else gets inserted here }}
{{{body}}}
<header id="gh-head" class="gh-head outer{{#match @custom.header_style "Hidden"}} is-header-hidden{{/match}}">
<div class="gh-head-inner inner">
<div class="gh-head-brand">
<a class="gh-head-logo{{#unless @site.logo}} no-image{{/unless}}" href="{{@site.url}}">
{{#if @site.logo}}
<img src="{{@site.logo}}" alt="{{@site.title}}">
{{else}}
{{@site.title}}
{{/if}}
</a>
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
<button class="gh-burger"></button>
</div>
<nav class="gh-head-menu">
{{navigation}}
{{#unless @site.members_enabled}}
{{#match @custom.navigation_layout "Stacked"}}
<button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search>{{> "icons/search"}}</button>
{{/match}}
{{/unless}}
</nav>
<footer class="site-footer clearfix">
<section class="copyright"><a href="{{@blog.url}}">{{@blog.title}}</a> &copy; {{date format="YYYY"}}</section>
<section class="poweredby">Proudly published with <a href="https://ghost.org">Ghost</a></section>
<div class="gh-head-actions">
{{#unless @site.members_enabled}}
{{^match @custom.navigation_layout "Stacked"}}
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
{{/match}}
{{else}}
<button class="gh-search gh-icon-btn" data-ghost-search>{{> "icons/search"}}</button>
<div class="gh-head-members">
{{#unless @member}}
{{#unless @site.members_invite_only}}
<a class="gh-head-link" href="#/portal/signin" data-portal="signin">Sign in</a>
<a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
{{else}}
<a class="gh-head-button" href="#/portal/signin" data-portal="signin">Sign in</a>
{{/unless}}
{{else}}
<a class="gh-head-button" href="#/portal/account" data-portal="account">Account</a>
{{/unless}}
</div>
{{/unless}}
</div>
</div>
</header>
<div class="site-content">
{{!-- All other templates get inserted here, index.hbs, post.hbs, etc --}}
{{{body}}}
</div>
{{!-- The global footer at the very bottom of the screen --}}
<footer class="site-footer outer">
<div class="inner">
<section class="copyright"><a href="{{@site.url}}">{{@site.title}}</a> &copy; {{date format="YYYY"}}</section>
<nav class="site-footer-nav">
{{navigation type="secondary"}}
</nav>
<div class="gh-powered-by"><a href="https://ghost.org/" target="_blank" rel="noopener">Powered by Ghost</a></div>
</div>
</footer>
{{! Ghost outputs important scripts and data with this tag }}
{{ghost_foot}}
</div>
{{!-- /.viewport --}}
{{! The main JavaScript file for Casper }}
<script type="text/javascript" src="{{asset "js/jquery.fitvids.js"}}"></script>
<script type="text/javascript" src="{{asset "js/index.js"}}"></script>
{{!-- Scripts - handle member signups, responsive videos, infinite scroll, floating headers, and galleries --}}
<script
src="https://code.jquery.com/jquery-3.5.1.min.js"
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
crossorigin="anonymous">
</script>
<script src="{{asset "built/casper.js"}}"></script>
<script src="{{asset "js/prism.js"}}"></script>
<script>
$(document).ready(function () {
// Mobile Menu Trigger
$('.gh-burger').click(function () {
$('body').toggleClass('gh-head-open');
});
// FitVids - Makes video embeds responsive
$(".gh-content").fitVids();
});
</script>
{{!-- Ghost outputs required functional scripts with this tag - it should always be the last thing before the closing body tag --}}
{{ghost_foot}}
</body>
</html>

37
error-404.hbs Normal file
View File

@ -0,0 +1,37 @@
{{!< default}}
{{!--
There are two error files in this theme, one for 404s and one for all other errors.
This file is the former, and handles all 404 Page Not Found errors.
The 404 error is the most common error that a visitor might see, for example when
following a broken link
Keep this template as lightweight as you can!
--}}
<section class="outer error-content">
<div class="inner">
<section class="error-message">
<h1 class="error-code">{{statusCode}}</h1>
<p class="error-description">{{message}}</p>
<a class="error-link" href="{{@site.url}}">Go to the front page →</a>
</section>
</div>
</section>
{{!-- Given that people landing on this page didn't find what they
were looking for, let's give them some alternative stuff to read. --}}
<aside class="read-more-wrap outer">
<div class="read-more inner">
{{#get "posts" include="authors" limit="3" as |more_posts|}}
{{#if more_posts}}
{{#foreach more_posts}}
{{> "post-card"}}
{{/foreach}}
{{/if}}
{{/get}}
</div>
</aside>

74
error.hbs Normal file
View File

@ -0,0 +1,74 @@
{{!--
There are two error files in this theme, one for 404s and one for all other errors.
This file is the latter, and handles all 400/500 errors that might occur.
Because 500 errors in particular usually happen when a server is struggling, this
template is as simple as possible. No template dependencies, no JS, no API calls.
This is to prevent rendering the error-page itself compounding the issue causing
the error in the first place.
Keep this template as lightweight as you can!
--}}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>{{meta_title}}</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="{{asset "built/screen.css"}}" />
</head>
<body>
<div class="site-wrapper">
<header class="site-header no-image">
<div class="site-nav-main outer">
<div class="inner">
<nav class="site-nav-center">
{{#if @site.logo}}
<a class="site-nav-logo" href="{{@site.url}}"><img src="{{img_url @site.logo size="xs"}}"
alt="{{@site.title}}" /></a>
{{else}}
<a class="site-nav-logo" href="{{@site.url}}">{{@site.title}}</a>
{{/if}}
</nav>
</div>
</div>
</header>
<main class="outer error-content">
<div class="inner">
<section class="error-message">
<h1 class="error-code">{{statusCode}}</h1>
<p class="error-description">{{message}}</p>
<a class="error-link" href="{{@site.url}}">Go to the front page →</a>
</section>
{{#if errorDetails}}
<section class="error-stack">
<h3>Theme errors</h3>
<ul class="error-stack-list">
{{#foreach errorDetails}}
<li>
<em class="error-stack-function">{{{rule}}}</em>
{{#foreach failures}}
<p><span class="error-stack-file">Ref: {{ref}}</span></p>
<p><span class="error-stack-file">Message: {{message}}</span></p>
{{/foreach}}
</li>
{{/foreach}}
</ul>
</section>
{{/if}}
</div>
</main>
</div>
</body>
</html>

176
gulpfile.js Normal file
View File

@ -0,0 +1,176 @@
const {series, watch, src, dest, parallel} = require('gulp');
const pump = require('pump');
const path = require('path');
const releaseUtils = require('@tryghost/release-utils');
const inquirer = require('inquirer');
// gulp plugins and utils
const livereload = require('gulp-livereload');
const postcss = require('gulp-postcss');
const zip = require('gulp-zip');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const beeper = require('beeper');
const fs = require('fs');
// postcss plugins
const autoprefixer = require('autoprefixer');
const colorFunction = require('postcss-color-mod-function');
const cssnano = require('cssnano');
const easyimport = require('postcss-easy-import');
const REPO = 'TryGhost/Casper';
const REPO_READONLY = 'TryGhost/Casper';
const CHANGELOG_PATH = path.join(process.cwd(), '.', 'changelog.md');
function serve(done) {
livereload.listen();
done();
}
const handleError = (done) => {
return function (err) {
if (err) {
beeper();
}
return done(err);
};
};
function hbs(done) {
pump([
src(['*.hbs', 'partials/**/*.hbs']),
livereload()
], handleError(done));
}
function css(done) {
pump([
src('assets/css/*.css', {sourcemaps: true}),
postcss([
easyimport,
colorFunction(),
autoprefixer(),
cssnano()
]),
dest('assets/built/', {sourcemaps: '.'}),
livereload()
], handleError(done));
}
function js(done) {
pump([
src([
// pull in lib files first so our own code can depend on it
'assets/js/lib/*.js',
'assets/js/*.js'
], {sourcemaps: true}),
concat('casper.js'),
uglify(),
dest('assets/built/', {sourcemaps: '.'}),
livereload()
], handleError(done));
}
function zipper(done) {
const filename = require('./package.json').name + '.zip';
pump([
src([
'**',
'!node_modules', '!node_modules/**',
'!dist', '!dist/**',
'!yarn-error.log',
'!yarn.lock',
'!gulpfile.js'
]),
zip(filename),
dest('dist/')
], handleError(done));
}
const cssWatcher = () => watch('assets/css/**', css);
const jsWatcher = () => watch('assets/js/**', js);
const hbsWatcher = () => watch(['*.hbs', 'partials/**/*.hbs'], hbs);
const watcher = parallel(cssWatcher, jsWatcher, hbsWatcher);
const build = series(css, js);
exports.build = build;
exports.zip = series(build, zipper);
exports.default = series(build, serve, watcher);
exports.release = async () => {
// @NOTE: https://yarnpkg.com/lang/en/docs/cli/version/
// require(./package.json) can run into caching issues, this re-reads from file everytime on release
let packageJSON = JSON.parse(fs.readFileSync('./package.json'));
const newVersion = packageJSON.version;
if (!newVersion || newVersion === '') {
console.log(`Invalid version: ${newVersion}`);
return;
}
console.log(`\nCreating release for ${newVersion}...`);
const githubToken = process.env.GST_TOKEN;
if (!githubToken) {
console.log('Please configure your environment with a GitHub token located in GST_TOKEN');
return;
}
try {
const result = await inquirer.prompt([{
type: 'input',
name: 'compatibleWithGhost',
message: 'Which version of Ghost is it compatible with?',
default: '5.0.0'
}]);
const compatibleWithGhost = result.compatibleWithGhost;
const releasesResponse = await releaseUtils.releases.get({
userAgent: 'Casper',
uri: `https://api.github.com/repos/${REPO_READONLY}/releases`
});
if (!releasesResponse || !releasesResponse) {
console.log('No releases found. Skipping...');
return;
}
let previousVersion = releasesResponse[0].tag_name || releasesResponse[0].name;
console.log(`Previous version: ${previousVersion}`);
const changelog = new releaseUtils.Changelog({
changelogPath: CHANGELOG_PATH,
folder: path.join(process.cwd(), '.')
});
changelog
.write({
githubRepoPath: `https://github.com/${REPO}`,
lastVersion: previousVersion
})
.sort()
.clean();
const newReleaseResponse = await releaseUtils.releases.create({
draft: true,
preRelease: false,
tagName: 'v' + newVersion,
releaseName: newVersion,
userAgent: 'Casper',
uri: `https://api.github.com/repos/${REPO}/releases`,
github: {
token: githubToken
},
content: [`**Compatible with Ghost ≥ ${compatibleWithGhost}**\n\n`],
changelogPath: CHANGELOG_PATH
});
console.log(`\nRelease draft generated: ${newReleaseResponse.releaseUrl}\n`);
} catch (err) {
console.error(err);
process.exit(1);
}
};

View File

@ -1,25 +1,54 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{!-- The tag above means: insert everything in this file
into the {body} of the default.hbs template --}}
{{! The big featured header }}
<header class="main-header {{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix">
{{#if @blog.logo}}<a class="blog-logo" href="{{@blog.url}}"><img src="{{@blog.logo}}" alt="Blog Logo" /></a>{{/if}}
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
</nav>
<div class="vertical">
<div class="main-header-content inner">
<h1 class="page-title">{{@blog.title}}</h1>
<h2 class="page-description">{{@blog.description}}</h2>
<div class="site-header-content outer{{#match @custom.header_style "Left aligned"}} left-aligned{{/match}}{{#unless @custom.show_publication_cover}}{{#match @custom.header_style "Hidden"}} no-content{{/match}}{{/unless}}">
{{#if @custom.show_publication_cover}}
{{#if @site.cover_image}}
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img class="site-header-cover"
srcset="{{img_url @site.cover_image size="s"}} 300w,
{{img_url @site.cover_image size="m"}} 600w,
{{img_url @site.cover_image size="l"}} 1000w,
{{img_url @site.cover_image size="xl"}} 2000w"
sizes="100vw"
src="{{img_url @site.cover_image size="xl"}}"
alt="{{@site.title}}"
/>
{{/if}}
{{/if}}
{{#match @custom.header_style "!=" "Hidden"}}
<div class="site-header-inner inner">
{{#match @custom.navigation_layout "Logo on cover"}}
{{#if @site.logo}}
<img class="site-logo" src="{{@site.logo}}" alt="{{@site.title}}">
{{else}}
<h1 class="site-title">{{@site.title}}</h1>
{{/if}}
{{/match}}
{{#if @site.description}}
<p class="site-description">{{@site.description}}</p>
{{/if}}
</div>
{{/match}}
</div>
{{!-- The main content area --}}
<main id="site-main" class="site-main outer">
<div class="inner posts">
<div class="post-feed">
{{#foreach posts}}
{{!-- The tag below includes the markup for each post - partials/post-card.hbs --}}
{{> "post-card"}}
{{/foreach}}
</div>
<a class="scroll-down icon-arrow-left" href="#content" data-offset="-45"><span class="hidden">Scroll Down</span></a>
</header>
{{! The main content area on the homepage }}
<main id="content" class="content" role="main">
{{pagination}}
{{! The tag below includes the post loop - partials/loop.hbs }}
{{> "loop"}}
</main>
</div>
</main>

View File

@ -1,4 +1,179 @@
{
"name": "Casper",
"version": "1.1.3"
"name": "vivid-casper",
"description": "Minor tweaks from the default personal blogging theme for Ghost. Beautiful, minimal and responsive.",
"demo": "https://demo.ghost.io",
"version": "5.5.3",
"engines": {
"ghost": ">=5.0.0"
},
"license": "MIT",
"screenshots": {
"desktop": "assets/screenshot-desktop.jpg",
"mobile": "assets/screenshot-mobile.jpg"
},
"scripts": {
"dev": "gulp",
"zip": "gulp zip",
"test": "gscan .",
"test:ci": "gscan --fatal --verbose .",
"pretest": "gulp build",
"preship": "yarn test",
"ship": "STATUS=$(git status --porcelain); echo $STATUS; if [ -z \"$STATUS\" ]; then yarn version && git push --follow-tags; else echo \"Uncomitted changes found.\" && exit 1; fi",
"postship": "git fetch && gulp release"
},
"author": {
"name": "ViViDboarder",
"email": "vividboarder@gmail.com",
"url": "https://ghost.org"
},
"gpm": {
"type": "theme",
"categories": [
"Minimal",
"Magazine"
]
},
"keywords": [
"ghost",
"theme",
"ghost-theme"
],
"repository": {
"type": "git",
"url": "https://github.com/ViViDboarder/Casper.git"
},
"bugs": "https://github.com/ViViDboarder/Casper/issues",
"contributors": "https://github.com/ViViDboarder/Casper/graphs/contributors",
"devDependencies": {
"@tryghost/release-utils": "0.8.1",
"autoprefixer": "10.4.7",
"beeper": "2.1.0",
"cssnano": "5.1.12",
"gscan": "4.36.1",
"gulp": "4.0.2",
"gulp-concat": "2.6.1",
"gulp-livereload": "4.0.2",
"gulp-postcss": "9.0.1",
"gulp-uglify": "3.0.2",
"gulp-zip": "5.1.0",
"inquirer": "8.2.4",
"postcss": "8.2.13",
"postcss-color-mod-function": "3.0.3",
"postcss-easy-import": "4.0.0",
"pump": "3.0.0"
},
"browserslist": [
"defaults"
],
"config": {
"posts_per_page": 25,
"image_sizes": {
"xxs": {
"width": 30
},
"xs": {
"width": 100
},
"s": {
"width": 300
},
"m": {
"width": 600
},
"l": {
"width": 1000
},
"xl": {
"width": 2000
}
},
"card_assets": true,
"custom": {
"navigation_layout": {
"type": "select",
"options": [
"Logo on cover",
"Logo in the middle",
"Stacked"
],
"default": "Logo on cover"
},
"title_font": {
"type": "select",
"options": [
"Modern sans-serif",
"Elegant serif"
],
"default": "Modern sans-serif"
},
"body_font": {
"type": "select",
"options": [
"Modern sans-serif",
"Elegant serif"
],
"default": "Elegant serif"
},
"show_publication_cover": {
"type": "boolean",
"default": true,
"group": "homepage"
},
"header_style": {
"type": "select",
"options": [
"Center aligned",
"Left aligned",
"Hidden"
],
"default": "Center aligned",
"group": "homepage"
},
"feed_layout": {
"type": "select",
"options": [
"Classic",
"Grid",
"List"
],
"default": "Classic",
"group": "homepage"
},
"color_scheme": {
"type": "select",
"options": [
"Light",
"Dark",
"Auto"
],
"default": "Light"
},
"post_image_style": {
"type": "select",
"options": [
"Wide",
"Full",
"Small",
"Hidden"
],
"default": "Wide",
"group": "post"
},
"email_signup_text": {
"type": "text",
"default": "Sign up for more like this.",
"group": "post"
},
"show_recent_posts_footer": {
"type": "boolean",
"default": true,
"group": "post"
}
}
},
"renovate": {
"extends": [
"@tryghost:theme"
]
}
}

View File

@ -1,32 +1,47 @@
{{!< default}}
{{! This is a page template. A page outputs content just like any other post, and has all the same
attributes by default, but you can also customise it to behave differently if you prefer. }}
{{!-- The tag above means: insert everything in this file
into the {body} tag of the default.hbs template --}}
{{! Everything inside the #post tags pulls data from the page }}
{{#post}}
{{!-- Everything inside the #post block pulls data from the page --}}
<header class="main-header post-head {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}">
<nav class="main-nav {{#if image}}overlay{{/if}} clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
</nav>
</header>
<main id="site-main" class="site-main">
<article class="article {{post_class}}">
<main class="content" role="main">
{{#if show_title_and_feature_image}}
<header class="article-header gh-canvas">
<article class="{{post_class}}">
{{! Everything inside the #post tags pulls data from the post }}
<h1 class="article-title">{{title}}</h1>
{{#if feature_image}}
<figure class="article-image">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img
srcset="{{img_url feature_image size="s"}} 300w,
{{img_url feature_image size="m"}} 600w,
{{img_url feature_image size="l"}} 1000w,
{{img_url feature_image size="xl"}} 2000w"
sizes="(min-width: 1400px) 1400px, 92vw"
src="{{img_url feature_image size="xl"}}"
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
/>
{{#if feature_image_caption}}
<figcaption>{{feature_image_caption}}</figcaption>
{{/if}}
</figure>
{{/if}}
<header class="post-header">
<h1 class="post-title">{{title}}</h1>
</header>
{{/if}}
<section class="post-content">
{{content}}
</section>
</article>
<section class="gh-content gh-canvas">
{{content}}
</section>
</article>
</main>
{{/post}}
{{/post}}

View File

@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M3.513 18.998C4.749 15.504 8.082 13 12 13s7.251 2.504 8.487 5.998C18.47 21.442 15.417 23 12 23s-6.47-1.558-8.487-4.002zM12 12c2.21 0 4-2.79 4-5s-1.79-4-4-4-4 1.79-4 4 1.79 5 4 5z" fill="#FFF"/></g></svg>

After

Width:  |  Height:  |  Size: 308 B

View File

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M23.9981 11.9991C23.9981 5.37216 18.626 0 11.9991 0C5.37216 0 0 5.37216 0 11.9991C0 17.9882 4.38789 22.9522 10.1242 23.8524V15.4676H7.07758V11.9991H10.1242V9.35553C10.1242 6.34826 11.9156 4.68714 14.6564 4.68714C15.9692 4.68714 17.3424 4.92149 17.3424 4.92149V7.87439H15.8294C14.3388 7.87439 13.8739 8.79933 13.8739 9.74824V11.9991H17.2018L16.6698 15.4676H13.8739V23.8524C19.6103 22.9522 23.9981 17.9882 23.9981 11.9991Z"/></svg>

After

Width:  |  Height:  |  Size: 531 B

3
partials/icons/fire.hbs Normal file
View File

@ -0,0 +1,3 @@
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.49365 4.58752C3.53115 6.03752 2.74365 7.70002 2.74365 9.25002C2.74365 10.6424 3.29678 11.9778 4.28134 12.9623C5.26591 13.9469 6.60127 14.5 7.99365 14.5C9.38604 14.5 10.7214 13.9469 11.706 12.9623C12.6905 11.9778 13.2437 10.6424 13.2437 9.25002C13.2437 6.00002 10.9937 3.50002 9.16865 1.68127L6.99365 6.25002L4.49365 4.58752Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>

After

Width:  |  Height:  |  Size: 538 B

11
partials/icons/loader.hbs Normal file
View File

@ -0,0 +1,11 @@
<svg version="1.1" id="loader-1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
<path opacity="0.2" fill="#000" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946
s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634
c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z" />
<path fill="#000" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0
C22.32,8.481,24.301,9.057,26.013,10.047z">
<animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20"
dur="0.5s" repeatCount="indefinite" />
</path>
</svg>

After

Width:  |  Height:  |  Size: 923 B

5
partials/icons/lock.hbs Normal file
View File

@ -0,0 +1,5 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.25 6.875H3.75C3.40482 6.875 3.125 7.15482 3.125 7.5V16.25C3.125 16.5952 3.40482 16.875 3.75 16.875H16.25C16.5952 16.875 16.875 16.5952 16.875 16.25V7.5C16.875 7.15482 16.5952 6.875 16.25 6.875Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M7.1875 6.875V4.0625C7.1875 3.31658 7.48382 2.60121 8.01126 2.07376C8.53871 1.54632 9.25408 1.25 10 1.25C10.7459 1.25 11.4613 1.54632 11.9887 2.07376C12.5162 2.60121 12.8125 3.31658 12.8125 4.0625V6.875" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
<path d="M10 13.125C10.6904 13.125 11.25 12.5654 11.25 11.875C11.25 11.1846 10.6904 10.625 10 10.625C9.30964 10.625 8.75 11.1846 8.75 11.875C8.75 12.5654 9.30964 13.125 10 13.125Z" fill="currentColor"></path>
</svg>

After

Width:  |  Height:  |  Size: 932 B

1
partials/icons/rss.hbs Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="6.18" cy="17.82" r="2.18"/><path d="M4 4.44v2.83c7.03 0 12.73 5.7 12.73 12.73h2.83c0-8.59-6.97-15.56-15.56-15.56zm0 5.66v2.83c3.9 0 7.07 3.17 7.07 7.07h2.83c0-5.47-4.43-9.9-9.9-9.9z"/></svg>

After

Width:  |  Height:  |  Size: 263 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width="20" height="20"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>

After

Width:  |  Height:  |  Size: 248 B

View File

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>

After

Width:  |  Height:  |  Size: 752 B

View File

@ -1,25 +0,0 @@
{{! Previous/next page links - only displayed on page 2+ }}
<div class="extra-pagination inner">
{{pagination}}
</div>
{{! This is the post loop - each post will be output using this markup }}
{{#foreach posts}}
<article class="{{post_class}}">
<header class="post-header">
<h2 class="post-title"><a href="{{url}}">{{{title}}}</a></h2>
</header>
<section class="post-excerpt">
<p>{{excerpt words="26"}} <a class="read-more" href="{{url}}">&raquo;</a></p>
</section>
<footer class="post-meta">
{{#if author.image}}<img class="author-thumb" src="{{author.image}}" alt="Author image" nopin="nopin" />{{/if}}
{{author}}
{{tags prefix=" on "}}
<time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
</footer>
</article>
{{/foreach}}
{{! Previous/next page links - displayed on every page }}
{{pagination}}

78
partials/post-card.hbs Normal file
View File

@ -0,0 +1,78 @@
{{!-- This is a partial file used to generate a post "card"
which templates loop over to generate a list of posts. --}}
<article class="post-card {{post_class}}{{#match @custom.feed_layout "Classic"}}{{#is "home"}}{{#has index="0"}} post-card-large{{/has}}{{#has index="1,2"}} dynamic{{/has}}{{/is}}{{/match}}{{#match @custom.feed_layout "Grid"}} keep-ratio{{/match}}{{#match @custom.feed_layout "List"}}{{#is "home, paged"}} post-card-large{{/is}}{{/match}}{{#unless access}} post-access-{{visibility}}{{/unless}}">
{{#if feature_image}}
<a class="post-card-image-link" href="{{url}}">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img class="post-card-image"
srcset="{{img_url feature_image size="s"}} 300w,
{{img_url feature_image size="m"}} 600w,
{{img_url feature_image size="l"}} 1000w,
{{img_url feature_image size="xl"}} 2000w"
sizes="(max-width: 1000px) 400px, 800px"
src="{{img_url feature_image size="m"}}"
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
loading="lazy"
/>
{{#unless access}}
{{^has visibility="public"}}
<div class="post-card-access">
{{> "icons/lock"}}
{{#has visibility="members"}}
Members only
{{else}}
Paid-members only
{{/has}}
</div>
{{/has}}
{{/unless}}
</a>
{{/if}}
<div class="post-card-content">
<a class="post-card-content-link" href="{{url}}">
<header class="post-card-header">
<div class="post-card-tags">
{{#primary_tag}}
<span class="post-card-primary-tag">{{name}}</span>
{{/primary_tag}}
{{#if featured}}
<span class="post-card-featured">{{> "icons/fire"}} Featured</span>
{{/if}}
</div>
<h2 class="post-card-title">
{{#unless access}}
{{^has visibility="public"}}
{{#unless feature_image}}
{{> "icons/lock"}}
{{/unless}}
{{/has}}
{{/unless}}
{{title}}
</h2>
</header>
{{#if excerpt}}
<div class="post-card-excerpt">{{excerpt}}</div>
{{/if}}
</a>
<footer class="post-card-meta">
<time class="post-card-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
{{#if reading_time}}
<span class="post-card-meta-length">{{reading_time}}</span>
{{/if}}
{{#if @site.comments_enabled}}
{{comment_count}}
{{/if}}
</footer>
</div>
</article>

184
post.hbs
View File

@ -1,80 +1,140 @@
{{!< default}}
{{! The comment above "< default" means - insert everything in this file into
the {body} of the default.hbs template, which contains our header/footer. }}
{{!-- The tag above means: insert everything in this file
into the {body} tag of the default.hbs template --}}
{{! Everything inside the #post tags pulls data from the post }}
{{#post}}
{{!-- Everything inside the #post block pulls data from the post --}}
<header class="main-header post-head {{#if image}}" style="background-image: url({{image}}){{else}}no-cover{{/if}}">
<nav class="main-nav {{#if image}}overlay{{/if}} clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/rss/">Subscribe</a>
</nav>
</header>
<main id="site-main" class="site-main">
<article class="article {{post_class}} {{#match @custom.post_image_style "Full"}}image-full{{else match @custom.post_image_style "=" "Small"}}image-small{{/match}}">
<main class="content" role="main">
<header class="article-header gh-canvas">
<article class="{{post_class}}">
<header class="post-header">
<h1 class="post-title">{{title}}</h1>
<section class="post-meta">
<time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time> {{tags prefix=" on "}}
</section>
</header>
<section class="post-content">
{{content}}
</section>
<footer class="post-footer">
{{! Everything inside the #author tags pulls data from the author }}
{{#author}}
{{#if image}}
<figure class="author-image">
<a class="img" href="{{url}}" style="background-image: url({{image}})"><span class="hidden">{{name}}'s Picture</span></a>
</figure>
<div class="article-tag post-card-tags">
{{#primary_tag}}
<span class="post-card-primary-tag">
<a href="{{url}}">{{name}}</a>
</span>
{{/primary_tag}}
{{#if featured}}
<span class="post-card-featured">{{> "icons/fire"}} Featured</span>
{{/if}}
</div>
<section class="author">
<h4><a href="{{url}}">{{name}}</a></h4>
<h1 class="article-title">{{title}}</h1>
{{#if bio}}
<p>{{bio}}</p>
{{else}}
<p>Read <a href="{{url}}">more posts</a> by this author.</p>
{{/if}}
<div class="author-meta">
{{#if location}}<span class="author-location icon-location">{{location}}</span>{{/if}}
{{#if website}}<span class="author-link icon-link"><a href="{{website}}">{{website}}</a></span>{{/if}}
{{#if custom_excerpt}}
<p class="article-excerpt">{{custom_excerpt}}</p>
{{/if}}
<div class="article-byline">
<section class="article-byline-content">
<ul class="author-list">
{{#foreach authors}}
<li class="author-list-item">
{{#if profile_image}}
<a href="{{url}}" class="author-avatar">
<img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
</a>
{{else}}
<a href="{{url}}" class="author-avatar author-profile-image">{{> "icons/avatar"}}</a>
{{/if}}
</li>
{{/foreach}}
</ul>
<div class="article-byline-meta">
<h4 class="author-name">{{authors}}</h4>
<div class="byline-meta-content">
<time class="byline-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
{{#if reading_time}}
<span class="byline-reading-time"><span class="bull">&bull;</span> {{reading_time}}</span>
{{/if}}
</div>
</section>
</div>
{{/author}}
</section>
</div>
<section class="share">
<h4>Share this post</h4>
<a class="icon-twitter" href="https://twitter.com/share?text={{encode title}}&amp;url={{url absolute="true"}}"
onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
<span class="hidden">Twitter</span>
</a>
<a class="icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{url absolute="true"}}"
onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
<span class="hidden">Facebook</span>
</a>
<a class="icon-google-plus" href="https://plus.google.com/share?url={{url absolute="true"}}"
onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;">
<span class="hidden">Google+</span>
</a>
</section>
{{#match @custom.post_image_style "!=" "Hidden"}}
{{#if feature_image}}
<figure class="article-image">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img
srcset="{{img_url feature_image size="s"}} 300w,
{{img_url feature_image size="m"}} 600w,
{{img_url feature_image size="l"}} 1000w,
{{img_url feature_image size="xl"}} 2000w"
sizes="(min-width: 1400px) 1400px, 92vw"
src="{{img_url feature_image size="xl"}}"
alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
/>
{{#if feature_image_caption}}
<figcaption>{{feature_image_caption}}</figcaption>
{{/if}}
</figure>
{{/if}}
{{/match}}
</footer>
</header>
</article>
<section class="gh-content gh-canvas">
{{content}}
</section>
{{#if comments}}
<section class="article-comments gh-canvas">
{{comments}}
</section>
{{/if}}
</article>
</main>
{{/post}}
{{!-- A signup call to action is displayed here, unless viewed as a logged-in member --}}
{{#if @site.members_enabled}}
{{#unless @member}}
{{#unless @site.comments_enabled}}
{{#if access}}
<section class="footer-cta outer">
<div class="inner">
{{#if @custom.email_signup_text}}<h2 class="footer-cta-title">{{@custom.email_signup_text}}</h2>{{/if}}
<a class="footer-cta-button" href="#/portal" data-portal>
<div class="footer-cta-input">Enter your email</div>
<span>Subscribe</span>
</a>
</div>
</section>
{{/if}}
{{/unless}}
{{/unless}}
{{/if}}
{{!-- Read more links, just above the footer --}}
{{#if @custom.show_recent_posts_footer}}
{{!-- The {#get} helper below fetches some of the latest posts here
so that people have something else to read when they finish this one.
This query gets the latest 3 posts on the site, but adds a filter to
exclude the post we're currently on from being included. --}}
{{#get "posts" filter="id:-{{id}}" limit="3" as |more_posts|}}
{{#if more_posts}}
<aside class="read-more-wrap outer">
<div class="read-more inner">
{{#foreach more_posts}}
{{> "post-card"}}
{{/foreach}}
</div>
</aside>
{{/if}}
{{/get}}
{{/if}}
{{/post}}

71
tag.hbs
View File

@ -1,24 +1,55 @@
{{!< default}}
{{! The tag above means - insert everything in this file into the {body} of the default.hbs template }}
{{!-- The tag above means - insert everything in this file into the {body} of the default.hbs template --}}
<main id="site-main" class="site-main outer">
<div class="inner posts">
<div class="post-feed">
{{#tag}}
<section class="post-card post-card-large">
{{#if feature_image}}
<div class="post-card-image-link">
{{!-- This is a responsive image, it loads different sizes depending on device
https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
<img class="post-card-image"
srcset="{{img_url feature_image size="s"}} 300w,
{{img_url feature_image size="m"}} 600w,
{{img_url feature_image size="l"}} 1000w,
{{img_url feature_image size="xl"}} 2000w"
sizes="(max-width: 1000px) 400px, 800px"
src="{{img_url feature_image size="m"}}"
alt="{{title}}"
/>
</div>
{{/if}}
<div class="post-card-content">
<div class="post-card-content-link">
<header class="post-card-header">
<h2 class="post-card-title">{{name}}</h2>
</header>
<div class="post-card-excerpt">
{{#if description}}
{{description}}
{{else}}
A collection of {{plural ../pagination.total empty='zero posts' singular='% post' plural='% posts'}}
{{/if}}
</div>
</div>
</div>
</section>
{{/tag}}
{{#foreach posts}}
{{!-- The tag below includes the markup for each post - partials/post-card.hbs --}}
{{> "post-card"}}
{{/foreach}}
{{! The big featured header }}
<header class="main-header tag-head {{#if @blog.cover}}" style="background-image: url({{@blog.cover}}){{else}}no-cover{{/if}}">
<nav class="main-nav overlay clearfix">
<a class="back-button icon-arrow-left" href="{{@blog.url}}">Home</a>
<a class="subscribe-button icon-feed" href="{{@blog.url}}/tag/{{tag.slug}}/rss/">{{tag.name}}</a>
</nav>
<div class="vertical">
<div class="main-header-content inner">
<h1 class="page-title">{{tag.name}}</h1>
<h2 class="page-description">A {{pagination.total}}-post collection</h2>
</div>
</div>
</header>
{{! The main content area on the homepage }}
<main class="content" role="main">
{{! The tag below includes the post loop - partials/loop.hbs }}
{{> "loop"}}
</main>
{{pagination}}
</div>
</main>

5638
yarn.lock Normal file

File diff suppressed because it is too large Load Diff