monitoring-jekyll-theme 0.1.0 → 0.2.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 +4 -4
- data/Gemfile +24 -0
- data/README.md +26 -20
- data/Rakefile +123 -0
- data/_config_dev.yml +4 -0
- data/_includes/accessibility.html +1 -1
- data/_includes/seo.html +1 -1
- data/_includes/statistiques.html +2 -2
- data/_includes/styles.html +40 -40
- data/_layouts/default.html +8 -0
- data/assets/favicons/favicon.ico +0 -0
- data/assets/favicons/favicon.png +0 -0
- data/assets/js/lighthouse.js +4 -1
- data/composer.json +5 -0
- data/package.json +26 -0
- data/perftest.sh +64 -0
- metadata +9 -5
- data/_includes/lighthouse.html +0 -26
- data/_includes/pagespeed.html +0 -22
- data/_includes/stylestats.html +0 -33
- data/_includes/yellowlabtools.html +0 -34
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5a68b3c6d0afc7877ecf874167d966170a859048fc334585f5e61afa02a73e15
|
|
4
|
+
data.tar.gz: eb9659cc1b39333b86f03dfe53748d181d8513423cbb194b31dfff8015081d87
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6dce3ff1f7b6140150427e59c55f5175eaca4133938a9453c01829c9a5d7de87faefdadb0d572666c5ba11087523dcbcd6ecb096231ec2e2fc805e5b05d41838
|
|
7
|
+
data.tar.gz: aeee9abfde158c2b95ae10760fd219a850e3724f619d10a0d814f443887730c63802c0f6fecdc2015998514384be8cd7d921c9941e6b44fca16076d0dfe8e4c1
|
data/Gemfile
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
gem 'jekyll', :github => 'jekyll', :branch => 'master'
|
|
5
|
+
gem 'liquid', :git => 'https://github.com/Shopify/liquid.git', branch: 'master'
|
|
6
|
+
gem "liquid-c"
|
|
7
|
+
# gem 'sassc'
|
|
8
|
+
gem "monitoring-jekyll-theme"
|
|
9
|
+
|
|
10
|
+
group :development do
|
|
11
|
+
gem 'rake'
|
|
12
|
+
gem 'foreman'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
group :test do
|
|
16
|
+
gem 'html-proofer'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
group :jekyll_plugins do
|
|
20
|
+
#gem 'jekyll-include-cache'
|
|
21
|
+
gem 'jekyll-tidy'
|
|
22
|
+
gem "autoprefixer-rails"
|
|
23
|
+
gem 'jekyll-commonmark'
|
|
24
|
+
end
|
data/README.md
CHANGED
|
@@ -1,36 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
Monitoring Tool for website
|
|
2
2
|
|
|
3
3
|
## Commandes
|
|
4
4
|
|
|
5
5
|
### Caractères à remplacer
|
|
6
|
-
replace
|
|
7
|
-
replace “”
|
|
8
|
-
replace
|
|
9
|
-
replace
|
|
10
|
-
|
|
11
|
-
replace \/ => / seocli
|
|
12
|
-
|
|
13
|
-
"name": "Others",
|
|
14
|
-
"charset": "ˆˇˉ˘˙˚˛˜˝ẀẁẂẃẄẅỲỳ–—―‗‘’‚‛“”„†‡•…‰′″‹›‼‾⁄ⁿ₣₤₧€℅ℓ№™Ω℮⅛⅜⅝⅞∂∆∏∑−∕∙√∞∫≈≠≤≥□▪▫◊●◦fifl",
|
|
15
|
-
|
|
16
|
-
*Regular expression in all files*
|
|
17
|
-
"charset": "(.*)",
|
|
18
|
-
find _data/ -name '*.json' -exec sed -i 's/{"charset": "(.*)"}//g' {} \;
|
|
19
6
|
|
|
7
|
+
_Regular expression in all files_
|
|
8
|
+
"charset": "(._)",
|
|
9
|
+
find \_data/ -name '_.json' -exec sed -i 's/{"charset": "(.\*)"}//g' {} \\;
|
|
10
|
+
replace \\/ => / seocli
|
|
20
11
|
|
|
21
12
|
## Services
|
|
22
|
-
|
|
23
|
-
https://
|
|
13
|
+
|
|
14
|
+
- <https://serpstat.com/domains/search/?search_type=subdomains&se=g_us&query=https%3A%2F%2Fwww.leforestier-immobilier.com%2F>
|
|
15
|
+
- <https://whatsmyserp.com/domains/a408117d-3cef-4b9f-bf92-fbf71a652252>
|
|
24
16
|
|
|
25
17
|
## Ressources
|
|
26
18
|
|
|
27
19
|
### Bibliothèques
|
|
28
|
-
|
|
20
|
+
|
|
21
|
+
- <https://github.com/bartveneman/constyble>
|
|
29
22
|
|
|
30
23
|
### Articles
|
|
31
|
-
|
|
32
|
-
https://
|
|
24
|
+
|
|
25
|
+
- <https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/>
|
|
26
|
+
- <https://css-tricks.com/in-search-of-a-stack-that-monitors-the-quality-and-complexity-of-css/>
|
|
27
|
+
- <https://jameshubbardmarketing.co.uk/seo-blog/essential-technical-seo-audit-tools/>
|
|
28
|
+
- <https://www.screamingfrog.co.uk/seo-spider/>
|
|
29
|
+
- <https://github.com/serp-spider/serps-cli>
|
|
30
|
+
- <https://github.com/lochmueller/seocli>
|
|
31
|
+
- <https://www.npmjs.com/package/yoastseo>
|
|
32
|
+
- <https://tome.fyi/>
|
|
33
|
+
- <https://performance-budgets.netlify.com/>
|
|
34
|
+
- <https://github.com/pa11y/pa11y-ci>
|
|
35
|
+
- <http://www.ecometer.org/>
|
|
36
|
+
- <http://www.ecoindex.fr/>
|
|
37
|
+
- <https://snapboard.io>
|
|
38
|
+
- <https://v8.dev/blog/cost-of-javascript-2019>
|
|
33
39
|
|
|
34
40
|
### Curl & Grep
|
|
35
|
-
https://medium.com/@LiliSousa/web-scraping-with-bash-690e4ee7f98d
|
|
36
41
|
|
|
42
|
+
- <https://medium.com/@LiliSousa/web-scraping-with-bash-690e4ee7f98d>
|
data/Rakefile
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
##############
|
|
2
|
+
# Jekyll tasks
|
|
3
|
+
##############
|
|
4
|
+
|
|
5
|
+
# Usage: rake serve, rake serve:prod
|
|
6
|
+
task :build => ["build:prod"]
|
|
7
|
+
namespace :build do
|
|
8
|
+
|
|
9
|
+
desc "Regenerate files for production"
|
|
10
|
+
task :prod do
|
|
11
|
+
puts "* Regenerating files for production... first time"
|
|
12
|
+
puts "rvm install ruby-2.6.2"
|
|
13
|
+
puts "rvm use ruby-2.6.2"
|
|
14
|
+
system "bundle exec jekyll build"
|
|
15
|
+
puts "* Finish"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
desc "Regenerate files for development"
|
|
19
|
+
task :dev do
|
|
20
|
+
puts "* Regenerating files for development..."
|
|
21
|
+
system "JEKYLL_ENV=development bundle exec jekyll clean && bundle exec jekyll build --limit_posts 3 --incremental --config _config.yml,_config_dev.yml --profile"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
desc "Regenerate files and drafts for development"
|
|
25
|
+
task :drafts do
|
|
26
|
+
puts "* Regenerating files and drafts for development..."
|
|
27
|
+
system "JEKYLL_ENV=development bundle exec jekyll clean && bundle exec jekyll build --config _config.yml,_config.dev.yml --profile --drafts"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Usage: rake serve, rake serve:prod
|
|
32
|
+
task :serve => ["serve:dev"]
|
|
33
|
+
namespace :serve do
|
|
34
|
+
|
|
35
|
+
desc "Serve development Jekyll site locally"
|
|
36
|
+
task :dev do
|
|
37
|
+
puts "Starting up development Jekyll site server..."
|
|
38
|
+
system "JEKYLL_ENV=development bundle exec jekyll clean && bundle exec jekyll s --config _config.yml,_config_dev.yml --profile --trace --limit_posts 3"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
desc "Serve development Jekyll site locally"
|
|
42
|
+
task :reload do
|
|
43
|
+
puts "Starting up development Jekyll site server with livereload..."
|
|
44
|
+
system "JEKYLL_ENV=development bundle exec jekyll clean && bundle exec jekyll s --config _config.yml,_config_dev.yml --profile --trace --limit_posts 3 --livereload port:6000"
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
desc "Serve production Jekyll site locally"
|
|
48
|
+
task :prod do
|
|
49
|
+
puts "Starting up production Jekyll site server..."
|
|
50
|
+
system "bundle exec jekyll s --no-watch"
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
##################
|
|
55
|
+
# Deployment tasks
|
|
56
|
+
##################
|
|
57
|
+
|
|
58
|
+
# Usage: rake rsync
|
|
59
|
+
desc "rsync the contents of ./_site to the server"
|
|
60
|
+
task :rsync do
|
|
61
|
+
puts "* rsyncing the contents of ./_site to the server"
|
|
62
|
+
system "dploy bk"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Usage: rake deploy, rake deploy:win
|
|
66
|
+
task :deploy => ["deploy:prod"]
|
|
67
|
+
namespace :deploy do
|
|
68
|
+
desc "Regenerate and rsync production files and notify services of the update"
|
|
69
|
+
task :prod => ["build", "rsync", "notify"] do
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Usage: rake deploy:win
|
|
73
|
+
desc "Regenerate and rsync production files and notify services of the update (Windows systems)"
|
|
74
|
+
task :win => ["build:win", "rsync", "notify"] do
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
####################
|
|
81
|
+
# Notification tasks
|
|
82
|
+
####################
|
|
83
|
+
|
|
84
|
+
# Usage: rake notify
|
|
85
|
+
task :notify => ["notify:pingomatic", "notify:google", "notify:bing"]
|
|
86
|
+
desc "Notify various services that the site has been updated"
|
|
87
|
+
namespace :notify do
|
|
88
|
+
|
|
89
|
+
desc "Notify Ping-O-Matic"
|
|
90
|
+
task :pingomatic do
|
|
91
|
+
begin
|
|
92
|
+
require 'xmlrpc/client'
|
|
93
|
+
puts "* Notifying Ping-O-Matic that the site has updated"
|
|
94
|
+
XMLRPC::Client.new('rpc.pingomatic.com', '/').call('weblogUpdates.extendedPing', 'bertrandkeller.info' , 'https://bertrandkeller.info', 'https://bertrandkeller.info/feed.xml')
|
|
95
|
+
rescue LoadError
|
|
96
|
+
puts "! Could not ping ping-o-matic, because XMLRPC::Client could not be found."
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
desc "Notify Google of updated sitemap"
|
|
101
|
+
task :google do
|
|
102
|
+
begin
|
|
103
|
+
require 'net/http'
|
|
104
|
+
require 'uri'
|
|
105
|
+
puts "* Notifying Google that the site has updated"
|
|
106
|
+
Net::HTTP.get('www.google.com', '/webmasters/tools/ping?sitemap=' + URI.escape('https://bertrandkeller.info/sitemap.xml'))
|
|
107
|
+
rescue LoadError
|
|
108
|
+
puts "! Could not ping Google about our sitemap, because Net::HTTP or URI could not be found."
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
desc "Notify Bing of updated sitemap"
|
|
113
|
+
task :bing do
|
|
114
|
+
begin
|
|
115
|
+
require 'net/http'
|
|
116
|
+
require 'uri'
|
|
117
|
+
puts '* Notifying Bing that the site has updated'
|
|
118
|
+
Net::HTTP.get('www.bing.com', '/webmaster/ping.aspx?siteMap=' + URI.escape('https://bertrandkeller.info/sitemap.xml'))
|
|
119
|
+
rescue LoadError
|
|
120
|
+
puts "! Could not ping Bing about our sitemap, because Net::HTTP or URI could not be found."
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
data/_config_dev.yml
ADDED
data/_includes/seo.html
CHANGED
data/_includes/statistiques.html
CHANGED
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
</script>
|
|
13
13
|
<div class="js-tabs" data-existing-hx="h2" data-tabs-prefix-class="tabs">
|
|
14
14
|
<ul class="js-tablist">
|
|
15
|
-
{% for website in
|
|
15
|
+
{% for website in site.pagestested %}
|
|
16
16
|
<li class="js-tablist__item">
|
|
17
17
|
<a href="#id_{{ forloop.index }}" class="js-tablist__link">{{ website }}</a>
|
|
18
18
|
</li>
|
|
19
19
|
{% endfor %}
|
|
20
20
|
</ul>
|
|
21
21
|
|
|
22
|
-
{% for website in
|
|
22
|
+
{% for website in site.pagestested %}
|
|
23
23
|
{% assign labels = "" | split: ',' %}{% for data in file %}{% if site.data.[website].gpagespeed[data] %}{% assign date = data | date: "%d/%m/%y" | prepend: "'" | append: "'" %}{% assign labels = labels | push: date %}{% endif %}{% endfor %}
|
|
24
24
|
{% assign ttfb = "" | split: ',' %}{% for data in file %}{% if site.data.[website].gpagespeed[data] %}{% assign ttfb = ttfb | push: site.data.[website].yellowlabtools[data].toolsResults.phantomas.metrics.timeToFirstByte %}{% endif %}{% endfor %}
|
|
25
25
|
{% assign tti = "" | split: ',' %}{% for data in file %}{% if site.data.[website].gpagespeed[data] %}{% assign tti = tti | push: site.data.[website].yellowlabtools[data].toolsResults.phantomas.metrics.domContentLoadedEnd %}{% endif %}{% endfor %}
|
data/_includes/styles.html
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
<h3>CSS</h3>
|
|
2
|
-
|
|
2
|
+
<p>Lister la taille, la simplicité, le nombre de polices… pour réduire le chargement.</p>
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
</div>
|
|
19
|
-
{% endif %}
|
|
20
|
-
{% endfor %}
|
|
4
|
+
<div class="table">
|
|
5
|
+
{% for data in file %}
|
|
6
|
+
{% assign stylestats = site.data.accueil.stylestats[data] %}
|
|
7
|
+
{% if stylestats %}
|
|
8
|
+
<div class="grid">
|
|
9
|
+
<div class="box date">
|
|
10
|
+
<span>Date</span>
|
|
11
|
+
<p>{{ data | date: "%d %b %y" }}</p>
|
|
12
|
+
</div>
|
|
13
|
+
{% for value in stylestats %}
|
|
14
|
+
{% if value[0] == "size" or value[0] == "rules" or value[0] == "declarations" or value[0] == "declarations" or value[0] == "selectors" or value[0] == "totalUniqueFontSizes" or value[0] == "totalUniqueFontFamilies" or value[0] == "importantKeywords" or value[0] == "simplicity" or value[0] == "averageOfIdentifier" %}
|
|
15
|
+
<div class="box score">
|
|
16
|
+
<span class="title">{{ value[0] }}</span>
|
|
17
|
+
<span class="number">{{ value[1] | round:3 }}</span> <br>
|
|
21
18
|
</div>
|
|
22
19
|
{% endif %}
|
|
23
20
|
{% endfor %}
|
|
24
|
-
|
|
21
|
+
</div>
|
|
22
|
+
{% endif %}
|
|
23
|
+
{% endfor %}
|
|
24
|
+
</div>
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
<h3>Colors</h3>
|
|
27
|
+
<p>Liste des couleurs de la charte graphique. Supprimer les couleurs trop similaires ou non utilisées.</p>
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
</div>
|
|
42
|
-
{% endfor %}
|
|
43
|
-
</div>
|
|
29
|
+
{% for data in file reversed %}
|
|
30
|
+
{% if forloop.first %}
|
|
31
|
+
{% assign stylestats = site.data.accueil.stylestats[data] %}
|
|
32
|
+
{% if stylestats %}
|
|
33
|
+
{% for value in stylestats %}
|
|
34
|
+
{% if value[0] == "uniqueColors" %}
|
|
35
|
+
<p><strong><span>Date</span> : {{ data | date: "%d %b %y" }}</strong></p>
|
|
36
|
+
<div class="table">
|
|
37
|
+
<div class="grid">
|
|
38
|
+
{% for color in value[1] %}
|
|
39
|
+
<div class="box" style="background: {{ color }};">
|
|
40
|
+
{{color}}
|
|
44
41
|
</div>
|
|
45
|
-
{% endif %}
|
|
46
42
|
{% endfor %}
|
|
47
|
-
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
{% endif %}
|
|
46
|
+
{% endfor %}
|
|
47
|
+
{% endif %}
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
{% endif %}
|
|
50
|
+
{% endfor %}
|
data/_layouts/default.html
CHANGED
|
@@ -15,5 +15,13 @@
|
|
|
15
15
|
{{ content }}
|
|
16
16
|
</div>
|
|
17
17
|
</body>
|
|
18
|
+
<script src="/assets/js/van11y-accessible-tab-panel-aria.es6.js"></script>
|
|
19
|
+
<script src="/assets/js/van11y-accessible-hide-show-aria.es6.js"></script>
|
|
18
20
|
|
|
21
|
+
{% if site.zone.livehouse == true %}
|
|
22
|
+
<script src="/assets/js/lighthouse.js"></script>
|
|
23
|
+
<script>
|
|
24
|
+
run();
|
|
25
|
+
</script>
|
|
26
|
+
{% endif %}
|
|
19
27
|
</html>
|
|
Binary file
|
|
Binary file
|
data/assets/js/lighthouse.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
|
|
1
4
|
function run() {
|
|
2
5
|
const url = setUpQuery();
|
|
3
6
|
var myHeaders = new Headers();
|
|
@@ -39,7 +42,7 @@ let container = document.querySelector(".livehouse")
|
|
|
39
42
|
function setUpQuery() {
|
|
40
43
|
const api = 'https://www.googleapis.com/pagespeedonline/v5/runPagespeed';
|
|
41
44
|
const parameters = {
|
|
42
|
-
url: encodeURIComponent('
|
|
45
|
+
url: encodeURIComponent('{{ site.urlstested[0] }}')
|
|
43
46
|
};
|
|
44
47
|
let query = `${api}?`;
|
|
45
48
|
for (key in parameters) {
|
data/composer.json
ADDED
data/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "monitoring",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"constyble": "^1.2.0",
|
|
8
|
+
"lighthouse": "^5.1.0",
|
|
9
|
+
"seolint": "^0.14.2",
|
|
10
|
+
"wallace-cli": "^2.2.1"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"test": "tap test/*.js"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/bertrandkeller/leforestier-monitoring.git"
|
|
19
|
+
},
|
|
20
|
+
"author": "",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/bertrandkeller/leforestier-monitoring/issues"
|
|
24
|
+
},
|
|
25
|
+
"homepage": "https://github.com/bertrandkeller/leforestier-monitoring#readme"
|
|
26
|
+
}
|
data/perftest.sh
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# FUNCTION FOR PARSING _CONFIG.YML
|
|
4
|
+
function yaml() {
|
|
5
|
+
hashdot=$(gem list hash_dot);
|
|
6
|
+
if ! [ "$hashdot" != "" ]; then sudo gem install "hash_dot" ; fi
|
|
7
|
+
if [ -f $1 ];then
|
|
8
|
+
cmd=" Hash.use_dot_syntax = true; hash = YAML.load(File.read('$1'));";
|
|
9
|
+
if [ "$2" != "" ] ;then
|
|
10
|
+
cmd="$cmd puts hash.$2;"
|
|
11
|
+
else
|
|
12
|
+
cmd="$cmd puts hash;"
|
|
13
|
+
fi
|
|
14
|
+
ruby -r yaml -r hash_dot <<< $cmd;
|
|
15
|
+
fi
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
# DEFINING CONFIG
|
|
19
|
+
urlstested=($(yaml _config.yml urlstested))
|
|
20
|
+
pagestested=($(yaml _config.yml pagestested))
|
|
21
|
+
|
|
22
|
+
# CREATE VARIABLES
|
|
23
|
+
echo 'Create this variables'
|
|
24
|
+
|
|
25
|
+
for ((idx=0; idx<${#urlstested[@]}; idx++)); do
|
|
26
|
+
echo "urlpage$idx": "${urlstested[idx]}"
|
|
27
|
+
eval urlpage$idx=${urlstested[idx]}
|
|
28
|
+
done
|
|
29
|
+
|
|
30
|
+
for ((idx=0; idx<${#pagestested[@]}; idx++)); do
|
|
31
|
+
echo "namepage$idx": "${pagestested[idx]}"
|
|
32
|
+
eval namepage$idx=${pagestested[idx]}
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
# CREATE FOLDER NAMESPACE IN _data
|
|
36
|
+
if [ ! -d _data/$namepage0 ]; then
|
|
37
|
+
mkdir -p _data/$namepage0;
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
# SPECIFICS PAGES TESTS
|
|
41
|
+
for ((idx=0; idx<${#urlstested[@]}; idx++)); do
|
|
42
|
+
echo 'Tests for this value :'
|
|
43
|
+
urlpage="urlpage${idx}" ; echo "url: ${!urlpage}"
|
|
44
|
+
namepage="namepage${idx}" ; echo "${!namepage}"
|
|
45
|
+
if [ ! -d _data/${!namepage} ]; then
|
|
46
|
+
mkdir -p _data/${!namepage};
|
|
47
|
+
fi
|
|
48
|
+
axe ${!urlpage} --save _data/${!namepage}/axe/$(date '+%Y-%m-%d').json
|
|
49
|
+
gpagespeed ${!urlpage} > _data/${!namepage}/gpagespeed/$(date '+%Y-%m-%d').json
|
|
50
|
+
yellowlabtools ${!urlpage} > _data/${!namepage}/yellowlabtools/$(date '+%Y-%m-%d').json
|
|
51
|
+
#lighthouse ${!urlpage} --output json --output-path _data/${!namepage}/lighthouse/$(date '+%Y-%m-%d').json
|
|
52
|
+
done
|
|
53
|
+
|
|
54
|
+
# GENERAL SITE TESTS
|
|
55
|
+
curl -o download/css/$(date '+%Y-%m-%d').css https://extract-css.now.sh/$urlpage0
|
|
56
|
+
|
|
57
|
+
./vendor/bin/seocli -u $urlpage0 -d 3 -f json > _data/$namepage0/seocli/$(date '+%Y-%m-%d').json
|
|
58
|
+
stylestats download/css/$(date '+%Y-%m-%d').css -f json > _data/$namepage0/stylestats/$(date '+%Y-%m-%d').json
|
|
59
|
+
wallace $urlpage0 -f json > _data/$namepage0/wallace/$(date '+%Y-%m-%d').json
|
|
60
|
+
|
|
61
|
+
# https://seobutler.com/badass-seo-automate-screaming-frog/
|
|
62
|
+
# open "/Applications/Screaming Frog SEO Spider.app" --args --crawl $urlpage0
|
|
63
|
+
|
|
64
|
+
# curl https://www.googleapis.com/pagespeedonline/v5/runPagespeed\?url\=https://www.leforestier-immobilier.com/fr&key=AIzaSyATvQKCg0r2tKjt9OhEHXuqlpVMjHby730 > aa.json
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: monitoring-jekyll-theme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- bertrandkeller
|
|
@@ -59,19 +59,20 @@ executables: []
|
|
|
59
59
|
extensions: []
|
|
60
60
|
extra_rdoc_files: []
|
|
61
61
|
files:
|
|
62
|
+
- Gemfile
|
|
62
63
|
- README.md
|
|
64
|
+
- Rakefile
|
|
65
|
+
- _config_dev.yml
|
|
63
66
|
- _includes/accessibility.html
|
|
64
67
|
- _includes/competitors.html
|
|
65
|
-
- _includes/lighthouse.html
|
|
66
|
-
- _includes/pagespeed.html
|
|
67
68
|
- _includes/seo.html
|
|
68
69
|
- _includes/statistiques.html
|
|
69
70
|
- _includes/styles.html
|
|
70
|
-
- _includes/stylestats.html
|
|
71
|
-
- _includes/yellowlabtools.html
|
|
72
71
|
- _layouts/default.html
|
|
73
72
|
- _plugins/humanize.rb
|
|
74
73
|
- assets/css/styles.css
|
|
74
|
+
- assets/favicons/favicon.ico
|
|
75
|
+
- assets/favicons/favicon.png
|
|
75
76
|
- assets/fonts/IBMPlexMono-Bold.ttf
|
|
76
77
|
- assets/fonts/Optiker-K.woff2
|
|
77
78
|
- assets/fonts/PublicSans-Regular.woff2
|
|
@@ -79,6 +80,9 @@ files:
|
|
|
79
80
|
- assets/js/lighthouse.js
|
|
80
81
|
- assets/js/van11y-accessible-hide-show-aria.es6.js
|
|
81
82
|
- assets/js/van11y-accessible-tab-panel-aria.es6.js
|
|
83
|
+
- composer.json
|
|
84
|
+
- package.json
|
|
85
|
+
- perftest.sh
|
|
82
86
|
homepage: https://github.com/bertrandkeller/monitoring-jekyll-theme
|
|
83
87
|
licenses:
|
|
84
88
|
- MIT
|
data/_includes/lighthouse.html
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<h3>Lighthouse Speed</h3>
|
|
2
|
-
{% for org_hash in site.data.[include.site].[include.type] | sort %}
|
|
3
|
-
{% assign org = org_hash[1] %}
|
|
4
|
-
<div class="grid">
|
|
5
|
-
<div class="box date">
|
|
6
|
-
<span>Date</span>
|
|
7
|
-
<p>{{ org_hash[0] | date: "%d %b %y" }}</p>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="box score">
|
|
10
|
-
<span>Time To First Byte</span>
|
|
11
|
-
{{ org.audits.time-to-first-byte.rawValue | round }} <i>ms</i>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="box score">
|
|
14
|
-
<span>Score</span>
|
|
15
|
-
{{ org.audits.metrics.details.items[0].speedIndex | round }}<i>ms</i>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="box score">
|
|
18
|
-
<span>Bootup Time</span>
|
|
19
|
-
{{ org.audits.bootup-time.rawValue | round}} <i>ms</i>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="box score">
|
|
22
|
-
<span>Interactive</span>
|
|
23
|
-
{{ org.audits.metrics.details.items[0].interactive | round }} <i>ms</i>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
{% endfor %}
|
data/_includes/pagespeed.html
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<h3>Page Speed</h3>
|
|
2
|
-
{% for org_hash in site.data.[include.site].[include.type][2018-12-18] %}
|
|
3
|
-
{% assign org = org_hash[1] %}
|
|
4
|
-
<div class="grid">
|
|
5
|
-
<div class="box date">
|
|
6
|
-
<span>Date</span>
|
|
7
|
-
<p>{{ org_hash[0] | date: "%d %b %y" }}</p>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="box score">
|
|
10
|
-
<span>Score</span>
|
|
11
|
-
{{ org.ruleGroups.SPEED.score | round }}
|
|
12
|
-
</div>
|
|
13
|
-
<div class="box score">
|
|
14
|
-
<span>Total Bytes</span>
|
|
15
|
-
{{ org.pageStats.totalRequestBytes | round }} <i>kb</i>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="box score">
|
|
18
|
-
<span>Images Bytes</span>
|
|
19
|
-
{{ org.pageStats.imageResponseBytes | round }} <i>kb</i>
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
{% endfor %}
|
data/_includes/stylestats.html
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<h3>CSS Stylestats</h3>
|
|
2
|
-
{% for org_hash in site.data.[include.site].[include.type] | sort %}
|
|
3
|
-
{% assign org = org_hash[1] %}
|
|
4
|
-
<div class="grid">
|
|
5
|
-
<div class="box date">
|
|
6
|
-
<span>Date</span><p>{{ org_hash[0] | date: "%d %b %y" }}</p>
|
|
7
|
-
</div>
|
|
8
|
-
{% for value in org %}
|
|
9
|
-
{% if value[0] == "size" or value[0] == "rules" or value[0] == "declarations" or value[0] == "declarations" or value[0] == "selectors" or value[0] == "totalUniqueFontSizes" %}
|
|
10
|
-
<div class="box score">
|
|
11
|
-
<span>{{ value[0] }}</span>{{ value[1]}}<br>
|
|
12
|
-
</div>
|
|
13
|
-
{% endif %}
|
|
14
|
-
{% endfor %}
|
|
15
|
-
</div>
|
|
16
|
-
{% endfor %}
|
|
17
|
-
|
|
18
|
-
{% for org_hash in site.data.[include.site].[include.type] %}
|
|
19
|
-
{% assign org = org_hash[1] %}
|
|
20
|
-
{% for value in org %}
|
|
21
|
-
{% if value[0] == "uniqueColors" %}
|
|
22
|
-
<h3>Colors</h3>
|
|
23
|
-
<div class="grid">
|
|
24
|
-
{% for color in value[1] %}
|
|
25
|
-
<div class="box" style="background: {{ color }};">
|
|
26
|
-
{{color}}
|
|
27
|
-
</div>
|
|
28
|
-
|
|
29
|
-
{% endfor %}
|
|
30
|
-
</div>
|
|
31
|
-
{% endif %}
|
|
32
|
-
{% endfor %}
|
|
33
|
-
{% endfor %}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<h3>Yellow Labs Tools</h3>
|
|
2
|
-
{% for org_hash in site.data.[include.site].[include.type] | sort %}
|
|
3
|
-
{% assign org = org_hash[1] %}
|
|
4
|
-
<div class="grid">
|
|
5
|
-
<div class="box date">
|
|
6
|
-
<span>Date</span>
|
|
7
|
-
<p>{{ org_hash[0] | date: "%d %b %y" }}</p>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="box score">
|
|
10
|
-
<span>Time To First Byte</span>
|
|
11
|
-
{{ org.toolsResults.phantomas.metrics.timeToFirstByte | round }} <i>ms</i>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="box score">
|
|
14
|
-
<span>html Size</span>
|
|
15
|
-
{{ org.toolsResults.phantomas.metrics.htmlSize | round }} <i>kb</i>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="box score">
|
|
18
|
-
<span>js Size</span>
|
|
19
|
-
{{ org.toolsResults.phantomas.metrics.jsSize | round }} <i>kb</i>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="box score">
|
|
22
|
-
<span>Time To First Css</span>
|
|
23
|
-
{{ org.toolsResults.phantomas.metrics.timeToFirstCss | round }} <i>ms</i>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="box score">
|
|
26
|
-
<span>https Requests</span>
|
|
27
|
-
{{ org.toolsResults.phantomas.metrics.httpsRequests | round }}
|
|
28
|
-
</div>
|
|
29
|
-
<div class="box score">
|
|
30
|
-
<span>Not Found</span>
|
|
31
|
-
{{ org.toolsResults.phantomas.metrics.notFound | round }}
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
{% endfor %}
|