monitoring-jekyll-theme 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 %}
|