bridgetown-plausible 1.0.0
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 +7 -0
- data/.github/CODEOWNERS +1 -0
- data/.github/CONTRIBUTING.md +87 -0
- data/.github/FUNDING.yml +12 -0
- data/.github/media/logo.svg +4 -0
- data/.github/workflows/lint.yml +25 -0
- data/.github/workflows/release.yml +40 -0
- data/.github/workflows/test.yml +27 -0
- data/.gitignore +39 -0
- data/.rspec +3 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +109 -0
- data/Rakefile +8 -0
- data/bin/format +5 -0
- data/bin/lint +5 -0
- data/bin/rspec +29 -0
- data/bin/standardrb +29 -0
- data/bin/test +4 -0
- data/bridgetown-plausible.gemspec +33 -0
- data/bridgetown.automation.rb +16 -0
- data/demo/Gemfile +22 -0
- data/demo/bridgetown.config.yml +30 -0
- data/demo/plugins/builders/.keep +0 -0
- data/demo/plugins/site_builder.rb +4 -0
- data/demo/src/404.html +9 -0
- data/demo/src/_data/site_metadata.yml +11 -0
- data/demo/src/_layouts/default.liquid +26 -0
- data/demo/src/erb.erb +17 -0
- data/demo/src/favicon.ico +0 -0
- data/demo/src/index.md +6 -0
- data/demo/src/liquid.md +18 -0
- data/lib/bridgetown-plausible.rb +4 -0
- data/lib/bridgetown-plausible/builder.rb +48 -0
- data/lib/bridgetown-plausible/version.rb +7 -0
- metadata +173 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f54817eaa2b2ad905d097e39de9d9b5873ea1e4d5e50d062ad56e2fd2ce45453
|
4
|
+
data.tar.gz: 83e01a576a483bb8b301bd09eda48b6812d6be6a389987b70ce36813b06c5db1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d11cf27fe5ce1cb4a1b8109bed8c3397093c14eba0712b23621fbbe44e38ac37918eb57a1167ebf90cf0e80038d927339991789e791ad94fe3572bb63e0b284d
|
7
|
+
data.tar.gz: 1a80df0ff019b264cb43b0532477e96ed42e35e0e17a9f888950a88615d053f0a6b18b3b73c610b3fb3504a62bc841964d97852da338c5995ee5c3fd7a4db8ce
|
data/.github/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
. @andrewmcodes
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# Contributing Guide
|
2
|
+
|
3
|
+
Thanks for being willing to contribute!
|
4
|
+
|
5
|
+
- [Contributing Guide](#contributing-guide)
|
6
|
+
- [Commit Message Convention](#commit-message-convention)
|
7
|
+
- [Project setup](#project-setup)
|
8
|
+
- [Tests](#tests)
|
9
|
+
- [Style](#style)
|
10
|
+
- [Run Demo](#run-demo)
|
11
|
+
- [Help needed](#help-needed)
|
12
|
+
|
13
|
+
## Commit Message Convention
|
14
|
+
|
15
|
+
Commits should follow the [Conventional Commits spec](https://conventionalcommits.org/).
|
16
|
+
|
17
|
+
## Project setup
|
18
|
+
|
19
|
+
1. Fork and clone the repo
|
20
|
+
2. `bundle install` to install dependencies
|
21
|
+
3. Create a branch for your PR
|
22
|
+
|
23
|
+
> Tip: Keep your `main` branch pointing at the original repository and make
|
24
|
+
> pull requests from branches on your fork. To do this, run:
|
25
|
+
>
|
26
|
+
> ```
|
27
|
+
> git remote add upstream https://github.com/bt-rb/this-project
|
28
|
+
> git fetch upstream
|
29
|
+
> git branch --set-upstream-to=upstream/main main
|
30
|
+
> ```
|
31
|
+
>
|
32
|
+
> This will add the original repository as a "remote" called "upstream," Then
|
33
|
+
> fetch the git information from that remote, then set your local `main`
|
34
|
+
> branch to use the upstream main branch whenever you run `git pull`. Then you
|
35
|
+
> can make all of your pull request branches based on this `main` branch.
|
36
|
+
> Whenever you want to update your version of `main`, do a regular `git pull`.
|
37
|
+
|
38
|
+
## Tests
|
39
|
+
|
40
|
+
Run the tests:
|
41
|
+
|
42
|
+
```sh
|
43
|
+
rake
|
44
|
+
```
|
45
|
+
|
46
|
+
## Style
|
47
|
+
|
48
|
+
Run the linter:
|
49
|
+
|
50
|
+
```sh
|
51
|
+
bin/lint
|
52
|
+
```
|
53
|
+
|
54
|
+
Run the formatter:
|
55
|
+
|
56
|
+
```sh
|
57
|
+
bin/format
|
58
|
+
```
|
59
|
+
|
60
|
+
## Run Demo
|
61
|
+
|
62
|
+
```sh
|
63
|
+
cd demo
|
64
|
+
bundle
|
65
|
+
bundle exec bridgetown serve
|
66
|
+
```
|
67
|
+
|
68
|
+
Open up [localhost:4000](http://localhost:4000) in your browser.
|
69
|
+
|
70
|
+
## Release
|
71
|
+
|
72
|
+
Releases are handled automatically via GitHub Actions.
|
73
|
+
|
74
|
+
Release locally:
|
75
|
+
|
76
|
+
```sh
|
77
|
+
rake release
|
78
|
+
```
|
79
|
+
|
80
|
+
## Help needed
|
81
|
+
|
82
|
+
Please checkout the the open issues.
|
83
|
+
|
84
|
+
Also, please watch the repo and respond to questions/bug reports/feature
|
85
|
+
requests!
|
86
|
+
|
87
|
+
Thanks!
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# These are supported funding model platforms
|
2
|
+
|
3
|
+
github: andrewmcodes
|
4
|
+
# patreon: # Replace with a single Patreon username
|
5
|
+
# open_collective: # Replace with a single Open Collective username
|
6
|
+
# ko_fi: # Replace with a single Ko-fi username
|
7
|
+
# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
8
|
+
# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
9
|
+
# liberapay: # Replace with a single Liberapay username
|
10
|
+
# issuehunt: # Replace with a single IssueHunt username
|
11
|
+
# otechie: # Replace with a single Otechie username
|
12
|
+
# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg height="64" viewbox="0 0 64 64" width="64" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<g class="nc-icon-wrapper" fill="#2b57fe"><path d="M61,53c-0.6,0-1,0.4-1,1c0,3.9-3.1,7-7,7c-2.5,0-4.9-1.4-6.1-3.7c-0.3-0.6-1.4-0.6-1.8,0 C43.9,59.6,41.5,61,39,61s-4.9-1.4-6.1-3.7c-0.3-0.6-1.4-0.6-1.8,0C29.9,59.6,27.5,61,25,61s-4.9-1.4-6.1-3.7 c-0.3-0.6-1.4-0.6-1.8,0C15.9,59.6,13.5,61,11,61c-3.9,0-7-3.1-7-7c0-0.6-0.4-1-1-1c-0.6,0-1,0.4-1,1c0,5,4,9,9,9 c2.7,0,5.3-1.3,7-3.4c1.7,2.1,4.3,3.4,7,3.4c2.7,0,5.3-1.3,7-3.4c1.7,2.1,4.3,3.4,7,3.4c2.7,0,5.3-1.3,7-3.4c1.7,2.1,4.3,3.4,7,3.4 c5,0,9-4,9-9C62,53.4,61.6,53,61,53z" data-color="color-2"/>
|
3
|
+
<path d="M62,1h-8c-0.6,0-1,0.4-1,1v2c0,11.6-9.4,21-21,21c-11.6,0-21-9.4-21-21V2c0-0.6-0.4-1-1-1H2C1.4,1,1,1.4,1,2 v44c0,0.6,0.4,1,1,1h8c0.6,0,1-0.4,1-1v-3h42v3c0,0.6,0.4,1,1,1h8c0.6,0,1-0.4,1-1V2C63,1.4,62.6,1,62,1z M31,41h-8V25.2 c2.5,1.1,5.2,1.7,8,1.8V41z M33,27c2.8-0.1,5.5-0.8,8-1.8V41h-8V27z M11,13.4c2.1,4.6,5.6,8.4,10,10.8V41H11V13.4z M43,41V24.2 c4.4-2.4,7.9-6.2,10-10.8V41H43z" fill="#2b57fe"/></g>
|
4
|
+
</svg>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name: Lint
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- "*"
|
7
|
+
push:
|
8
|
+
branches:
|
9
|
+
- main
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
lint:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v2
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 3.0.0
|
21
|
+
- name: Run bin/lint
|
22
|
+
run: |
|
23
|
+
gem install bundler -v 2.2.7
|
24
|
+
bundle install
|
25
|
+
bin/lint
|
@@ -0,0 +1,40 @@
|
|
1
|
+
name: Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
jobs:
|
8
|
+
release-please:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- uses: GoogleCloudPlatform/release-please-action@v2
|
12
|
+
id: release
|
13
|
+
with:
|
14
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
15
|
+
release-type: ruby
|
16
|
+
package-name: gem-release-demo
|
17
|
+
bump-minor-pre-major: true
|
18
|
+
version-file: "lib/bridgetown-plausible/version.rb"
|
19
|
+
- uses: actions/checkout@v2
|
20
|
+
if: ${{ steps.release.outputs.release_created }}
|
21
|
+
- uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: 3.0.0
|
24
|
+
if: ${{ steps.release.outputs.release_created }}
|
25
|
+
- run: |
|
26
|
+
gem install bundler -v 2.2.7
|
27
|
+
bundle install
|
28
|
+
bundle exec rake
|
29
|
+
if: ${{ steps.release.outputs.release_created }}
|
30
|
+
- name: release gem
|
31
|
+
run: |
|
32
|
+
mkdir -p $HOME/.gem
|
33
|
+
touch $HOME/.gem/credentials
|
34
|
+
chmod 0600 $HOME/.gem/credentials
|
35
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
36
|
+
gem build *.gemspec
|
37
|
+
gem push *.gem
|
38
|
+
env:
|
39
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
40
|
+
if: ${{ steps.release.outputs.release_created }}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
branches:
|
6
|
+
- "*"
|
7
|
+
push:
|
8
|
+
branches:
|
9
|
+
- main
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
lint:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v2
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 3.0.0
|
21
|
+
- name: Run specs
|
22
|
+
run: |
|
23
|
+
gem install bundler -v 2.2.7
|
24
|
+
bundle install
|
25
|
+
rake
|
26
|
+
env:
|
27
|
+
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
data/.gitignore
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
/vendor
|
2
|
+
/.bundle/
|
3
|
+
/.yardoc
|
4
|
+
/Gemfile.lock
|
5
|
+
/_yardoc/
|
6
|
+
/coverage/
|
7
|
+
/doc/
|
8
|
+
/pkg/
|
9
|
+
/spec/reports/
|
10
|
+
/tmp/
|
11
|
+
*.bundle
|
12
|
+
*.so
|
13
|
+
*.o
|
14
|
+
*.a
|
15
|
+
mkmf.log
|
16
|
+
*.gem
|
17
|
+
Gemfile.lock
|
18
|
+
.bundle
|
19
|
+
.ruby-version
|
20
|
+
|
21
|
+
# Node
|
22
|
+
node_modules
|
23
|
+
.npm
|
24
|
+
.node_repl_history
|
25
|
+
|
26
|
+
# Yarn
|
27
|
+
yarn-error.log
|
28
|
+
yarn-debug.log*
|
29
|
+
.pnp/
|
30
|
+
.pnp.js
|
31
|
+
|
32
|
+
# Yarn Integrity file
|
33
|
+
.yarn-integrity
|
34
|
+
|
35
|
+
spec/dest
|
36
|
+
.bridgetown-metadata
|
37
|
+
.bridgetown-cache
|
38
|
+
.bridgetown-webpack
|
39
|
+
output
|
data/.rspec
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 1.0.0 (2021-02-06)
|
4
|
+
|
5
|
+
|
6
|
+
### Bug Fixes
|
7
|
+
|
8
|
+
* correct logo url ([#1](https://www.github.com/bt-rb/bridgetown-plausible/issues/1)) ([22db435](https://www.github.com/bt-rb/bridgetown-plausible/commit/22db43569e90375c1895f20c232607a93f9bf023))
|
9
|
+
* correct test action name ([1d0526a](https://www.github.com/bt-rb/bridgetown-plausible/commit/1d0526a7eb1fe608dfba174b11b76490870d6dc2))
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2020-present Andrew Mason
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<a href="https://github.com/bt-rb" target="_blank" rel="noopener noreferrer">
|
3
|
+
<img src="https://github.com/bt-rb/bridgetown-plausible/blob/main/.github/media/logo.svg" width="100px">
|
4
|
+
</a>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<p align="center">
|
8
|
+
<a href="https://badge.fury.io/rb/bridgetown-plausible"><img src="https://badge.fury.io/rb/bridgetown-plausible.svg" alt="Gem Version" height="18"></a>
|
9
|
+
<img src="https://img.shields.io/github/license/bt-rb/.github">
|
10
|
+
<img src="https://github.com/bt-rb/bridgetown-plausible/workflows/Test/badge.svg" alt="test">
|
11
|
+
<img src="https://github.com/bt-rb/bridgetown-plausible/workflows/Lint/badge.svg" alt="lint">
|
12
|
+
<img src="https://github.com/bt-rb/bridgetown-plausible/workflows/Release/badge.svg" alt="release">
|
13
|
+
</p>
|
14
|
+
|
15
|
+
<h2 align="center">bridgetown-plausible</h2>
|
16
|
+
|
17
|
+
[Plausible](https://plausible.io) is a lightweight and open-source website analytics tool. It doesn’t use cookies and is fully compliant with GDPR, CCPA and PECR. This plugin is meant to remove all friction from adding your [Plausible Analytics tracking script code](https://docs.plausible.io/plausible-script) to your Bridgetown site.
|
18
|
+
|
19
|
+
## Table of contents
|
20
|
+
|
21
|
+
- [Table of contents](#table-of-contents)
|
22
|
+
- [Quickstart](#quickstart)
|
23
|
+
- [System requirements](#system-requirements)
|
24
|
+
- [Installation](#installation)
|
25
|
+
- [Configuration](#configuration)
|
26
|
+
- [Usage](#usage)
|
27
|
+
- [Liquid](#liquid)
|
28
|
+
- [ERB](#erb)
|
29
|
+
- [Changelog](#changelog)
|
30
|
+
- [Contribution](#contribution)
|
31
|
+
- [License](#license)
|
32
|
+
|
33
|
+
## Quickstart
|
34
|
+
|
35
|
+
Use the automation to add to your site:
|
36
|
+
|
37
|
+
```sh
|
38
|
+
bundle exec bridgetown apply https://github.com/btrb/bridgetown-plausible
|
39
|
+
```
|
40
|
+
|
41
|
+
## System requirements
|
42
|
+
|
43
|
+
- Ruby >= `2.5`
|
44
|
+
- Bundler
|
45
|
+
- Bridgetown >= `0.16`
|
46
|
+
|
47
|
+
## Installation
|
48
|
+
|
49
|
+
Automatically add to `Gemfile`:
|
50
|
+
|
51
|
+
```bash
|
52
|
+
bundle add bridgetown-plausible -g bridgetown_plugins
|
53
|
+
```
|
54
|
+
|
55
|
+
or add manually in `Gemfile`:
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
group :bridgetown_plugins do
|
59
|
+
gem "bridgetown-plausible", "~> 0.1.0"
|
60
|
+
end
|
61
|
+
```
|
62
|
+
|
63
|
+
Run `bundle install` and then modify your `bridgetown.config.yml` configuration to point to your Plausible domain.
|
64
|
+
|
65
|
+
## Configuration
|
66
|
+
|
67
|
+
```yml
|
68
|
+
# bridgetown.config.yml
|
69
|
+
|
70
|
+
plausible:
|
71
|
+
# Your Plausible domain.
|
72
|
+
# Note that this domain should not include www or https://
|
73
|
+
#
|
74
|
+
# Type: String
|
75
|
+
# Required: true
|
76
|
+
domain: example.com
|
77
|
+
```
|
78
|
+
|
79
|
+
## Usage
|
80
|
+
|
81
|
+
This plugin provides the `plausible` Liquid tag & ERB helper to your site. If `BRIDGETOWN_ENV` is not `production`, than the tag will be wrapped in an HTML comment to prevent console erros in development. Make sure you set `BRIDGETOWN_ENV="production"` when you deploy in your script or in Netlify/Vercel/etc.
|
82
|
+
|
83
|
+
Use the tag in the head of your document:
|
84
|
+
|
85
|
+
### Liquid
|
86
|
+
|
87
|
+
```liquid
|
88
|
+
{% plausible %}
|
89
|
+
```
|
90
|
+
|
91
|
+
### ERB
|
92
|
+
|
93
|
+
```erb
|
94
|
+
<%= plausible %>
|
95
|
+
```
|
96
|
+
|
97
|
+
## Changelog
|
98
|
+
|
99
|
+
Detailed changes for each release are documented in the [release notes](https://github.com/bt-rb/bridgetown-plausible/releases).
|
100
|
+
|
101
|
+
## Contribution
|
102
|
+
|
103
|
+
Please make sure to read the [Contributing Guide](.github/CONTRIBUTING.md) before making a pull request.
|
104
|
+
|
105
|
+
## License
|
106
|
+
|
107
|
+
[MIT](https://opensource.org/licenses/MIT)
|
108
|
+
|
109
|
+
Copyright (c) 2021-present, Andrew Mason
|
data/Rakefile
ADDED
data/bin/format
ADDED
data/bin/lint
ADDED
data/bin/rspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rspec' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rspec-core", "rspec")
|
data/bin/standardrb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'standardrb' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("standard", "standardrb")
|
data/bin/test
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/bridgetown-plausible/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "bridgetown-plausible"
|
7
|
+
spec.version = Bridgetown::Plausible::VERSION
|
8
|
+
spec.authors = ["Andrew Mason"]
|
9
|
+
spec.email = ["andrewmcodes@protonmail.com"]
|
10
|
+
spec.summary = "Plausible Analytics Plugin for Bridgetown"
|
11
|
+
spec.description = "A Liquid tag to add Plausible analytics to your site."
|
12
|
+
spec.homepage = "https://github.com/btrb/#{spec.name}"
|
13
|
+
spec.license = "MIT"
|
14
|
+
spec.metadata = {
|
15
|
+
"bug_tracker_uri" => "#{spec.homepage}/issues",
|
16
|
+
"changelog_uri" => "#{spec.homepage}/blob/main/CHANGELOG.md",
|
17
|
+
"documentation_uri" => spec.homepage.to_s,
|
18
|
+
"homepage_uri" => spec.homepage.to_s,
|
19
|
+
"source_code_uri" => spec.homepage.to_s
|
20
|
+
}
|
21
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|script|spec|features|frontend)/}) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^spec/})
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
25
|
+
|
26
|
+
spec.add_dependency "bridgetown", ">= 0.16", "< 2.0"
|
27
|
+
|
28
|
+
spec.add_development_dependency "bundler"
|
29
|
+
spec.add_development_dependency "nokogiri", "~> 1.6"
|
30
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
31
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
32
|
+
spec.add_development_dependency "standard", "~> 0.12"
|
33
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
say_status :plausible, "Installing the bridgetown-plausible-tag plugin..."
|
2
|
+
|
3
|
+
domain_name = ask("What's your Plausible domain?")
|
4
|
+
|
5
|
+
add_bridgetown_plugin "bridgetown-plausible-tag"
|
6
|
+
|
7
|
+
append_to_file "bridgetown.config.yml" do
|
8
|
+
<<~YAML
|
9
|
+
|
10
|
+
plausible:
|
11
|
+
domain: #{domain_name}
|
12
|
+
YAML
|
13
|
+
end
|
14
|
+
|
15
|
+
say_status :plausible, "All set! Double-check the plausible block in your config file and review docs at"
|
16
|
+
say_status :plausible, "https://github.com/andrewmcodes/bridgetown-plausible-tag"
|
data/demo/Gemfile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
+
|
4
|
+
# Hello! This is where you manage which Bridgetown version is used to run.
|
5
|
+
# When you want to use a different version, change it below, save the
|
6
|
+
# file and run `bundle install`. Run Bridgetown with `bundle exec`, like so:
|
7
|
+
#
|
8
|
+
# bundle exec bridgetown serve
|
9
|
+
#
|
10
|
+
# This will help ensure the proper Bridgetown version is running.
|
11
|
+
#
|
12
|
+
# To install a plugin, simply run bundle add and specify the group
|
13
|
+
# "bridgetown_plugins". For example:
|
14
|
+
#
|
15
|
+
# bundle add some-new-plugin -g bridgetown_plugins
|
16
|
+
#
|
17
|
+
# Happy Bridgetowning!
|
18
|
+
|
19
|
+
gem "bridgetown", "~> 0.19.2"
|
20
|
+
group :bridgetown_plugins do
|
21
|
+
gem "bridgetown-plausible", path: "../"
|
22
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Welcome to Bridgetown!
|
2
|
+
#
|
3
|
+
# This config file is for settings that affect your whole site, values
|
4
|
+
# which you are expected to set up once and rarely edit after that.
|
5
|
+
#
|
6
|
+
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
7
|
+
# 'bundle exec bridgetown serve'. If you change this file, please restart the
|
8
|
+
# server process.
|
9
|
+
#
|
10
|
+
# For reloadable site metadata like title, SEO description, social media
|
11
|
+
# handles, etc., take a look at src/_data/site_metadata.yml
|
12
|
+
#
|
13
|
+
# If you need help with YAML syntax, here are some quick references for you:
|
14
|
+
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
|
15
|
+
# https://learnxinyminutes.com/docs/yaml/
|
16
|
+
#
|
17
|
+
|
18
|
+
baseurl: "" # OPTIONAL: the subpath of your site, e.g. /blog
|
19
|
+
url: "" # the base hostname & protocol for your site, e.g. https://example.com
|
20
|
+
|
21
|
+
permalink: pretty
|
22
|
+
|
23
|
+
# timezone: America/Los_Angeles
|
24
|
+
plausible:
|
25
|
+
# Your Plausible domain.
|
26
|
+
# Note that this domain should not include www or https://
|
27
|
+
#
|
28
|
+
# Type: String
|
29
|
+
# Required: true
|
30
|
+
domain: example.com
|
File without changes
|
data/demo/src/404.html
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Site settings
|
2
|
+
# These are used to personalize your new site. If you look in the HTML files,
|
3
|
+
# you will see them accessed via {{ site.metadata.title }}, {{ site.metadata.email }}, and so on.
|
4
|
+
# You can create any custom variable you would like, and they will be accessible
|
5
|
+
# in the templates via {{ site.metadata.myvariable }}.
|
6
|
+
|
7
|
+
title: Your awesome title
|
8
|
+
tagline: This site is totally awesome
|
9
|
+
email: your-email@example.com
|
10
|
+
description: >- # this means to ignore newlines until "baseurl:"
|
11
|
+
Write an awesome description for your new site here. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8" />
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
6
|
+
<title>{{ metadata.title }}</title>
|
7
|
+
<meta name="description" content="{{ metadata.description }}" />
|
8
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.1/mini-default.min.css">
|
9
|
+
</head>
|
10
|
+
<body class="{{ page.layout }} {{ page.page_class }}">
|
11
|
+
<header>
|
12
|
+
<a href="/" class="button">Home</a>
|
13
|
+
<a href="/liquid" class="button">Liquid</a>
|
14
|
+
<a href="/erb" class="button">ERB</a>
|
15
|
+
</header>
|
16
|
+
<main>
|
17
|
+
<section class="row">
|
18
|
+
<div class="col-sm-12">
|
19
|
+
<article class="card fluid">
|
20
|
+
{{ content }}
|
21
|
+
</article>
|
22
|
+
</div>
|
23
|
+
</section>
|
24
|
+
</main>
|
25
|
+
</body>
|
26
|
+
</html>
|
data/demo/src/erb.erb
ADDED
File without changes
|
data/demo/src/index.md
ADDED
data/demo/src/liquid.md
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bridgetown
|
4
|
+
module Plausible
|
5
|
+
class Builder < Bridgetown::Builder
|
6
|
+
def build
|
7
|
+
liquid_tag "plausible" do |_attributes, tag|
|
8
|
+
render
|
9
|
+
end
|
10
|
+
|
11
|
+
helper "plausible" do
|
12
|
+
render
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def render
|
19
|
+
domain = options.dig(:domain)&.strip
|
20
|
+
|
21
|
+
tag = if domain
|
22
|
+
markup_for_domain(domain)
|
23
|
+
else
|
24
|
+
Bridgetown.logger.warn "Plausible", "Domain not configured."
|
25
|
+
markup_for_domain("NOT CONFIGURED")
|
26
|
+
end
|
27
|
+
|
28
|
+
return wrap_with_comment(tag) unless Bridgetown.environment.production?
|
29
|
+
|
30
|
+
tag
|
31
|
+
end
|
32
|
+
|
33
|
+
def markup_for_domain(domain)
|
34
|
+
"<script async defer data-domain=\"#{domain}\" src=\"https://plausible.io/js/plausible.js\"></script>"
|
35
|
+
end
|
36
|
+
|
37
|
+
def wrap_with_comment(tag)
|
38
|
+
"<!-- #{tag} -->"
|
39
|
+
end
|
40
|
+
|
41
|
+
def options
|
42
|
+
config["plausible"] || {}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
Bridgetown::Plausible::Builder.register
|
metadata
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bridgetown-plausible
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andrew Mason
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-02-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bridgetown
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.16'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '2.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.16'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: bundler
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: nokogiri
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '1.6'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '1.6'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rake
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '13.0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '13.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rspec
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '3.0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3.0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: standard
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0.12'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0.12'
|
103
|
+
description: A Liquid tag to add Plausible analytics to your site.
|
104
|
+
email:
|
105
|
+
- andrewmcodes@protonmail.com
|
106
|
+
executables: []
|
107
|
+
extensions: []
|
108
|
+
extra_rdoc_files: []
|
109
|
+
files:
|
110
|
+
- ".github/CODEOWNERS"
|
111
|
+
- ".github/CONTRIBUTING.md"
|
112
|
+
- ".github/FUNDING.yml"
|
113
|
+
- ".github/media/logo.svg"
|
114
|
+
- ".github/workflows/lint.yml"
|
115
|
+
- ".github/workflows/release.yml"
|
116
|
+
- ".github/workflows/test.yml"
|
117
|
+
- ".gitignore"
|
118
|
+
- ".rspec"
|
119
|
+
- CHANGELOG.md
|
120
|
+
- Gemfile
|
121
|
+
- LICENSE.txt
|
122
|
+
- README.md
|
123
|
+
- Rakefile
|
124
|
+
- bin/format
|
125
|
+
- bin/lint
|
126
|
+
- bin/rspec
|
127
|
+
- bin/standardrb
|
128
|
+
- bin/test
|
129
|
+
- bridgetown-plausible.gemspec
|
130
|
+
- bridgetown.automation.rb
|
131
|
+
- demo/Gemfile
|
132
|
+
- demo/bridgetown.config.yml
|
133
|
+
- demo/plugins/builders/.keep
|
134
|
+
- demo/plugins/site_builder.rb
|
135
|
+
- demo/src/404.html
|
136
|
+
- demo/src/_data/site_metadata.yml
|
137
|
+
- demo/src/_layouts/default.liquid
|
138
|
+
- demo/src/erb.erb
|
139
|
+
- demo/src/favicon.ico
|
140
|
+
- demo/src/index.md
|
141
|
+
- demo/src/liquid.md
|
142
|
+
- lib/bridgetown-plausible.rb
|
143
|
+
- lib/bridgetown-plausible/builder.rb
|
144
|
+
- lib/bridgetown-plausible/version.rb
|
145
|
+
homepage: https://github.com/btrb/bridgetown-plausible
|
146
|
+
licenses:
|
147
|
+
- MIT
|
148
|
+
metadata:
|
149
|
+
bug_tracker_uri: https://github.com/btrb/bridgetown-plausible/issues
|
150
|
+
changelog_uri: https://github.com/btrb/bridgetown-plausible/blob/main/CHANGELOG.md
|
151
|
+
documentation_uri: https://github.com/btrb/bridgetown-plausible
|
152
|
+
homepage_uri: https://github.com/btrb/bridgetown-plausible
|
153
|
+
source_code_uri: https://github.com/btrb/bridgetown-plausible
|
154
|
+
post_install_message:
|
155
|
+
rdoc_options: []
|
156
|
+
require_paths:
|
157
|
+
- lib
|
158
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 2.5.0
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
168
|
+
requirements: []
|
169
|
+
rubygems_version: 3.2.3
|
170
|
+
signing_key:
|
171
|
+
specification_version: 4
|
172
|
+
summary: Plausible Analytics Plugin for Bridgetown
|
173
|
+
test_files: []
|