monitoring-jekyll-theme 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +36 -0
- data/_includes/accessibility.html +38 -0
- data/_includes/competitors.html +1 -0
- data/_includes/lighthouse.html +26 -0
- data/_includes/pagespeed.html +22 -0
- data/_includes/seo.html +177 -0
- data/_includes/statistiques.html +173 -0
- data/_includes/styles.html +50 -0
- data/_includes/stylestats.html +33 -0
- data/_includes/yellowlabtools.html +34 -0
- data/_layouts/default.html +19 -0
- data/_plugins/humanize.rb +258 -0
- data/assets/css/styles.css +449 -0
- data/assets/fonts/IBMPlexMono-Bold.ttf +0 -0
- data/assets/fonts/Optiker-K.woff2 +0 -0
- data/assets/fonts/PublicSans-Regular.woff2 +0 -0
- data/assets/js/frappe-charts.min.iife.js +2 -0
- data/assets/js/lighthouse.js +81 -0
- data/assets/js/van11y-accessible-hide-show-aria.es6.js +326 -0
- data/assets/js/van11y-accessible-tab-panel-aria.es6.js +491 -0
- metadata +105 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2ef1d5ed0075e70ed6121d09ce3ebfa986ac60d57c8f8fb0ba7fa7b7890d9bb5
|
4
|
+
data.tar.gz: bcd95cb84cfc25ab6f39827102d2fbb12afb93256cbebf0a2bfda0db99e62f45
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: df2801e2ae2adc94314db200946fe93daf0f1a650f183830f219e5b42933137e68899c5813cca7a1bef4c310833df6c5b4ba92a4d0d68d5a5f2993777741d4a6
|
7
|
+
data.tar.gz: 614eca6a77889d12abefe9709b5c815a35aecc10c8b7170619b88506b0ca25e999678028889a211540375737994bac05aeecafe5ecc281499f1770d6ce17948f
|
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
## Commandes
|
4
|
+
|
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
|
+
|
20
|
+
|
21
|
+
## Services
|
22
|
+
https://serpstat.com/domains/search/?search_type=subdomains&se=g_us&query=https%3A%2F%2Fwww.leforestier-immobilier.com%2F
|
23
|
+
https://whatsmyserp.com/domains/a408117d-3cef-4b9f-bf92-fbf71a652252
|
24
|
+
|
25
|
+
## Ressources
|
26
|
+
|
27
|
+
### Bibliothèques
|
28
|
+
https://github.com/bartveneman/constyble
|
29
|
+
|
30
|
+
### Articles
|
31
|
+
https://www.smashingmagazine.com/2019/01/front-end-performance-checklist-2019-pdf-pages/
|
32
|
+
https://css-tricks.com/in-search-of-a-stack-that-monitors-the-quality-and-complexity-of-css/
|
33
|
+
|
34
|
+
### Curl & Grep
|
35
|
+
https://medium.com/@LiliSousa/web-scraping-with-bash-690e4ee7f98d
|
36
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
{% for website in sites %}
|
2
|
+
|
3
|
+
<h3 class="js-expandmore mb0 mt0" data-hideshow-prefix-class="animated">{{ website }} - Impact : Critical</h3>
|
4
|
+
<div class="js-to_expand">
|
5
|
+
|
6
|
+
{% for data in file reversed %}
|
7
|
+
<div class="axe flex-list">
|
8
|
+
|
9
|
+
{% for a11y in site.data.[website].axe[data] %}
|
10
|
+
|
11
|
+
{% if forloop.first %}
|
12
|
+
|
13
|
+
{% for a11ylist in a11y %}
|
14
|
+
{% for a11yvalue in a11ylist %}
|
15
|
+
|
16
|
+
{% for elm in a11yvalue %}
|
17
|
+
{% if elm.impact == 'critical' %}
|
18
|
+
<div><strong>> {{ elm.description | xml_escape }}</strong><br>
|
19
|
+
<ul>
|
20
|
+
{% for node in elm.nodes %}
|
21
|
+
<li>{{ node.target | replace:'\"','"' | replace:'\\3','' | replace:'\\=','=' | replace:' ','' | xml_escape }}</li>
|
22
|
+
{% endfor %}
|
23
|
+
</ul>
|
24
|
+
</div>
|
25
|
+
{% endif %}
|
26
|
+
{% endfor %}
|
27
|
+
|
28
|
+
{% endfor %}
|
29
|
+
{% endfor %}
|
30
|
+
|
31
|
+
{% endif %}
|
32
|
+
|
33
|
+
{% endfor %}
|
34
|
+
</div>
|
35
|
+
{% endfor %}
|
36
|
+
</div>
|
37
|
+
|
38
|
+
{% endfor %}
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg width="970" height="500"><g><g class="dimple-gridline" transform="translate(0, 450)"><g class="tick" style="opacity: 1;" transform="translate(80,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(152.75,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(298.25,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(443.75,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(589.25,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(734.75,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(880.25,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(953,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(225.5,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(371,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(516.5,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(662,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><g class="tick" style="opacity: 1;" transform="translate(807.5,0)"><line y2="-400" x2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text y="3" x="0" dy=".71em" style="text-anchor: middle;"></text></g><path class="domain" d="M80,0V0H953V0"></path></g><g class="dimple-axis dimple-axis-x" style="font-family: sans-serif; font-size: 10px;" transform="translate(0, 450)"><g class="tick" style="opacity: 1;" transform="translate(80,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">35</text></g><g class="tick" style="opacity: 1;" transform="translate(152.75,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">40</text></g><g class="tick" style="opacity: 1;" transform="translate(298.25,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">50</text></g><g class="tick" style="opacity: 1;" transform="translate(443.75,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">60</text></g><g class="tick" style="opacity: 1;" transform="translate(589.25,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">70</text></g><g class="tick" style="opacity: 1;" transform="translate(734.75,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">80</text></g><g class="tick" style="opacity: 1;" transform="translate(880.25,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">90</text></g><g class="tick" style="opacity: 1;" transform="translate(953,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">95</text></g><g class="tick" style="opacity: 1;" transform="translate(225.5,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">45</text></g><g class="tick" style="opacity: 1;" transform="translate(371,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">55</text></g><g class="tick" style="opacity: 1;" transform="translate(516.5,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">65</text></g><g class="tick" style="opacity: 1;" transform="translate(662,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">75</text></g><g class="tick" style="opacity: 1;" transform="translate(807.5,0)"><line y2="6" x2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text y="9" x="0" dy=".71em" class="dimple-custom-axis-label" style="text-anchor: middle; font-family: sans-serif; font-size: 10px;">85</text></g><path class="domain dimple-custom-axis-line" d="M80,6V0H953V6" style="fill: none; stroke: black; shape-rendering: crispedges;"></path></g><g class="dimple-gridline" transform="translate(80, 0)"><g class="tick" style="opacity: 1;" transform="translate(0,450)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,400)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,350)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,300)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,250)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,200)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,150)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,100)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><g class="tick" style="opacity: 1;" transform="translate(0,50)"><line x2="873" y2="0" class="dimple-custom-gridline" style="fill: none; stroke: lightgray; opacity: 0.8;"></line><text x="-3" y="0" dy=".32em" style="text-anchor: end;"></text></g><path class="domain" d="M0,50H0V450H0"></path></g><g class="dimple-axis dimple-axis-y" style="font-family: sans-serif; font-size: 10px;" transform="translate(80, 0)"><g class="tick" style="opacity: 1;" transform="translate(0,450)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">10</text></g><g class="tick" style="opacity: 1;" transform="translate(0,400)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">20</text></g><g class="tick" style="opacity: 1;" transform="translate(0,350)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">30</text></g><g class="tick" style="opacity: 1;" transform="translate(0,300)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">40</text></g><g class="tick" style="opacity: 1;" transform="translate(0,250)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">50</text></g><g class="tick" style="opacity: 1;" transform="translate(0,200)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">60</text></g><g class="tick" style="opacity: 1;" transform="translate(0,150)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">70</text></g><g class="tick" style="opacity: 1;" transform="translate(0,100)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">80</text></g><g class="tick" style="opacity: 1;" transform="translate(0,50)"><line x2="-6" y2="0" class="dimple-custom-axis-line" style="fill: none; stroke: black; shape-rendering: crispedges;"></line><text x="-9" y="0" dy=".32em" class="dimple-custom-axis-label" style="text-anchor: end; font-family: sans-serif; font-size: 10px;">90</text></g><path class="domain dimple-custom-axis-line" d="M-6,50H0V450H-6" style="fill: none; stroke: black; shape-rendering: crispedges;"></path></g><g class="dimple-axis dimple-axis-z" style="font-family: sans-serif; font-size: 10px;"></g><text class="dimple-axis dimple-title dimple-custom-axis-title dimple-axis-x" x="516.5" y="482.485321969697" text-anchor="middle" transform="" style="font-family: sans-serif; font-size: 10px;">Precision</text><text class="dimple-axis dimple-title dimple-custom-axis-title dimple-axis-y" x="56.84469696969697" y="250" text-anchor="middle" transform="rotate(270, 49.875, 250)" style="font-family: sans-serif; font-size: 10px;">Recall</text><circle id="dimple-artpierre-immo-com----" class="dimple-series-0 dimple-bubble dimple-artpierre-immo-com dimple-custom-series-bubble dimple-custom-format-1" cx="195.818" cy="414.95" r="40" opacity="0.75" style="fill: rgb(46, 151, 208); stroke: rgb(46, 151, 208);" fill="#2E97D0" stroke="#2E97D0"></circle><circle id="dimple-canyimmobilier-com----" class="dimple-series-0 dimple-bubble dimple-canyimmobilier-com dimple-custom-series-bubble dimple-custom-format-2" cx="211.9685" cy="287.4" r="40" opacity="0.75" style="fill: rgb(185, 220, 69); stroke: rgb(185, 220, 69);" fill="#B9DC45" stroke="#B9DC45"></circle><circle id="dimple-cotes-et-mer-fr----" class="dimple-series-0 dimple-bubble dimple-cotes-et-mer-fr dimple-custom-series-bubble dimple-custom-format-3" cx="711.9065" cy="382.7" r="40" opacity="0.75" style="fill: rgb(255, 243, 0); stroke: rgb(255, 243, 0);" fill="#FFF300" stroke="#FFF300"></circle><circle id="dimple-demeures-cotesdalbatre-fr----" class="dimple-series-0 dimple-bubble dimple-demeures-cotesdalbatre-fr dimple-custom-series-bubble dimple-custom-format-4" cx="741.443" cy="397.35" r="40" opacity="0.75" style="fill: rgb(255, 243, 0); stroke: rgb(255, 243, 0);" fill="#FFF300" stroke="#FFF300"></circle><circle id="dimple-demeures-cotieres-fr----" class="dimple-series-0 dimple-bubble dimple-demeures-cotieres-fr dimple-custom-series-bubble dimple-custom-format-5" cx="491.3285000000001" cy="409.1" r="40" opacity="0.75" style="fill: rgb(162, 208, 92); stroke: rgb(162, 208, 92);" fill="#A2D05C" stroke="#A2D05C"></circle><circle id="dimple-demeuresdeshautesfalaises-fr----" class="dimple-series-0 dimple-bubble dimple-demeuresdeshautesfalaises-fr dimple-custom-series-bubble dimple-custom-format-6" cx="768.9424999999999" cy="438.4" r="40" opacity="0.75" style="fill: rgb(231, 243, 23); stroke: rgb(231, 243, 23);" fill="#E7F317" stroke="#E7F317"></circle><circle id="dimple-immo-normandy-fr----" class="dimple-series-0 dimple-bubble dimple-immo-normandy-fr dimple-custom-series-bubble dimple-custom-format-7" cx="215.606" cy="442.8" r="40" opacity="0.75" style="fill: rgb(23, 139, 231); stroke: rgb(23, 139, 231);" fill="#178BE7" stroke="#178BE7"></circle><circle id="dimple-leforestier-immobilier-com----" class="dimple-series-0 dimple-bubble dimple-leforestier-immobilier-com dimple-custom-series-bubble dimple-custom-format-8" cx="888.7617499999999" cy="68.89000000000004" r="40" opacity="0.75" style="fill: rgb(255, 0, 0); stroke: rgb(255, 0, 0);" fill="#FF0000" stroke="#FF0000"></circle><circle id="dimple-neytimmobilier-com----" class="dimple-series-0 dimple-bubble dimple-neytimmobilier-com dimple-custom-series-bubble dimple-custom-format-9" cx="492.78349999999995" cy="406.15" r="40" opacity="0.75" style="fill: rgb(162, 208, 92); stroke: rgb(162, 208, 92);" fill="#A2D05C" stroke="#A2D05C"></circle><circle id="dimple-odilemuraz-immobilier-fr----" class="dimple-series-0 dimple-bubble dimple-odilemuraz-immobilier-fr dimple-custom-series-bubble dimple-custom-format-10" cx="316.001" cy="438.4" r="40" opacity="0.75" style="fill: rgb(46, 151, 208); stroke: rgb(46, 151, 208);" fill="#2E97D0" stroke="#2E97D0"></circle><circle id="dimple-terresetdemeuresdenormandie-com----" class="dimple-series-0 dimple-bubble dimple-terresetdemeuresdenormandie-com dimple-custom-series-bubble dimple-custom-format-1" cx="129.03349999999995" cy="250.74999999999997" r="40" opacity="0.75" style="fill: rgb(208, 231, 46); stroke: rgb(208, 231, 46);" fill="#D0E72E" stroke="#D0E72E"></circle></g><text x="195.818" y="414.95" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 195.818, 414.95)">artpierre-immo.com</text><text x="211.9685" y="287.4" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 211.9685, 287.4)">canyimmobilier.com</text><text x="711.9065" y="382.7" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 711.9065, 382.7)">cotes-et-mer.fr</text><text x="741.443" y="397.35" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 741.443, 397.35)">demeures-cotesdalbatre.fr</text><text x="491.3285000000001" y="409.1" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 491.3285000000001, 409.1)">demeures-cotieres.fr</text><text x="768.9424999999999" y="438.4" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 768.9424999999999, 438.4)">demeuresdeshautesfalaises.fr</text><text x="215.606" y="442.8" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 215.606, 442.8)">immo-normandy.fr</text><text x="888.7617499999999" y="68.89000000000004" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 888.7617499999999, 68.89000000000004)">leforestier-immobilier.com</text><text x="492.78349999999995" y="406.15" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 492.78349999999995, 406.15)">neytimmobilier.com</text><text x="316.001" y="438.4" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 316.001, 438.4)">odilemuraz-immobilier.fr</text><text x="129.03349999999995" y="250.74999999999997" style="text-anchor: middle; font-size: 10px; font-family: sans-serif; opacity: 0.9;" transform="rotate(0, 129.03349999999995, 250.74999999999997)">terresetdemeuresdenormandie.com</text></svg>
|
@@ -0,0 +1,26 @@
|
|
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 %}
|
@@ -0,0 +1,22 @@
|
|
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/seo.html
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
<div class="js-tabs" data-existing-hx="h2" data-tabs-prefix-class="tabs">
|
2
|
+
<ul class="js-tablist">
|
3
|
+
<li class="js-tablist__item">
|
4
|
+
<a href="#seo-blocking" class="js-tablist__link">Blocking URLs</a>
|
5
|
+
</li>
|
6
|
+
<li class="js-tablist__item">
|
7
|
+
<a href="#seo-status" class="js-tablist__link">URL status</a>
|
8
|
+
</li>
|
9
|
+
<li class="js-tablist__item">
|
10
|
+
<a href="#seo-title" class="js-tablist__link">Title 1 Length</a>
|
11
|
+
</li>
|
12
|
+
<li class="js-tablist__item">
|
13
|
+
<a href="#seo-meta-description" class="js-tablist__link">Meta Description Length</a>
|
14
|
+
</li>
|
15
|
+
<li class="js-tablist__item">
|
16
|
+
<a href="#seo-h1" class="js-tablist__link">H1 length</a>
|
17
|
+
</li>
|
18
|
+
<li class="js-tablist__item">
|
19
|
+
<a href="#seo-page-size" class="js-tablist__link">Page Size</a>
|
20
|
+
</li>
|
21
|
+
<li class="js-tablist__item">
|
22
|
+
<a href="#seo-image-size" class="js-tablist__link">Image Size</a>
|
23
|
+
</li>
|
24
|
+
<li class="js-tablist__item">
|
25
|
+
<a href="#seo-response-time" class="js-tablist__link">Response Time</a>
|
26
|
+
</li>
|
27
|
+
</ul>
|
28
|
+
|
29
|
+
{% for website in sites %}
|
30
|
+
{% if forloop.first %}
|
31
|
+
|
32
|
+
<div id="seo-blocking" class="js-tabcontent">
|
33
|
+
<h3>Blocking URLs</h3>
|
34
|
+
<p>Les urls longues qui bloquent le chargement d’une page.</p>
|
35
|
+
{% for data in file reversed %}
|
36
|
+
{% if forloop.first %}
|
37
|
+
{% assign gpagespeed = site.data.[website].gpagespeed[data] %}
|
38
|
+
<ol class="flex-list">
|
39
|
+
{% for urlBlocks in gpagespeed.formattedResults.ruleResults.MinimizeRenderBlockingResources.urlBlocks %}
|
40
|
+
{% if forloop.length != 0 %}
|
41
|
+
{% for url in urlBlocks.urls %}
|
42
|
+
{% for arg in url.result.args %}
|
43
|
+
<li><a href="{{ arg.value }}">{{ arg.value }}</a></li>
|
44
|
+
{% endfor %}
|
45
|
+
{% endfor %}
|
46
|
+
{% endif %}
|
47
|
+
{% endfor %}
|
48
|
+
</ol>
|
49
|
+
{% endif %}
|
50
|
+
{% endfor %}
|
51
|
+
</div>
|
52
|
+
|
53
|
+
{% for data in file reversed %}
|
54
|
+
{% if forloop.first %}
|
55
|
+
{% assign screamingfrog = site.data.[website].screamingfrog[data] %}
|
56
|
+
<div id="seo-status" class="js-tabcontent screamingfrog">
|
57
|
+
<h3>URL status (different of OK)</h3>
|
58
|
+
<p>Les urls présentant un status différent de valide.</p>
|
59
|
+
<ol class="flex-list">
|
60
|
+
{% assign list = screamingfrog | sort: 'Status Code' | reverse %}
|
61
|
+
{% for topList in list %}
|
62
|
+
{% assign value = topList.[Status Code] %}
|
63
|
+
{% if value != "OK" %}<li><a href='{{ topList.Address }}'
|
64
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
65
|
+
<span>{{ value | intcomma: '’' }}</span></li>{% endif %}
|
66
|
+
{% endfor %}
|
67
|
+
</ol>
|
68
|
+
</div>
|
69
|
+
<div id="seo-title" class="js-tabcontent screamingfrog">
|
70
|
+
<h3>Title 1 Length</h3>
|
71
|
+
<p>Si plus de 65 caractères</p>
|
72
|
+
<ol class="flex-list">
|
73
|
+
{% assign list = screamingfrog | sort: 'Title 1 Length' | reverse %}
|
74
|
+
{% for topList in list %}
|
75
|
+
{% assign value = topList.["Title 1 Length"] | times: 1 %}
|
76
|
+
{% if value > 65 %}<li><a href='{{ topList.Address }}'
|
77
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
78
|
+
<span>{{ value | intcomma: '’' }} Characters</span></li>{% endif %}
|
79
|
+
{% endfor %}
|
80
|
+
</ol>
|
81
|
+
</div>
|
82
|
+
<div id="seo-meta-description" class="js-tabcontent screamingfrog">
|
83
|
+
<h3>Meta Description 1 Length</h3>
|
84
|
+
<p>Si plus de 155 caractères.</p>
|
85
|
+
<ol class="flex-list">
|
86
|
+
{% assign list = screamingfrog | sort: 'Meta Description 1 Length' | reverse %}
|
87
|
+
{% for topList in list %}
|
88
|
+
{% assign value = topList.["Meta Description 1 Length"] | times: 1 %}
|
89
|
+
{% if value > 155 %}<li><a href='{{ topList.Address }}'
|
90
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
91
|
+
<span>{{ value | intcomma: '’' }} Characters</span></li>{% endif %}
|
92
|
+
{% endfor %}
|
93
|
+
</ol>
|
94
|
+
</div>
|
95
|
+
<div id="seo-h1" class="js-tabcontent screamingfrog">
|
96
|
+
<h3>H1-1 length</h3>
|
97
|
+
<p>Si plus de 70 caractères.</p>
|
98
|
+
<ol class="flex-list">
|
99
|
+
{% assign list = screamingfrog | sort: 'H1-1 length' | reverse %}
|
100
|
+
{% for topList in list %}
|
101
|
+
{% assign value = topList.["H1-1 length"] | times: 1 %}
|
102
|
+
{% if value > 70 %}<li><a href='{{ topList.Address }}'
|
103
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
104
|
+
<span>{{ value | intcomma: '’' }} Characters</span></li>{% endif %}
|
105
|
+
{% endfor %}
|
106
|
+
</ol>
|
107
|
+
</div>
|
108
|
+
<div id="seo-page-size" class="js-tabcontent screamingfrog">
|
109
|
+
<h3>Page Size</h3>
|
110
|
+
<p>Les pages les plus lourdes.</p>
|
111
|
+
<ol class="flex-list">
|
112
|
+
{% assign list = screamingfrog | sort: 'Size (bytes)' | reverse %}
|
113
|
+
{% for topList in list %}
|
114
|
+
{% assign content = topList.["Content"] %}
|
115
|
+
{% assign value = topList.["Size (bytes)"] | times: 1 %}
|
116
|
+
{% if content != "image/jpeg" and content != "image/png" and content != "image/gif" and topList.Indexability == "Indexable" %}{% if value > 220000 %}
|
117
|
+
<li><a href='{{ topList.Address }}'
|
118
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
119
|
+
<span>{{ value | filesize }}</span></li>{% endif %}{% endif %}
|
120
|
+
{% endfor %}
|
121
|
+
</ol>
|
122
|
+
</div>
|
123
|
+
<div id="seo-image-size" class="js-tabcontent screamingfrog">
|
124
|
+
<h3>Image Size</h3>
|
125
|
+
<p>Les images les plus lourdes.</p>
|
126
|
+
<ol class="flex-list">
|
127
|
+
{% for topList in list %}
|
128
|
+
{% assign content = topList.["Content"] %}
|
129
|
+
{% assign value = topList.["Size (bytes)"] | times: 1 %}
|
130
|
+
{% if content == "image/jpeg" or content == "image/png" or content == "image/gif" %}{% if value > 180000 %}
|
131
|
+
<li>
|
132
|
+
<a href='{{ topList.Address }}'
|
133
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
134
|
+
<span>{{ value | filesize }}</span></li>{% endif %}{% endif %}
|
135
|
+
{% endfor %}
|
136
|
+
</ol>
|
137
|
+
</div>
|
138
|
+
<div id="seo-response-time" class="js-tabcontent screamingfrog">
|
139
|
+
<h3>Response Time</h3>
|
140
|
+
<p>Temps de réponse.</p>
|
141
|
+
<ol class="flex-list">
|
142
|
+
{% assign list = screamingfrog | sort: 'Response Time' | reverse %}
|
143
|
+
{% for topList in list %}
|
144
|
+
{% assign content = topList.["Content"] %}
|
145
|
+
{% assign value = topList.["Response Time"] %}
|
146
|
+
{% if content != "image/jpeg" and value > "1" %}<li><a href='{{ topList.Address }}'
|
147
|
+
title='{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}'>{{ topList.Address | replace: "https://www.leforestier-immobilier.com",""}}</a>
|
148
|
+
<span>{{ value }} s</span></li>{% endif %}
|
149
|
+
{% endfor %}
|
150
|
+
</ol>
|
151
|
+
</div>
|
152
|
+
{% endif %}
|
153
|
+
{% endfor %}
|
154
|
+
|
155
|
+
{% comment %}
|
156
|
+
{% for data in file reversed %}
|
157
|
+
{% if forloop.first %}
|
158
|
+
{% assign seocli = site.data.[website].seocli[data] %}
|
159
|
+
<div class="seocli">
|
160
|
+
{% for topList in seocli.topLists %}
|
161
|
+
<h3>{{topList.[0]}}</h3>
|
162
|
+
<ul>
|
163
|
+
{% for lists in topList %}
|
164
|
+
{% for list in lists %}
|
165
|
+
<li><a href="{{ list.uri }}">{{ list.uri | replace: "https://www.leforestier-immobilier.com","" }}</a></li>
|
166
|
+
{% endfor %}
|
167
|
+
{% endfor %}
|
168
|
+
</ul>
|
169
|
+
{% endfor %}
|
170
|
+
</div>
|
171
|
+
{% endif %}
|
172
|
+
{% endfor %}
|
173
|
+
{% endcomment %}
|
174
|
+
|
175
|
+
{% endif %}
|
176
|
+
{% endfor %}
|
177
|
+
</div>
|
@@ -0,0 +1,173 @@
|
|
1
|
+
<script src="/assets/js/frappe-charts.min.iife.js"></script>
|
2
|
+
<script>
|
3
|
+
const frappeoptions = {
|
4
|
+
type: 'line',
|
5
|
+
valuesOverPoints: 1,
|
6
|
+
colors: ['#de425b'],
|
7
|
+
lineOptions: {
|
8
|
+
// regionFill: 1,
|
9
|
+
// heatline: 1
|
10
|
+
}
|
11
|
+
}
|
12
|
+
</script>
|
13
|
+
<div class="js-tabs" data-existing-hx="h2" data-tabs-prefix-class="tabs">
|
14
|
+
<ul class="js-tablist">
|
15
|
+
{% for website in sites %}
|
16
|
+
<li class="js-tablist__item">
|
17
|
+
<a href="#id_{{ forloop.index }}" class="js-tablist__link">{{ website }}</a>
|
18
|
+
</li>
|
19
|
+
{% endfor %}
|
20
|
+
</ul>
|
21
|
+
|
22
|
+
{% for website in sites %}
|
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
|
+
{% 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
|
+
{% 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 %}
|
26
|
+
{% assign score = "" | split: ',' %}{% for data in file %}{% if site.data.[website].gpagespeed[data] %}{% assign score = score | push: site.data.[website].gpagespeed[data].ruleGroups.SPEED.score %}{% endif %}{% endfor %}
|
27
|
+
|
28
|
+
<div id="id_{{ forloop.index }}" class="js-tabcontent">
|
29
|
+
<h3>{{ website }}</h3>
|
30
|
+
<div class="flex">
|
31
|
+
<div>
|
32
|
+
<strong>Temps de chargement</strong>
|
33
|
+
<div id="chart-{{ website }}-1" class="ct-chart"></div>
|
34
|
+
|
35
|
+
<script>
|
36
|
+
var data{{ website }}1 = {
|
37
|
+
labels: [{{ labels | join: ', ' }}],
|
38
|
+
datasets: [{
|
39
|
+
values: [{{ tti | join: ', ' }}]
|
40
|
+
}],
|
41
|
+
// yMarkers: [{
|
42
|
+
// label: "budget",
|
43
|
+
// value: 650,
|
44
|
+
// options: {
|
45
|
+
// labelPos: 'left'
|
46
|
+
// }
|
47
|
+
// }]
|
48
|
+
};
|
49
|
+
|
50
|
+
let chart{{ website}}1 = new frappe.Chart("#chart-{{ website }}-1", {
|
51
|
+
data: data{{ website }}1,
|
52
|
+
...frappeoptions
|
53
|
+
})
|
54
|
+
|
55
|
+
</script>
|
56
|
+
</div>
|
57
|
+
<div>
|
58
|
+
<strong>Score</strong>
|
59
|
+
<div id="chart-{{ website }}-2" class="ct-chart"></div>
|
60
|
+
|
61
|
+
<script>
|
62
|
+
var data{{ website }}2 = {
|
63
|
+
labels: [{{ labels | join: ', ' }}],
|
64
|
+
datasets: [{
|
65
|
+
values: [{{ score | join: ', ' }}]
|
66
|
+
}],
|
67
|
+
};
|
68
|
+
|
69
|
+
let chart{{ website }}2 = new frappe.Chart("#chart-{{ website }}-2", {
|
70
|
+
data: data{{ website }}2,
|
71
|
+
...frappeoptions
|
72
|
+
})
|
73
|
+
|
74
|
+
</script>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
{% assign score = 0 %}
|
79
|
+
{% assign timeToFirstByte = 0 %}
|
80
|
+
|
81
|
+
<div class="table">
|
82
|
+
|
83
|
+
{% for data in file %}
|
84
|
+
|
85
|
+
{% assign gpagespeed = site.data.[website].gpagespeed[data] %}
|
86
|
+
{% assign yellowlabtools = site.data.[website].yellowlabtools[data] %}
|
87
|
+
{% assign lighthouse = site.data.[website].lighthouse[data] %}
|
88
|
+
|
89
|
+
{% if gpagespeed %}
|
90
|
+
|
91
|
+
<div class="grid">
|
92
|
+
<div class="box date">
|
93
|
+
<span>Date</span>
|
94
|
+
<p>{{ data | date: "%d %b %y" }}</p>
|
95
|
+
</div>
|
96
|
+
<div class="box score">
|
97
|
+
<span class="title">Score</span>
|
98
|
+
<span class="number">{{ gpagespeed.ruleGroups.SPEED.score | round }}</span>
|
99
|
+
{% if forloop.index != 1 %}<span
|
100
|
+
class="score-difference{% if score > gpagespeed.ruleGroups.SPEED.score %} score-up{% endif %}{% if score < gpagespeed.ruleGroups.SPEED.score %} score-down{% endif %}"></span>{% endif %}
|
101
|
+
{% assign score = gpagespeed.ruleGroups.SPEED.score %}
|
102
|
+
</div>
|
103
|
+
<div class="box score">
|
104
|
+
<span class="title">TTI</span>
|
105
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd | round }}</span>
|
106
|
+
<i>ms</i>
|
107
|
+
{% if forloop.index != 1 %}<span
|
108
|
+
class="score-difference{% if timeToFirstByte > yellowlabtools.toolsResults.phantomas.metrics.timeToFirstByte %} score-down{% endif %}{% if timeToFirstByte < yellowlabtools.toolsResults.phantomas.metrics.timeToFirstByte %} score-up{% endif %}"></span>{% endif %}
|
109
|
+
{% assign timeToFirstByte = yellowlabtools.toolsResults.phantomas.metrics.domContentLoadedEnd %}
|
110
|
+
</div>
|
111
|
+
<div class="box score">
|
112
|
+
<span class="title">TTFC</span>
|
113
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss | round }}</span>
|
114
|
+
<i>ms</i>
|
115
|
+
{% if forloop.index != 1 %}<span
|
116
|
+
class="score-difference{% if timeToFirstCss > yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss %} score-down{% endif %}{% if timeToFirstCss < yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss %} score-up{% endif %}"></span>{% endif %}
|
117
|
+
{% assign timeToFirstCss = yellowlabtools.toolsResults.phantomas.metrics.timeToFirstCss %}
|
118
|
+
</div>
|
119
|
+
<div class="box score">
|
120
|
+
<span class="title">Total Bytes</span>
|
121
|
+
<span class="number">{{ gpagespeed.pageStats.totalRequestBytes | round }}</span> <i>kb</i>
|
122
|
+
{% if forloop.index != 1 %}<span
|
123
|
+
class="score-difference{% if totalRequestBytes > gpagespeed.pageStats.totalRequestBytes %} score-down{% endif %}{% if totalRequestBytes < gpagespeed.pageStats.totalRequestBytes %} score-up{% endif %}"></span>{% endif %}
|
124
|
+
{% assign totalRequestBytes = gpagespeed.pageStats.totalRequestBytes %}
|
125
|
+
</div>
|
126
|
+
<!-- <div class="box score">
|
127
|
+
<span class="title">Images Bytes</span>
|
128
|
+
<span class="number">{{ gpagespeed.pageStats.imageResponseBytes | round }}</span> <i>kb</i>
|
129
|
+
</div> -->
|
130
|
+
<div class="box score">
|
131
|
+
<span class="title">HTML Size</span>
|
132
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.htmlSize | round }}</span>
|
133
|
+
<i>kb</i>
|
134
|
+
{% if forloop.index != 1 %}<span
|
135
|
+
class="score-difference{% if htmlSize > yellowlabtools.toolsResults.phantomas.metrics.htmlSize %} score-down{% endif %}{% if htmlSize < yellowlabtools.toolsResults.phantomas.metrics.htmlSize %} score-up{% endif %}"></span>{% endif %}
|
136
|
+
{% assign htmlSize = yellowlabtools.toolsResults.phantomas.metrics.htmlSize %}
|
137
|
+
</div>
|
138
|
+
<div class="box score">
|
139
|
+
<span class="title">JS Size</span>
|
140
|
+
<span class="number">{{ gpagespeed.pageStats.numberResources | round }}</span> <i>kb</i>
|
141
|
+
{% if forloop.index != 1 %}<span
|
142
|
+
class="score-difference{% if numberResources > gpagespeed.pageStats.numberResources %} score-down{% endif %}{% if numberResources < gpagespeed.pageStats.numberResources %} score-up{% endif %}"></span>{% endif %}
|
143
|
+
{% assign numberResources = gpagespeed.pageStats.numberResources %}
|
144
|
+
</div>
|
145
|
+
<div class="box score">
|
146
|
+
<span class="title">Ressources</span>
|
147
|
+
<span class="number">{{ gpagespeed.pageStats.numberResources | round }}</span>
|
148
|
+
{% if forloop.index != 1 %}<span
|
149
|
+
class="score-difference{% if numberResources > gpagespeed.pageStats.numberResources %} score-down{% endif %}{% if numberResources < gpagespeed.pageStats.numberResources %} score-up{% endif %}"></span>{% endif %}
|
150
|
+
{% assign numberResources = gpagespeed.pageStats.numberResources %}
|
151
|
+
</div>
|
152
|
+
<div class="box score">
|
153
|
+
<span class="title">Requests</span>
|
154
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.httpsRequests | round }}</span>
|
155
|
+
{% if forloop.index != 1 %}<span
|
156
|
+
class="score-difference{% if httpsRequests > yellowlabtools.toolsResults.phantomas.metrics.httpsRequests %} score-down{% endif %}{% if httpsRequests < yellowlabtools.toolsResults.phantomas.metrics.httpsRequests %} score-up{% endif %}"></span>{% endif %}
|
157
|
+
{% assign httpsRequests = yellowlabtools.toolsResults.phantomas.metrics.httpsRequests %}
|
158
|
+
</div>
|
159
|
+
<div class="box score">
|
160
|
+
<span class="title">Not Found</span>
|
161
|
+
<span class="number">{{ yellowlabtools.toolsResults.phantomas.metrics.notFound | round }}</span>
|
162
|
+
{% if forloop.index != 1 %}<span
|
163
|
+
class="score-difference{% if notFound > yellowlabtools.toolsResults.phantomas.metrics.notFound %} score-down{% endif %}{% if notFound < yellowlabtools.toolsResults.phantomas.metrics.notFound %} score-up{% endif %}"></span>{% endif %}
|
164
|
+
{% assign notFound = yellowlabtools.toolsResults.phantomas.metrics.notFound %}
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
{% endif %}
|
168
|
+
|
169
|
+
{% endfor %}
|
170
|
+
</div>
|
171
|
+
</div>
|
172
|
+
{% endfor %}
|
173
|
+
</div>
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<h3>CSS</h3>
|
2
|
+
<p>Lister la taille, la simplicité, le nombre de polices… pour réduire le chargement.</p>
|
3
|
+
|
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>
|
18
|
+
</div>
|
19
|
+
{% endif %}
|
20
|
+
{% endfor %}
|
21
|
+
</div>
|
22
|
+
{% endif %}
|
23
|
+
{% endfor %}
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<h3>Colors</h3>
|
27
|
+
<p>Liste des couleurs de la charte graphique. Supprimer les couleurs trop similaires ou non utilisées.</p>
|
28
|
+
|
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}}
|
41
|
+
</div>
|
42
|
+
{% endfor %}
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
{% endif %}
|
46
|
+
{% endfor %}
|
47
|
+
{% endif %}
|
48
|
+
|
49
|
+
{% endif %}
|
50
|
+
{% endfor %}
|
@@ -0,0 +1,33 @@
|
|
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 %}
|