jekyll-postcss-v2 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +79 -1
- data/lib/jekyll-postcss-v2/hook.rb +9 -6
- data/lib/jekyll-postcss-v2/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 355465f0a7ff03775c701327324d28f839e9eb999ab0521db78e5a8b91c3c734
|
4
|
+
data.tar.gz: 046316cee00e8d4e1643f14b866a9ab173e518ab960d25ee27ab4cba7fae03c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97ed7678e2fb27bc61432d5c75ccaa639d344d1ca1242e9a1e80334b841d52d1fe97101bf0e6d3ad9ba880a3386d830653983b84cf3faf6e5f7be79d19f057ee
|
7
|
+
data.tar.gz: d661c419ab3fd622ed8eb4cae573448bd90858913b3ea37e64e2c54bc655e2f832e74eb75f5fbc240843b13891e1a85795f7cbb46297cdbc78455f2bbac63b32
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -27,13 +27,91 @@ plugins:
|
|
27
27
|
|
28
28
|
_In your jekyll source directory:_
|
29
29
|
```bash
|
30
|
-
npm i
|
30
|
+
npm i postcss postcss-cli
|
31
31
|
```
|
32
32
|
|
33
|
+
Also install any postcss plugins you wish to use. For example, [fluidvars](https://github.com/bglw/postcss-fluidvars), [autoprefixer](https://github.com/postcss/autoprefixer), [cssnano](https://cssnano.co/) etc.
|
34
|
+
|
33
35
|
## Usage
|
34
36
|
|
35
37
|
Configure your `postcss.config.js` file in your jekyll source directory.
|
36
38
|
|
39
|
+
## Configuration
|
40
|
+
|
41
|
+
This plugin will try and locate Postcss automatically. If this fails, you can specify locations in the `_config.yml` file of your site:
|
42
|
+
```yml
|
43
|
+
postcss:
|
44
|
+
script: node_modules/.bin/postcss
|
45
|
+
config: postcss.config.js
|
46
|
+
```
|
47
|
+
|
48
|
+
## Deployment
|
49
|
+
|
50
|
+
No extra configuration is required for deployment on platforms like [CloudCannon](https://cloudcannon.com/) which support custom plugins.
|
51
|
+
|
52
|
+
Please note that this plugin isn't supported by [GitHub Pages](https://pages.github.com/).
|
53
|
+
To host on GitHub Pages and use this plugin, use GitHub Actions to build and deploy your website.
|
54
|
+
|
55
|
+
To do that, you need to specify a workflow inside the `.github/workflows` of your repository for your build process. This could look like the following:
|
56
|
+
|
57
|
+
```yml
|
58
|
+
name: Jekyll Deploy
|
59
|
+
|
60
|
+
on:
|
61
|
+
schedule:
|
62
|
+
# run daily at 05:30
|
63
|
+
- cron: '30 5 * * *'
|
64
|
+
push:
|
65
|
+
branches:
|
66
|
+
- main
|
67
|
+
paths-ignore:
|
68
|
+
- 'Gemfile'
|
69
|
+
- 'README.md'
|
70
|
+
- 'LICENSE.md'
|
71
|
+
|
72
|
+
# Build site using jekyll
|
73
|
+
jobs:
|
74
|
+
jekyll:
|
75
|
+
runs-on: ubuntu-latest
|
76
|
+
steps:
|
77
|
+
# checkout code
|
78
|
+
- uses: actions/checkout@v2
|
79
|
+
# Use ruby/setup-ruby to shorten build times
|
80
|
+
# https://github.com/ruby/setup-ruby
|
81
|
+
- uses: ruby/setup-ruby@v1
|
82
|
+
with:
|
83
|
+
ruby-version: 2.7 # Not needed with a .ruby-version file
|
84
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
85
|
+
# Install Node as this is needed for PostCSS
|
86
|
+
- name: Setup Node
|
87
|
+
uses: actions/setup-node@v2
|
88
|
+
with:
|
89
|
+
node-version: '14'
|
90
|
+
# Install PostCSS plugins (from your package.json)
|
91
|
+
- run: npm install
|
92
|
+
- name: Build site
|
93
|
+
# use jekyll-action-ts to build
|
94
|
+
# https://github.com/limjh16/jekyll-action-ts
|
95
|
+
uses: limjh16/jekyll-action-ts@v2
|
96
|
+
with:
|
97
|
+
enable_cache: true
|
98
|
+
# custom_opts: '--verbose --trace' #'--drafts --future'
|
99
|
+
### If you need to specify any Jekyll build options, enable the above input
|
100
|
+
### Flags accepted can be found here https://jekyllrb.com/docs/configuration/options/#build-command-options
|
101
|
+
# use actions-gh-pages to deploy
|
102
|
+
# https://github.com/peaceiris/actions-gh-pages
|
103
|
+
- name: Deploy
|
104
|
+
uses: peaceiris/actions-gh-pages@v3
|
105
|
+
with:
|
106
|
+
# GITHUB_TOKEN secret is set up automatically
|
107
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
108
|
+
publish_dir: ./_site
|
109
|
+
```
|
110
|
+
|
111
|
+
See:
|
112
|
+
|
113
|
+
- https://github.com/limjh16/jekyll-action-ts/ for more details about the GitHub Action compiling your site.
|
114
|
+
|
37
115
|
## Why v2?
|
38
116
|
- Better logging to help catch when things aren't running
|
39
117
|
- Processes the output file on disk, skipping the need to parse Sass
|
@@ -4,9 +4,9 @@ require "pathname"
|
|
4
4
|
|
5
5
|
module PostCssV2
|
6
6
|
class Engine
|
7
|
-
def initialize(source)
|
8
|
-
@script =
|
9
|
-
unless
|
7
|
+
def initialize(source, options = {})
|
8
|
+
@script = File.expand_path(options[:script] || 'node_modules/.bin/postcss', source)
|
9
|
+
unless File.exist?(@script)
|
10
10
|
Jekyll.logger.error "PostCSS v2:",
|
11
11
|
"PostCSS not found.
|
12
12
|
Make sure postcss and postcss-cli
|
@@ -16,8 +16,8 @@ module PostCssV2
|
|
16
16
|
exit 1
|
17
17
|
end
|
18
18
|
|
19
|
-
@config =
|
20
|
-
unless
|
19
|
+
@config = File.expand_path(options[:config] || 'postcss.config.js', source)
|
20
|
+
unless File.exist?(@config)
|
21
21
|
Jekyll.logger.error "PostCSS v2:",
|
22
22
|
"postcss.config.js not found.
|
23
23
|
Make sure it exists in your Jekyll source."
|
@@ -38,7 +38,10 @@ end
|
|
38
38
|
|
39
39
|
Jekyll::Hooks.register :pages, :post_write do |page|
|
40
40
|
if %r!\.css$! =~ page.url
|
41
|
-
engine = PostCssV2::Engine.new(page.site.source
|
41
|
+
engine = PostCssV2::Engine.new(page.site.source, {
|
42
|
+
script: page.site.config.dig('postcss', 'script'),
|
43
|
+
config: page.site.config.dig('postcss', 'config'),
|
44
|
+
})
|
42
45
|
engine.process(page)
|
43
46
|
end
|
44
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-postcss-v2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Liam Bigelow
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -89,6 +89,7 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- ".gitignore"
|
91
91
|
- ".rubocop.yml"
|
92
|
+
- CHANGELOG.md
|
92
93
|
- Gemfile
|
93
94
|
- README.md
|
94
95
|
- Rakefile
|
@@ -102,7 +103,7 @@ licenses:
|
|
102
103
|
metadata:
|
103
104
|
homepage_uri: https://github.com/bglw/jekyll-postcss-v2
|
104
105
|
source_code_uri: https://github.com/bglw/jekyll-postcss-v2
|
105
|
-
post_install_message:
|
106
|
+
post_install_message:
|
106
107
|
rdoc_options: []
|
107
108
|
require_paths:
|
108
109
|
- lib
|
@@ -117,8 +118,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
118
|
- !ruby/object:Gem::Version
|
118
119
|
version: '0'
|
119
120
|
requirements: []
|
120
|
-
rubygems_version: 3.
|
121
|
-
signing_key:
|
121
|
+
rubygems_version: 3.1.6
|
122
|
+
signing_key:
|
122
123
|
specification_version: 4
|
123
124
|
summary: Straight up PostCSS for Jekyll.
|
124
125
|
test_files: []
|