monitoring-jekyll-theme 0.1.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 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 %}
@@ -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 %}