38 |
39 | ## Auteur
40 |
41 | 2019-2020, Direction interministérielle du numérique.
42 | 2020-2022, Ministère de l’économie, des Finances et de la Relance.
43 |
--------------------------------------------------------------------------------
/assets/css/base/layout.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Layout
3 | */
4 |
5 | :root {
6 | --layout-max-width: 78rem;
7 | }
8 |
9 | /* Page & Wrapper
10 | // -------------------------
11 | */
12 |
13 | .page {
14 | padding-bottom: var(--baseline,1.5em);
15 | }
16 |
17 | .page,
18 | .fg-wrapper {
19 | margin-right: auto;
20 | margin-left: auto;
21 | width: 100vw;
22 | max-width: 100%;
23 | }
24 |
25 | .fg-wrapper {
26 | padding-right: var(--baseline,1.5em);
27 | padding-left: var(--baseline,1.5em);
28 | width: clamp(16rem, 90%, var(--layout-max-width));
29 | }
30 |
31 | .narrow {
32 | max-width: 90ch;
33 | }
34 |
35 | /* Flex
36 | // -------------------------
37 | */
38 |
39 | .flex {
40 | flex-direction: column;
41 | justify-content: center;
42 | }
43 |
44 | .flex-gap > * {
45 | margin: 0 0 calc(var(--baseline,1.5em) / 2);
46 | }
47 |
48 | .flex-wrap {
49 | flex-wrap: wrap;
50 | }
51 |
52 | @media screen and (min-width: 56.25em) {
53 | .flex {
54 | display: flex;
55 | flex-direction: row;
56 | }
57 |
58 | .flex-gap {
59 | gap: 0 calc(var(--baseline,1.5em) / 2);
60 | }
61 |
62 | .flex-gap > * {
63 | margin: 0;
64 | }
65 | }
66 |
67 | .flex > * {
68 | flex: 1;
69 | }
70 |
71 | .flex-max {
72 | flex: 999;
73 | }
74 |
75 | .flex-min {
76 | flex: 0.001;
77 | }
78 |
79 | .flex-column {
80 | -ms-flex-direction: column;
81 | flex-direction: column;
82 | }
83 |
84 | /* Grid
85 | // -------------------------
86 | */
87 |
88 | @supports (grid-area: auto) {
89 | .grid {
90 | display: grid;
91 | grid-gap: 1.5em;
92 | padding: 0;
93 | }
94 |
95 | .grid-center {
96 | display: grid;
97 | place-items: center;
98 | }
99 |
100 | .grid-4 {
101 | grid-template-columns: repeat(2, minmax(250px, 1fr)) !important;
102 | }
103 | }
104 |
105 | .grid-separator > *:not(:first-child) {
106 | position: relative;
107 | border-top: #f1f1f1 2px solid;
108 | padding: 1em 0 0;
109 | }
110 |
111 | @media screen and (min-width: 56.25em) {
112 | .grid {
113 | grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
114 | }
115 |
116 | .grid-4 > * {
117 | grid-template-columns: repeat(auto-fit, minmax(150px, 300px)) !important;
118 | }
119 | }
120 |
121 |
122 | /* Margin
123 | // -------------------------
124 | */
125 |
126 | .margin-baseline {
127 | margin-bottom: var(--baseline,1.5em);
128 | }
129 |
130 | .padding-baseline {
131 | padding-top: var(--baseline,1.5em);
132 | padding-bottom: var(--baseline,1.5em);
133 | }
134 |
135 | /* Alignement
136 | // -------------------------
137 | */
138 |
139 | .row-reverse {
140 | flex-direction: row-reverse;
141 | }
142 |
143 | .align-items-center {
144 | align-items: center;
145 | -ms-flex-align: center;
146 | }
147 |
148 | .justify-content-center {
149 | -ms-flex-pack: center;
150 | justify-content: center;
151 | }
152 |
153 | .justify-content-end {
154 | -ms-flex-pack: end;
155 | justify-content: flex-end;
156 | }
157 |
--------------------------------------------------------------------------------
/assets/css/element/blockquote.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Blockquotes
3 | */
4 |
5 | blockquote {
6 | margin-bottom: var(--baseline,1.5em);
7 | padding: calc(var(--baseline,1.5em) / 2) var(--baseline,1.5em) calc(var(--baseline,1.5em) / 4);
8 | font-size: calc(1rem * var(--ms1));
9 | border-left: 5px solid var(--color-primary);
10 | background-color: #fff;
11 | quotes: "\201C""\201D""\2018""\2019";
12 | }
13 |
14 | blockquote:before {
15 | color: var(--text-color);
16 | content: open-quote;
17 | font-size: 2rem;
18 | line-height: 0.1rem;
19 | margin-right: 0.25rem;
20 | vertical-align: -0.4rem;
21 | }
22 |
23 | blockquote,
24 | blockquote p,
25 | q {
26 | color: var(--color-grey-dark);
27 | }
28 |
29 | q {
30 | quotes: "“" "”";
31 | }
32 |
33 | q:lang(de) {
34 | quotes: "„" "“";
35 | }
36 |
37 |
38 |
--------------------------------------------------------------------------------
/assets/css/element/codeformatting.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Code formatting
3 | */
4 |
5 | pre,
6 | code {
7 | font-size: 0.9em;
8 | color: var(--color-grey-light,#fefefe);
9 | border: 1px solid var(--color-grey-light);
10 | border-radius: 3px;
11 | background-color: #272822;
12 | }
13 |
14 | code {
15 | padding: 1px 5px;
16 | }
17 |
18 | pre > code {
19 | padding-right: 0;
20 | padding-left: 0;
21 | border: 0;
22 | background: none;
23 | }
24 |
--------------------------------------------------------------------------------
/assets/css/element/definitionlists.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Description Lists
3 | */
4 |
5 | dl {
6 | margin-top: 0;
7 | margin-bottom: var(--baseline,1.5em);
8 | }
9 |
10 | dt,
11 | dd {
12 | line-height: var(--line-height-base);
13 | }
14 |
15 | dt {
16 | margin-top: calc(var(--baseline,1.5em) / 2);
17 | font-size: var(--bigger);
18 | font-weight: bold;
19 | }
20 |
21 | dd {
22 | margin-left: 0;
23 | }
24 |
--------------------------------------------------------------------------------
/assets/css/element/embed.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// iFrame
3 | */
4 |
5 | embed {
6 | margin-bottom: var(--baseline,1.5em);
7 | width: 100%;
8 | min-height: 800px;
9 | }
10 |
11 | iframe,
12 | embed,
13 | object,
14 | video {
15 | max-width: 100%;
16 | }
17 |
--------------------------------------------------------------------------------
/assets/css/element/table.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Table
3 | */
4 |
5 | table {
6 | margin-bottom: var(--baseline,1.5em);
7 | width: 100%;
8 | font-size: var(--smaller);
9 | color: var(--color-grey-dark);
10 | border: none;
11 | border: 1px solid var(--color-grey-verydark);
12 | border-collapse: collapse;
13 | border-left: 1px solid #000;
14 | background-color: #fff;
15 | }
16 |
17 | table caption {
18 | font-size: var(--bigger);
19 | font-weight: bold;
20 | text-align: left;
21 | color: var(--text-color);
22 | }
23 |
24 | table thead tr {
25 | height: 50px;
26 | }
27 | table tbody tr {
28 | height: 70px;
29 | }
30 |
31 | table th {
32 | color: var(--color-grey-verylight);
33 | border-bottom: 1px solid #000;
34 | border-left: 2px solid #000;
35 | background-color: #000;
36 | }
37 |
38 | table tbody th {
39 | color: var(--color-grey-dark);
40 | background-color: var(--color-primary-verylight);
41 | }
42 |
43 | table tr {
44 | border-bottom: 1px solid var(--color-grey-dark);
45 | }
46 |
47 | table tr:last-child {
48 | border: none;
49 | }
50 |
51 | table th,
52 | table td {
53 | padding: 5px 10px;
54 | }
55 |
56 | table td {
57 | border-left: 1px solid #000;
58 | color: #000;
59 | }
60 |
61 |
--------------------------------------------------------------------------------
/assets/css/element/tableofcontents.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Table of content
3 | */
4 |
5 | .tableofcontents {
6 | margin: var(--baseline,1.5em) 0 calc(var(--baseline,1.5em) * 2);
7 | padding: 0 var(--baseline,1.5em) var(--baseline,1.5em);
8 | color: var(--text-color);
9 | border: 1px solid #dedede;
10 | background: var(--background-color-body, #fff);
11 | }
12 |
13 | .tableofcontents ul {
14 | margin: var(--baseline,1.5em) 0 0;
15 | padding-left: var(--baseline,1.5em);
16 | }
17 |
18 | .tableofcontents a {
19 | color: var(--text-color);
20 | }
21 |
22 | .tableofcontents a {
23 | font-weight: 700;
24 | }
25 |
--------------------------------------------------------------------------------
/assets/css/fonts.css:
--------------------------------------------------------------------------------
1 | @media (prefers-reduced-data: no-preference) {
2 | /* Marianne-Light - latin */
3 | @font-face {
4 | font-family: 'Marianne';
5 | font-style: normal;
6 | font-weight: 300;
7 | src: local('Marianne Light'), local('Marianne-Light'),
8 | url('/assets/fonts/Marianne-Light.woff2') format('woff2');
9 | font-display: optional;
10 | }
11 | /* Marianne-regular - latin */
12 | @font-face {
13 | font-family: 'Marianne';
14 | font-style: normal;
15 | font-weight: 400;
16 | src: local('Marianne Regular'), local('Marianne-Regular'),
17 | url('/assets/fonts/Marianne-Regular.woff2') format('woff2');
18 | font-display: optional;
19 | }
20 | /* Marianne-Bold - latin */
21 | @font-face {
22 | font-family: 'Marianne';
23 | font-style: normal;
24 | font-weight: 600;
25 | src: local('Marianne SemiBold'), local('Marianne-SemiBold'),
26 | url('/assets/fonts/Marianne-Bold.woff2') format('woff2');
27 | font-display: optional;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/assets/css/mermaid.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Mermaid JS
3 | */
4 |
5 | .mermaid {
6 | margin: 0 auto 1.5rem;
7 | max-width: 1400px;
8 | text-align: center;
9 | }
10 |
11 | .mermaid.meetings text {
12 | fill: black !important;
13 | }
14 |
15 | .mermaid svg {
16 | margin: auto;
17 | padding: 0 var(--baseline,1.5em);
18 | max-width: 98%;
19 | border-radius: 4px;
20 | background: #ffffff;
21 | }
22 |
--------------------------------------------------------------------------------
/assets/css/night-owl.min.css:
--------------------------------------------------------------------------------
1 | .hljs{display:block;overflow-x:auto;padding:.5em;background:#011627;color:#d6deeb}.hljs-keyword{color:#c792ea;font-style:italic}.hljs-built_in{color:#addb67;font-style:italic}.hljs-type{color:#82aaff}.hljs-literal{color:#ff5874}.hljs-number{color:#f78c6c}.hljs-regexp{color:#5ca7e4}.hljs-string{color:#ecc48d}.hljs-subst{color:#d3423e}.hljs-symbol{color:#82aaff}.hljs-class{color:#ffcb8b}.hljs-function{color:#82aaff}.hljs-title{color:#dcdcaa;font-style:italic}.hljs-params{color:#7fdbca}.hljs-comment{color:#637777;font-style:italic}.hljs-doctag{color:#7fdbca}.hljs-meta{color:#82aaff}.hljs-meta-keyword{color:#82aaff}.hljs-meta-string{color:#ecc48d}.hljs-section{color:#82b1ff}.hljs-builtin-name,.hljs-name,.hljs-tag{color:#7fdbca}.hljs-attr{color:#7fdbca}.hljs-attribute{color:#80cbc4}.hljs-variable{color:#addb67}.hljs-bullet{color:#d9f5dd}.hljs-code{color:#80cbc4}.hljs-emphasis{color:#c792ea;font-style:italic}.hljs-strong{color:#addb67;font-weight:700}.hljs-formula{color:#c792ea}.hljs-link{color:#ff869a}.hljs-quote{color:#697098;font-style:italic}.hljs-selector-tag{color:#ff6363}.hljs-selector-id{color:#fad430}.hljs-selector-class{color:#addb67;font-style:italic}.hljs-selector-attr,.hljs-selector-pseudo{color:#c792ea;font-style:italic}.hljs-template-tag{color:#c792ea}.hljs-template-variable{color:#addb67}.hljs-addition{color:#addb67ff;font-style:italic}.hljs-deletion{color:#ef535090;font-style:italic}
2 |
--------------------------------------------------------------------------------
/assets/css/object/benchmark.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Benchmark
3 | */
4 |
5 | .benchmark {
6 | margin: calc(var(--baseline,1.5em) * 2) auto 0;
7 | }
8 |
9 | .benchmark:empty {
10 | display: none;
11 | }
12 |
13 | .benchmark > * {
14 | position: relative;
15 | flex-direction: column;
16 | padding-bottom: 2em;
17 | border: 1px solid var(--color-grey);
18 | background: #fff;
19 | }
20 |
21 | .benchmark-name {
22 | position: absolute;
23 | bottom: 0;
24 | display: grid;
25 | align-content: center;
26 | padding: 0 0.5em;
27 | width: 100%;
28 | line-height: 1;
29 | min-height: 3em;
30 | font-size: var(--smaller);
31 | color: #fff;
32 | background: rgba(0,0,0,0.8);
33 | }
34 |
35 | .benchmark figure {
36 | padding: var(--baseline,1.5em);
37 | text-align: center;
38 | background: #fff;
39 | }
40 |
41 | .benchmark img {
42 | margin: auto;
43 | }
44 |
--------------------------------------------------------------------------------
/assets/css/object/breadcrumb.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Breadcrumb
3 | */
4 |
5 | .breadcrumb {
6 | display: flex;
7 | flex-wrap: wrap;
8 | padding: var(--baseline,1.5em) calc(var(--baseline,1.5em) / 2);
9 | margin: 0 0 var(--baseline,1.5em);
10 | font-size: var(--smaller);
11 | list-style: none;
12 | }
13 |
14 | .breadcrumb-item {
15 | margin: 0;
16 | }
17 |
18 | .breadcrumb-item + .breadcrumb-item {
19 | padding-left: calc(var(--baseline,1.5em) / 2);
20 | }
21 |
22 | .breadcrumb-item + .breadcrumb-item a::before,
23 | .breadcrumb-item + .breadcrumb-item span::before {
24 | display: inline-block;
25 | padding-right: calc(var(--baseline,1.5em) / 2);
26 | content: '>';
27 | }
28 |
29 | .breadcrumb-item + .breadcrumb-item:hover::before {
30 | text-decoration: underline;
31 | }
32 |
33 | .breadcrumb-item + .breadcrumb-item:hover::before {
34 | text-decoration: none;
35 | }
36 |
37 | .breadcrumb-item .active {
38 | color: red;
39 | }
40 |
41 | .breadcrumb-item .--has-menu span {
42 | position: relative;
43 | }
44 |
45 | .breadcrumb-item:hover .--has-menu span + ul {
46 | display: block;
47 | }
48 |
49 | .breadcrumb-item .--has-menu span a:after {
50 | padding-left: .5em;
51 | content: "\25BE";
52 | }
53 |
54 | .breadcrumb-item .--has-menu span ul {
55 | display: none;
56 | position: absolute;
57 | margin: 0;
58 | padding: 0;
59 | min-width: 30vw;
60 | z-index: 3;
61 | margin-left: 1em;
62 | background-color: #fefefe;
63 | }
64 |
65 | .breadcrumb-item .--has-menu span a {
66 | display: block;
67 | margin: 0;
68 | padding: calc(var(--baseline,1.5em) / 4) var(--baseline,1.5em);
69 | }
70 |
71 | .breadcrumb-item .--has-menu span a:hover {
72 | color: #fefefe;
73 | background: #333;
74 | }
75 |
--------------------------------------------------------------------------------
/assets/css/object/buttons.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Buttons
3 | */
4 |
5 | form,body {
6 | --btn-bg--default: var(--base-primary);
7 | }
8 |
9 | input[type="submit"],.btn {
10 | display: inline-flex;
11 | align-items: center;
12 | justify-content: center;
13 | box-sizing: border-box;
14 | margin: var(--baseline,1.5em) 0;
15 | padding: calc(var(--baseline,1.5em) / 2) var(--baseline,1.5em);
16 | font-size: inherit;
17 | cursor: pointer;
18 | transition: background 0.45s;
19 | text-decoration: none;
20 | letter-spacing: .03125em;
21 | color: #fff;
22 | border: none;
23 | border-radius: 0;
24 | transition: all ease 0.15s;
25 | cursor: pointer;
26 | background: var(--background-effect, hsl(var(--btn-bg--state,var(--btn-bg,var(--btn-bg--type,var(--btn-bg--default)))), var(--base-sat), var(--base-light)));
27 | /* box-shadow: var(--enable-shadows,0 1px 1px rgba(0,0,0,0.08),0 2px 2px rgba(0,0,0,0.12),0 4px 4px rgba(0,0,0,0.16),0 8px 8px rgba(0,0,0,0.20)); */
28 | }
29 |
30 | input[type="submit"]:not(:disabled):hover,
31 | .btn:not(:disabled):hover {
32 | --base-light: 30%;
33 | text-decoration: none;
34 | /* box-shadow: var(--enable-shadows,0 8px 8px rgba(0,0,0,0.04),0 10px 10px rgba(0,0,0,0.08)); */
35 | text-decoration: none;
36 | transform: translateY(0);
37 | }
38 |
39 | input[type="submit"]:not(:disabled):active,
40 | .btn:not(:disabled):active {
41 | --base-light: 20%;
42 | transform: translate(0);
43 | /* box-shadow: var(--enable-shadows, inset 1px 1px 1px rgba(0, 0, 0, 0.11), inset 1px 1px 2px rgba(0, 0, 0, 0.11), inset 1px 1px 4px rgba(0, 0, 0, 0.31)); */
44 | }
45 |
46 | input[type="submit"]:disabled,
47 | .btn:disabled {
48 | --background-effect: var(--color-grey);
49 | --enable-shadows: none;
50 | --btn-bg--state: 0;
51 | cursor: not-allowed;
52 | color: var(--color-grey-verylight);
53 | box-shadow: none;
54 | text-shadow: 1px 1px 2px var(--color-grey);
55 | }
56 |
57 | .skip {
58 | --base-opacity: 0;
59 | --enable-shadows: none;
60 | --btn-bg--state: transparent;
61 | color: var(--text-color, #555);
62 | }
63 |
64 | .primary {
65 | --btn-bg--type: var(--base-primary);
66 | }
67 |
68 | .secondary {
69 | --btn-bg--type: var(--base-secondary);
70 | }
71 |
72 | .warning {
73 | --btn-bg--type: calc(var(--base-hue) + 30);
74 | }
75 |
76 | .action {
77 | --btn-bg--type: calc(var(--base-hue) + 120);
78 | }
79 |
80 | .btn-large {
81 | font-size: var(--bigger);
82 | }
83 |
84 | .btn-small {
85 | font-size: var(--smaller);
86 | }
87 |
--------------------------------------------------------------------------------
/assets/css/object/card.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Card
3 | */
4 |
5 | .card {
6 | position: relative;
7 | display: -ms-grid;
8 | display: grid;
9 | -ms-grid-columns: 100%;
10 | -ms-grid-rows: auto 1fr auto;
11 | grid-template-columns: 100%;
12 | grid-template-rows: auto 1fr auto;
13 | overflow: hidden;
14 | justify-content: center;
15 | padding: var(--baseline,1.5em);
16 | min-height: 5em;
17 | font-weight: bold;
18 | background: var(--background-color-grey);
19 | }
20 |
21 | .card {
22 | padding: var(--baseline,1.5em);
23 | color: #666;
24 | color: var(--background-color);
25 | border-radius: 30px;
26 | box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.1);
27 | }
28 |
29 | .card h3 a {
30 | text-decoration: none;
31 | color: var(--text-color);
32 | }
33 |
34 | .card h3 a:hover {
35 | text-decoration: underline;
36 | }
37 |
38 | .card-inline {
39 | display: flex;
40 | align-items: center;
41 | flex-wrap: wrap;
42 | justify-content: center;
43 | margin-bottom: var(--baseline,1.5em);
44 | padding: 0 var(--baseline,1.5em);
45 | text-decoration: none;
46 | color: var(--text-color);
47 | }
48 |
49 | .card-inline > * {
50 | padding: var(--baseline,1.5em) 0;
51 | width: 100%;
52 | }
53 |
54 | .card-inline > h2 {
55 | flex: 1;
56 | margin: 0;
57 | max-width: 75%;
58 | }
59 |
60 | @media screen and (min-width: 37.5em) {
61 | .card-inline {
62 | justify-content: space-between;
63 | text-align: left;
64 | }
65 | .card-inline > * {
66 | width: auto;
67 | }
68 | }
69 |
70 | .card-inline:hover {
71 | background: var(--background-color-grey-dark);
72 | }
73 |
74 | .card-inline:active {
75 | background: var(--background-color-grey-verydark);
76 | }
77 |
78 | .card-animate:focus-within,
79 | .card-animate:hover {
80 | transform: scale(1.03);
81 | opacity: 1;
82 | }
83 |
84 | .card-animate {
85 | transition: 0.3s opacity, 0.3s transform;
86 | pointer-events: auto;
87 | }
88 |
89 | .card-border {
90 | border: 1px solid var(--color-primary-dark);
91 | }
92 |
93 | .card-background {
94 | background: #fefefe;
95 | border: 2px solid #aaa;
96 | border-top: none;
97 | color: #000;
98 | }
99 |
100 | .card-shadow {
101 | box-shadow: var(--enable-shadows, 0 0 1px rgba(0, 0, 0, 0.11), 0 0 2px rgba(0, 0, 0, 0.11), 0 4px 4px rgba(0, 0, 0, 0.11));
102 | }
103 |
104 | .card h2,
105 | .card h3,
106 | .card h4 {
107 | line-height: 1.25;
108 | color: var(--color-grey-dark);
109 | }
110 |
111 | .card > figure {
112 | overflow: hidden;
113 | border: 1px solid rgba(0, 0, 0, 0.11);
114 | border-radius: 4px 4px 0 0;
115 | }
116 |
117 | .card > img {
118 | width: 100%;
119 | max-height: 7em;
120 | object-fit: cover;
121 | }
122 |
123 | .card img.full {
124 | margin: -2em calc(var(--baseline,1.5em) * -1) calc(var(--baseline,1.5em));
125 | width: calc(100% + calc(var(--baseline,1.5em) * 2));
126 | max-width: calc(100% + calc(var(--baseline,1.5em) * 2));
127 | max-height: 100em;
128 | object-fit: cover;
129 | }
130 |
131 | .card .meta-content {
132 | display: flex;
133 | flex: 1;
134 | flex-direction: column;
135 | justify-content: space-between;
136 | }
137 |
138 | .card p {
139 | color: var(--color-grey-dark);
140 | }
141 |
142 | .card a:hover {
143 | text-decoration: inherit;
144 | }
145 |
146 | .card-shadow {
147 | border: 1px solid var(--color-primary);
148 | box-shadow: var(--enable-shadows, inset 0 -0.25rem 0 0 var(--color-primary));
149 | }
150 |
--------------------------------------------------------------------------------
/assets/css/object/counter.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Counter
3 | */
4 |
5 | .counter {
6 | align-items: center;
7 | padding: calc(var(--baseline,1.5em) / 2) calc(var(--baseline,1.5em) / 4);
8 | font-family: Futura, Tahoma, Helvetica, Arial, sans-serif;
9 | color: #fff;
10 | background: var(--color-score,#204f93);
11 | background-image: radial-gradient(rgba(255,255,255,0.1) 5%, transparent 10%);
12 | background-position: 0 0, 100px 100px;
13 | background-size: 20px 20px;
14 | }
15 |
16 | .counter b {
17 | font-size: 1.5rem;
18 | }
19 |
20 | .good.counter,
21 | .dataset-0 rect {
22 | background: var(--color-score-good,#307f5c);
23 | background-image: repeating-linear-gradient(60deg, transparent, transparent 10%, rgba(255,255,255,0.1) 10%, rgba(255,255,255,0.1) 11%,rgba(0,0,0,0.05) 11%,rgba(0,0,0,0.05) 11.3%);
24 | }
25 |
26 | .bad.counter,
27 | .dataset-1 rect {
28 | background: var(--color-score-bad,#ac3636);
29 | background-image: repeating-linear-gradient(-45deg, var(--color-score-bad,#ac3636), var(--color-score-bad,#ac3636) 10%, rgba(0,0,0,0.05) 10%, rgba(0,0,0,0.05) 10.3%,rgba(255,255,255,0.1) 10.3%,rgba(255,255,255,0.1) 14%);
30 | }
31 |
32 | .medium.counter,
33 | .dataset-1 rect {
34 | background: var(--color-score-medium,#dd9c0a);
35 | background-image: repeating-linear-gradient(45deg, transparent, transparent 10%, rgba(255,255,255,0.1) 10%, rgba(255,255,255,0.1) 12%),repeating-linear-gradient(-45deg, transparent, transparent 10%, rgba(255,255,255,0.1) 10%, rgba(255,255,255,0.1) 12%);
36 | }
37 |
38 | .verygood {
39 | background: var(--color-score-verygood,#30d42a);
40 | }
41 |
42 | .verybad {
43 | background: var(--color-score-verybad,#722);
44 | }
45 |
--------------------------------------------------------------------------------
/assets/css/object/gantt.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Gantt
3 | */
4 |
5 | .gantt h3 {
6 | grid-row: 1;
7 | margin: 0;
8 | padding: calc(var(--baseline,1.5em) / 2) 0;
9 | text-align: center;
10 | color: var(--text-color);
11 | background: var(--background-color-body, #fff);
12 | }
13 |
14 | .gantt div {
15 | margin: auto;
16 | padding: 10px 10px;
17 | max-width: 90%;
18 | font-size: 12px;
19 | text-align: center;
20 | color: white;
21 | border-radius: 20px;
22 | }
23 |
24 | @media only screen and (min-width: 960px) {
25 | .gantt {
26 | display: grid;
27 | grid-template-columns: [sept-start] 1fr [sept-middle] 1fr
28 | [sept-end oct-start] 1fr [oct-middle] 1fr
29 | [oct-end nov-start] 1fr [nov-middle] 1fr
30 | [nov-end dec-start] 1fr [dec-middle] 1fr
31 | [dec-end];
32 | grid-gap: 10px 0;
33 | margin: 0 auto;
34 | padding-top: 40px;
35 | width: 100%;
36 | max-width: 1150px;
37 | }
38 |
39 | .gantt div {
40 | margin: 0;
41 | max-width: 100%;
42 | font-size: 16px;
43 | }
44 |
45 | /* Gantt */
46 | .gantt span {
47 | grid-row: 1 / span 10;
48 | border-left: 1px solid var(--text-color);
49 | }
50 |
51 | .gantt h3 {
52 | border-left: 1px solid var(--text-color);
53 | }
54 |
55 | [class$=mid] {
56 | grid-row: 1 / span 9;
57 | }
58 |
59 | h3.h-sept {
60 | grid-column: 1 / span 2;
61 | }
62 | h3.h-oct {
63 | grid-column: 3 / span 2;
64 | }
65 | h3.h-nov {
66 | grid-column: 5 / span 2;
67 | }
68 | h3.h-dec {
69 | grid-column: 7 / span 2;
70 | }
71 |
72 | span.d-1 {
73 | grid-column: 1;
74 | }
75 | span.d-1mid {
76 | grid-column: 2;
77 | border-color: var(--text-color);
78 | border-left-style: dashed;
79 | }
80 | span.d-2 {
81 | grid-column: 3;
82 | }
83 | span.d-2mid {
84 | grid-column: 4;
85 | border-color: var(--text-color);
86 | border-left-style: dashed;
87 | }
88 | span.d-3 {
89 | grid-column: 5;
90 | }
91 | span.d-3mid {
92 | grid-column: 6;
93 | border-color: var(--text-color);
94 | border-left-style: dashed;
95 | }
96 | span.d-4 {
97 | grid-column: 7;
98 | }
99 | span.d-4mid {
100 | grid-column: 8;
101 | border-color: var(--text-color);
102 | border-left-style: dashed;
103 | }
104 | span.d-5 {
105 | grid-column: 9;
106 | }
107 | span.d-5mid {
108 | grid-column: 10;
109 | border-color: var(--text-color);
110 | border-left-style: dashed;
111 | }
112 | span.d-6 {
113 | grid-column: 11;
114 | }
115 | }
116 | /* specific task styles */
117 | .t-1 {
118 | grid-row: 2;
119 | background: #b03532;
120 | }
121 | .t-2 {
122 | grid-row: 3;
123 | background: #33a8a5;
124 | }
125 | .t-3 {
126 | grid-row: 4;
127 | background: #30997a;
128 | }
129 | .t-4 {
130 | grid-row: 5;
131 | background: #6a478f;
132 | }
133 | .t-5 {
134 | grid-row: 6;
135 | background: #da6f2b;
136 | }
137 | .t-6 {
138 | grid-row: 7;
139 | background: #3d8bb1;
140 | }
141 | .t-7 {
142 | grid-row: 8;
143 | background: #e03f3f;
144 | }
145 | .t-8 {
146 | grid-row: 9;
147 | background: #59a627;
148 | }
149 | .t-9 {
150 | grid-row: 10;
151 | background: #4464a1;
152 | }
153 |
--------------------------------------------------------------------------------
/assets/css/object/icon.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Title icon
3 | */
4 |
5 | .icon:before {
6 | content: "";
7 | display: block;
8 | margin: 0 auto 1em;
9 | width: 100px;
10 | height: 100px;
11 | color: var(--color-primary-dark);
12 | border: 1px solid var(--color-primary-verylight);
13 | border-radius: 50%;
14 | background-color: #fff;
15 | background-repeat: no-repeat;
16 | background-position: center center;
17 | }
18 |
19 | .control:before {
20 | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='midnightblue' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='8.5' cy='7' r='4'%3E%3C/circle%3E%3Cpolyline points='17 11 19 13 23 9'%3E%3C/polyline%3E%3C/svg%3E");
21 | }
22 |
23 | .externalize:before {
24 | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='midnightblue' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'%3E%3Cpath d='M16 17l5-5-5-5M19.8 12H9M13 22a10 10 0 1 1 0-20'/%3E%3C/svg%3E");
25 | }
26 |
27 | .facilitate:before {
28 | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 24 24' fill='none' stroke='midnightblue' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'%3E%3C/path%3E%3C/svg%3E");
29 | }
30 |
--------------------------------------------------------------------------------
/assets/css/object/medal.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Medal
3 | */
4 |
5 | .medal span {
6 | font-weight: bold;
7 | }
8 |
9 | .medal b {
10 | display: flex;
11 | align-items: center;
12 | justify-content: center;
13 | margin: 0 auto 0.2em;
14 | width: 3em;
15 | height: 3em;
16 | font-weight: bold;
17 | color: var(--background-color-body, #fff);
18 | border-radius: 50%;
19 | background: var(--color-primary-dark);
20 | }
21 |
--------------------------------------------------------------------------------
/assets/css/object/nav-anchor.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Navigations anchor
3 | */
4 |
5 | .nav-anchor {
6 | margin-bottom: calc(var(--baseline,1.5em) * 2);
7 | padding: var(--baseline,1.5em) calc(var(--baseline,1.5em) * 2) var(--baseline,1.5em);
8 | background-color: var(--background-color);
9 | }
10 |
11 | .nav-anchor li {
12 | display: inline-block;
13 | margin: var(--baseline,1.5em) var(--baseline,1.5em) var(--baseline,1.5em) 0;
14 | }
15 |
--------------------------------------------------------------------------------
/assets/css/object/nav-language.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Nav language
3 | */
4 |
5 | .nav-language {
6 | width: 100%;
7 | text-align: right;
8 | }
9 |
10 | .nav-language li:not(:first-child):before {
11 | content: "-";
12 | margin-left: 4px;
13 | }
14 |
--------------------------------------------------------------------------------
/assets/css/object/nav-tabs.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Navigations tabs
3 | */
4 |
5 | .nav-tabs {
6 | margin: 0 0 var(--baseline,1.5em);
7 | }
8 |
9 | .nav-tabs li {
10 | text-align: center;
11 | }
12 |
13 | .nav-tabs__link {
14 | display: block;
15 | padding: 1em;
16 | height: 100%;
17 | line-height: 1.5;
18 | color: #fff;
19 | cursor: pointer;
20 | text-decoration: none;
21 | background: var(--color-primary);
22 | z-index: 0;
23 | }
24 |
25 | .nav-tabs__link strong {
26 | overflow: hidden;
27 | display: block;
28 | vertical-align: middle;
29 | }
30 |
31 | .nav-tabs__link span {
32 | display: inline-block;
33 | margin: 0 0.5em 0.5em 0;
34 | padding: 0.1em 0.5em;
35 | border-radius: 50%;
36 | font-size: var(--bigger);
37 | font-weight: bold;
38 | color: #000;
39 | background: #fff;
40 | }
41 |
42 | .nav-tabs__link:hover,
43 | [aria-selected="true"].nav-tabs__link {
44 | text-decoration: none;
45 | background: var(--color-primary-dark);
46 | }
47 |
48 | .nav-tabs__content {
49 | margin-top: var(--baseline,1.5em);
50 | padding: var(--baseline,1.5em);
51 | min-height: 20rem;
52 | text-align: center;
53 | font-size: var(--bigger);
54 | background: var(--background-color);
55 | }
56 |
57 | [aria-hidden="true"].nav-tabs__content {
58 | display: none;
59 | }
60 |
61 | @media screen and (min-width: 56.25em) {
62 |
63 | .nav-tabs ul {
64 | display: flex;
65 | }
66 |
67 | .nav-tabs li {
68 | position: relative;
69 | overflow: hidden;
70 | flex: 1;
71 | }
72 |
73 | li:not(:first-child) .nav-tabs__link {
74 | padding-left: 2em;
75 | }
76 |
77 | li:not(:last-child) .nav-tabs__link {
78 | padding-right: 2em;
79 | }
80 |
81 | li:not(:first-child) .nav-tabs__link::before,
82 | li:not(:last-child) .nav-tabs__link::after {
83 | --border-color: var(--color-primary);
84 | position: absolute;
85 | top: 50%;
86 | left: 0;
87 | content: "";
88 | width: 0;
89 | height: 0;
90 | background: var(--background-color);
91 | border-top: 100px solid var(--border-color);
92 | border-left: 30px solid transparent;
93 | border-bottom: 100px solid var(--border-color);
94 | transition: .5s ease all;
95 | transform: translateY(-50%);
96 | }
97 |
98 | li:not(:last-child) .nav-tabs__link::after {
99 | left: auto;
100 | right: 0;
101 | border-top: 100px solid transparent;
102 | border-left: 30px solid var(--border-color);
103 | border-bottom: 100px solid transparent;
104 | }
105 |
106 | li [aria-selected="true"].nav-tabs__link::before,
107 | li [aria-selected="true"].nav-tabs__link::after,
108 | li .nav-tabs__link:hover::before,
109 | li .nav-tabs__link:hover::after {
110 | --border-color: var(--color-primary-dark);
111 | }
112 | }
113 |
114 |
--------------------------------------------------------------------------------
/assets/css/object/pagination.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Pagination
3 | */
4 |
5 | .pagination--item {
6 | position: relative;
7 | display: block;
8 | padding: 1em 0;
9 | color: var(--text-color);
10 | }
11 |
12 | .pagination--item::before {
13 | position: absolute;
14 | }
15 |
16 | .pagination--prev {
17 | padding-left: 1em;
18 | }
19 |
20 | .pagination--prev .pagination--item::before {
21 | content: "< ";
22 | left: -1em;
23 | }
24 |
25 | .pagination--next {
26 | padding-right: 1em;
27 | }
28 |
29 | .pagination--next .pagination--item::before {
30 | content: ">";
31 | right: -1em;
32 | }
33 |
--------------------------------------------------------------------------------
/assets/css/object/scores.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Scores
3 | */
4 |
5 | .scores {
6 | overflow: hidden;
7 | align-items: stretch;
8 | margin: 0;
9 | }
10 |
11 | .scores + .scores {
12 | padding-top: 0;
13 | }
14 |
15 | .scores ul {
16 | margin: 0 calc(var(--baseline,1.5em) / -2) var(--baseline,1.5em);
17 | padding: 0;
18 | }
19 |
20 | .scores li {
21 | min-width: 8rem;
22 | min-height: 5rem;
23 | list-style: none;
24 | }
25 |
--------------------------------------------------------------------------------
/assets/css/object/summary.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Details & Summary
3 | */
4 | /* https://codepen.io/MoritzGiessmann/pen/PobErJB */
5 |
6 | .details,
7 | details {
8 | overflow: hidden;
9 | width: 100%;
10 | border-bottom: 1px solid var(--background-color-grey-dark);
11 | background: var(--background-color-grey);
12 | }
13 |
14 | details:last-of-type {
15 | border-bottom: none;
16 | }
17 |
18 | .summary,
19 | summary {
20 | position: relative;
21 | display: block;
22 | align-items: center;
23 | margin-bottom: 0;
24 | padding: 20px 30px;
25 | font-weight: 600;
26 |
27 | user-select: none;
28 | border-bottom: 1px solid rgba(0, 0, 0, 0.1);
29 | outline: none;
30 | background: var(--background-color-grey);
31 | }
32 |
33 | .details-arrow summary:before {
34 | position: absolute;
35 | content: "";
36 | top: 1.6rem;
37 | left: 1rem;
38 | transition: 0.25s transform ease;
39 | transform: rotate(0);
40 | transform-origin: 0.2rem 50%;
41 | border-width: 0.4rem;
42 | border-style: solid;
43 | border-color: transparent transparent transparent #000;
44 | }
45 |
46 | summary ~ * {
47 | padding-left: 30px;
48 | }
49 |
50 | summary ~ ul {
51 | padding-left: 60px;
52 | }
53 |
54 | .summary:last-of-type,
55 | summary:last-of-type {
56 | border-bottom: none;
57 | }
58 |
59 | .details-arrow summary::marker,
60 | .details-arrow summary::-webkit-details-marker {
61 | display: none;
62 | }
63 |
64 | summary:hover {
65 | cursor: pointer;
66 | background: var(--background-color-grey-dark,#f6f8fb);
67 | }
68 |
69 | details[open] summary {
70 | margin-bottom: 20px;
71 | padding-bottom: 20px;
72 | border-bottom: 1px solid rgba(0, 0, 0, 0.1);
73 | }
74 |
--------------------------------------------------------------------------------
/assets/css/object/tag.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Tags
3 | */
4 |
5 | .tags {
6 | display: flex;
7 | margin-bottom: var(--baseline,1.5em);
8 | }
9 |
10 | .tags a {
11 | position: relative;
12 | margin: 0 calc(var(--baseline,1.5em) / 4) 0 0;
13 | padding: 0.2em calc(var(--baseline,1.5em) / 2);
14 | text-decoration: none;
15 | color: var(--color-grey-verylight);
16 | background: hsl(var(--base-primary), var(--base-sat), var(--base-light));
17 | border-radius: 4px;
18 | transition: color 0.2s;
19 | }
20 |
21 | .tags a:hover {
22 | --base-light: 30%;
23 | color: var(--color-grey-light);
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/assets/css/object/timeline.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Timeline
3 | */
4 |
5 | .timeline {
6 | padding-left: 30px;
7 | list-style: none;
8 | border-left: 8px solid var(--color-grey-light);
9 | }
10 |
11 | @media only screen and (min-width: 600px) {
12 | .timeline {
13 | margin: 50px 0 30px 120px;
14 | padding-left: 30px;
15 | list-style: none;
16 | border-left: 8px solid var(--color-grey-light);
17 | }
18 | }
19 |
20 | .timeline a {
21 | color: var(--background-color-body, #fff);
22 | }
23 |
24 | .timeline li {
25 | position: relative;
26 | margin: 40px 0;
27 | }
28 |
29 | .timeline p {
30 | margin: 5px 0 15px;
31 | }
32 |
33 | @media only screen and (min-width: 600px) {
34 | .timeline .date {
35 | position: absolute;
36 | top: 50%;
37 | left: -158px;
38 | margin-top: -10px;
39 | line-height: 20px;
40 | font-size: 0.95em;
41 | }
42 | }
43 |
44 | .timeline .circle {
45 | position: absolute;
46 | top: 50%;
47 | left: -44px;
48 | display: block;
49 | margin-top: -10px;
50 | width: 20px;
51 | height: 20px;
52 | border: 5px solid var(--color-grey-verylight);
53 | border-radius: 50%;
54 | background: #48b379;
55 | }
56 |
57 | .timeline .content p {
58 | overflow: hidden;
59 | max-height: 200px;
60 | text-align: justify;
61 | word-break: break-word;
62 | color: var(--background-color-body, #fff);
63 | }
64 |
65 | .timeline label {
66 | font-size: 1.3em;
67 | font-weight: bold;
68 | cursor: auto;
69 | }
70 |
71 | .timeline .radio {
72 | display: none;
73 | }
74 |
75 | @media only screen and (min-width: 600px) {
76 | .timeline .content {
77 | max-height: 180px;
78 | transform: translateX(20px);
79 | border-width: 2px;
80 | border-style: solid;
81 | border-color: var(--color-grey-light,transparent);
82 | border-radius: 0.5em;
83 | }
84 |
85 | .timeline label {
86 | position: absolute;
87 | z-index: 100;
88 | top: 20px;
89 | transform: translateX(42px);
90 | }
91 |
92 | .timeline .content {
93 | position: relative;
94 | margin-right: 20px;
95 | padding: 50px 20px 0;
96 | }
97 |
98 | .timeline .content:before,
99 | .timeline .content:after {
100 | position: absolute;
101 | content: "";
102 | right: calc(100% + 1px);
103 | width: 0;
104 | height: 0;
105 | pointer-events: none;
106 | border: solid transparent;
107 | }
108 |
109 | .timeline .content:before {
110 | top: 50%;
111 | margin-top: -20px;
112 | border-width: 20px;
113 | border-right-color: inherit;
114 | }
115 |
116 | .timeline .content:after {
117 | top: 50%;
118 | margin-top: -17px;
119 | border-width: 17px;
120 | }
121 | }
122 |
--------------------------------------------------------------------------------
/assets/css/object/usertests.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Usertests
3 | */
4 |
5 | .usertests {
6 | padding: 0.5em;
7 | line-height: 1.2;
8 | border: 2px solid var(--color-grey-light);
9 | background: var(--color-grey-verylight);
10 | }
11 |
12 | .usertests h3 {
13 | margin-bottom: 0.5em;
14 | }
15 |
16 | .usertests .flex div {
17 | padding: 0.5em;
18 |
19 | --base-light: 35%;
20 | }
21 |
22 | .usertests-vis div {
23 | line-height: 1;
24 | min-height: 4em;
25 | font-size: var(--smaller);
26 | }
27 |
--------------------------------------------------------------------------------
/assets/css/overgo/base/base.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Very basic styles
3 | */
4 |
5 | html,
6 | body {
7 | box-sizing: border-box;
8 | margin: 0;
9 | scroll-behavior: smooth;
10 | }
11 |
12 | @media (prefers-reduced-motion: reduce) {
13 | html {
14 | scroll-behavior: auto;
15 | }
16 | }
17 |
18 | *,
19 | *:before,
20 | *:after {
21 | box-sizing: inherit;
22 | }
23 |
24 | /* @media (prefers-reduced-motion: reduce) {
25 | :root {
26 | --enable-shadows: none;
27 | }
28 | } */
29 |
30 | /* Selection focus */
31 | main:focus {
32 | outline: none;
33 | }
34 |
35 | :focus {
36 | outline: max(1px, 0.1em) dashed var(--color-primary);
37 | outline-offset: 0.15em;
38 | }
39 |
40 | @supports selector(:focus-visible) {
41 | :focus {
42 | outline: none;
43 | }
44 |
45 | [tabindex="-1"]:focus:not(:focus-visible) {
46 | outline: 0;
47 | }
48 |
49 | :focus-visible {
50 | outline: max(1px, 0.1em) dashed var(--color-primary);
51 | outline-offset: 0.15em;
52 | }
53 | @media (prefers-reduced-motion: no-preference) {
54 | :focus-visible {
55 | transition: outline-offset .25s ease;
56 | outline-offset: 5px;
57 | }
58 | }
59 | }
60 |
61 | /* Chunk rendering for all but the first article */
62 | body > main > * + * {
63 | content-visibility: auto;
64 | }
65 |
66 | /* Images
67 | // -------------------------
68 | */
69 |
70 | img {
71 | max-width: 100%;
72 | height: auto;
73 | vertical-align: middle;
74 | -ms-interpolation-mode: bicubic;
75 | border: 0;
76 | }
77 |
78 | /* We need to revert these for Google maps cause else it breaks! */
79 | .img--no-max {
80 | max-width: none;
81 | }
82 |
83 | /* Time
84 | // -------------------------
85 | */
86 |
87 | time {
88 | font-weight: bold;
89 | }
90 |
91 | /* Figures
92 | // -------------------------
93 | */
94 |
95 | figure > img {
96 | display: block;
97 | width: 100%;
98 | max-width: min(55rem, 100%);
99 | }
100 |
101 | figcaption {
102 | margin-top: 1rem;
103 | font-size: var(--smaller);
104 | font-style: italic;
105 | }
106 |
107 | /* Links
108 | // -------------------------
109 | */
110 |
111 | a {
112 | transition: 0.5s ease all;
113 | text-decoration: underline;
114 | color: var(--link-color);
115 | }
116 |
117 | [href]:hover {
118 | text-decoration: none;
119 | }
120 |
121 | a:hover,
122 | a:active {
123 | outline: none;
124 | }
125 |
126 | [id] {
127 | scroll-margin-top: 2ex;
128 | }
129 |
130 | /* Lists
131 | // -------------------------
132 | */
133 |
134 | ul,
135 | ol {
136 | margin-bottom: var(--baseline,1.5em);
137 | }
138 |
139 | /*/ List options
140 | // -------------------------
141 | */
142 |
143 | /* Unstyled keeps list items block level, just removes default browser padding and list-style*/
144 | .list-unstyled {
145 | margin: 0;
146 | padding-left: 0;
147 | list-style: none;
148 | }
149 |
150 | /* Inline turns list items into inline-block */
151 | .list-inline > li {
152 | display: inline-block;
153 | margin: 0 -5px 0 0;
154 | }
155 |
156 | /* Address
157 | // -------------------------
158 | */
159 |
160 | address {
161 | font-style: inherit;
162 | }
163 |
--------------------------------------------------------------------------------
/assets/css/overgo/config/mediaqueries.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Media queries
3 | */
4 |
5 | /* Media Query breakpoint
6 | // https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862#.59e713wwa
7 | //-------------------------------------
8 | */
9 |
10 | :root {
11 | --screen: "only screen";
12 | --tiny: 20; /* 320px */
13 | --small: 37.5; /* 600px */
14 | --medium: 56.25; /* 900px */
15 | --large: 75; /* 1200px */
16 | --xlarge: 112.5; /* 1800px */
17 | --xxlarge: 150; /* 2400px */
18 | }
19 |
--------------------------------------------------------------------------------
/assets/css/overgo/config/typography.css:
--------------------------------------------------------------------------------
1 | /*
2 | /// Typography
3 | */
4 |
5 | /* Our variables
6 | //-------------------------------------
7 | */
8 |
9 | :root {
10 |
11 | --system-font: BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif,'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
12 | --base-font: var(--base-font-name,-apple-system), var(--system-font);
13 | --title-font: var(--title-font-name,-apple-system), var(--system-font);
14 |
15 | --ratio: 1.2;
16 | --base: 1;
17 | --base-em: calc(var(--base) * 1em);
18 | --base-rem: calc(var(--base) * 1rem);
19 |
20 | --ms0: 1;
21 | --ms1: var(--ratio); /* 1.2 */
22 | --ms2: calc(var(--ratio) * var(--ms1)); /* 1.44 */
23 | --ms3: calc(var(--ratio) * var(--ms2)); /* 1.728 */
24 | --ms4: calc(var(--ratio) * var(--ms3)); /* 2.074 */
25 | --ms5: calc(var(--ratio) * var(--ms4)); /* 2.488 */
26 | --ms6: calc(var(--ratio) * var(--ms5)); /* 2.986 */
27 | --ms7: calc(var(--ratio) * var(--ms6)); /* 3.583 */
28 |
29 | --smaller: calc(var(--base-em) / var(--ms1));
30 | --normal: calc(var(--base-em) * var(--ms0));
31 | --bigger: calc(var(--base-em) * var(--ms1));
32 | --title3: calc(var(--base-em) * var(--ms2));
33 | --title2: calc(var(--base-em) * var(--ms3));
34 | --title1: calc(var(--base-em) * var(--ms4));
35 |
36 | --line-height-base: 1.5;
37 | --baseline: 1.5rem;
38 |
39 | --min-font-size: 14;
40 | --max-font-size: 16;
41 | --fluid-size: var(--min-font-size) * 1px + (var(--max-font-size) - var(--min-font-size)) * ((100vw - 420px) / (1200 - 420));
42 | }
43 |
44 | /*--------------------------------------
45 | // Typography
46 | --------------------------------------*/
47 |
48 | :root {
49 | font-size: clamp(var(--min-font-size) * 1px,var(--fluid-size),var(--max-font-size) * 1px);
50 | }
51 |
52 |
53 | body {
54 | margin: 0;
55 | padding-bottom: 0;
56 | line-height: var(--line-height-base);
57 | font-family: var(--base-font);
58 | color: var(--title-color);
59 | }
60 |
61 | @media (prefers-reduced-data: reduce) {
62 | body {
63 | font-family: var(--system-font);
64 | }
65 | }
66 |
67 | h1,
68 | h2,
69 | h3,
70 | h4,
71 | h5,
72 | h6
73 | label,
74 | legend {
75 | color: currentColor;
76 | margin-top: var(--baseline,1.5em);
77 | margin-bottom: var(--baseline,1.5em);
78 | font-family: var(--title-font);
79 | }
80 |
81 | h6,
82 | .h6 {
83 | font-size: var(--smaller);
84 | }
85 | h5,
86 | .h5 {
87 | font-size: var(--normal);
88 | }
89 | h4,
90 | .h4 {
91 | font-size: var(--normal);
92 | }
93 | h3,
94 | .h3 {
95 | font-size: var(--title3);
96 | }
97 | h2,
98 | .h2,
99 | legend {
100 | font-size: var(--title2);
101 | }
102 | h1,
103 | .h1 {
104 | font-size: var(--title1);
105 | }
106 |
107 | h1 small,
108 | h2 small,
109 | h3 small {
110 | font-size: 65%;
111 | }
112 |
113 | p {
114 | margin: 0 0 var(--baseline,1.5em);
115 | }
116 |
--------------------------------------------------------------------------------
/assets/css/overgo/generic/normalize-opentype.css:
--------------------------------------------------------------------------------
1 | /*! normalize-opentype.css v0.2.4 | MIT License | kennethormandy.com/journal/normalize-opentype-css */
2 |
3 | /**
4 | // 1. Inherit style issues with custom selections, per robsterlini.co.uk/journal/opentype-and-selection-dont-mix
5 | // 2. Turn on kerning, standard ligatures, and proportional, oldstyle numerals
6 | // Turn off all other ligatures, tabular, lining numerals, and alternates
7 | // Uses same settings for tables
8 | // 3. Hard-codes fallback text selection for issue #18, color is Chrome’s per via http://stackoverflow.com/a/16094931/864799
9 | ////
10 | */
11 |
12 | ::selection {
13 | color: inherit; /* 1. */
14 | background-color: var(--background-color-selection,#accef7); /* 3. */
15 | text-shadow: inherit; /* 2. */
16 | }
17 |
18 | html,
19 | body,
20 | table {
21 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0; /* 2. */
22 | }
23 |
24 | /* Headings
25 | //========================================================================== //
26 | */
27 |
28 | /*
29 | // 1. Turn on discretionary ligatures for larger headings
30 | */
31 |
32 | h1,
33 | h2,
34 | h3 {
35 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 1; /* 1. */
36 | }
37 |
38 | /* Text-level semantics
39 | //========================================================================== //
40 | */
41 |
42 | /*
43 | // 1. Change all letters to uppercase
44 | // 2. Turn on small caps for upper and lowercase letters
45 | */
46 |
47 | abbr {
48 | text-transform: uppercase; /* 1 */
49 |
50 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "smcp" 1, "c2sc" 1; /* 2 */
51 | }
52 |
53 | time {
54 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0;
55 | }
56 |
57 | /*
58 | // 1. Turn off kerning and ligatures,
59 | // Turn on lining, tabular numerals, slashed zero
60 | */
61 |
62 | pre,
63 | kbd,
64 | samp,
65 | code {
66 | font-feature-settings: "kern" 0, "liga" 0, "calt" 1, "dlig" 0, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; /* 1. */
67 | }
68 |
69 | /*
70 | // 1. Turn on proper supercript numerals
71 | */
72 |
73 | sup {
74 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "sups" 1; /* 1. */
75 | }
76 |
77 | /*
78 | // 1. Turn on proper subscript numerals
79 | */
80 |
81 | sub {
82 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 1, "lnum" 0, "dlig" 0, "subs" 1; /* 1. */
83 | }
84 |
85 | /* Forms
86 | //========================================================================== //
87 | */
88 |
89 | input[type="color"],
90 | input[type="date"],
91 | input[type="datetime"],
92 | input[type="datetime-local"],
93 | input[type="number"],
94 | input[type="range"],
95 | input[type="tel"],
96 | input[type="week"] {
97 | font-feature-settings: "kern" 0, "liga" 1, "calt" 1, "pnum" 1, "tnum" 0, "onum" 0, "lnum" 1, "zero" 0; /* 1. */
98 | }
99 |
100 |
101 | /*
102 | // 1. Turns on tabular, lining numerals and slashed zero
103 | */
104 |
105 | tbody,
106 | caption {
107 | font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "pnum" 0, "tnum" 1, "onum" 0, "lnum" 1, "zero" 1; /* 1. */
108 | }
109 |
--------------------------------------------------------------------------------
/assets/css/overgo/generic/print.css:
--------------------------------------------------------------------------------
1 | /*
2 | / Print
3 | /
4 | / http://www.alsacreations.com/tuto/lire/586-feuille-style-css-print-impression.html
5 | / http://www.alsacreations.com/astuce/lire/1160-une-feuille-de-styles-de-base-pour-le-media-print.html
6 | / https://uxdesign.cc/i-totally-forgot-about-print-style-sheets-f1e6604cfd6#.ad9m8zgbd
7 | / https://www.smashingmagazine.com/2018/05/print-stylesheets-in-2018/
8 | ////
9 | */
10 |
11 | @media print {
12 | /* Reset */
13 | *,
14 | *:before,
15 | *:after,
16 | *:first-letter,
17 | p:first-line,
18 | div:first-line,
19 | blockquote:first-line,
20 | li:first-line {
21 | color: #000 !important;
22 | background: transparent !important;
23 | box-shadow: none !important;
24 | text-shadow: none !important;
25 | }
26 |
27 | /* Content */
28 | body > *:not(main) {
29 | display: none;
30 | }
31 |
32 | /* a[href]:after {
33 | content: " ("attr(href) ")";
34 | }
35 |
36 | abbr[title]:after {
37 | content: " ("attr(title) ")";
38 | } */
39 |
40 |
41 | @page {
42 | size: auto;
43 | }
44 |
45 | @page :first {
46 | header {
47 | margin: -100px;
48 | }
49 | }
50 |
51 | html {
52 | }
53 |
54 | body {
55 | font-size: 11pt;
56 | color: #000;
57 | background-color: #fff;
58 | }
59 |
60 | a,
61 | header a {
62 | color: #000;
63 | }
64 |
65 | p,
66 | blockquote {
67 | orphans: 3;
68 | widows: 3;
69 | }
70 |
71 | blockquote,
72 | ul,
73 | ol {
74 | page-break-inside: avoid;
75 | }
76 |
77 | h1,
78 | h2,
79 | h3,
80 | caption,
81 | figure {
82 | page-break-after: avoid;
83 | }
84 |
85 | .wrapper {
86 | margin: 0;
87 | max-width: none;
88 | }
89 |
90 | header {
91 | background: none;
92 | }
93 |
94 | nav,
95 | .breadcrumb {
96 | display: none;
97 | }
98 |
99 | table th,
100 | table td {
101 | padding: 1px 5px;
102 | border-width: 1px !important;
103 | }
104 |
105 | pre,
106 | code {
107 | overflow-x: auto;
108 | white-space: pre-wrap;
109 | white-space: -moz-pre-wrap !important;
110 | white-space: -pre-wrap;
111 | white-space: -o-pre-wrap;
112 | word-wrap: break-word;
113 | background: #fff;
114 |
115 | break-inside: avoid;
116 | }
117 |
118 | figure {
119 | padding: 0 !important;
120 | border: none !important;
121 | }
122 |
123 | figure a {
124 | display: block;
125 | }
126 |
127 | .no-print,
128 | .no-print * {
129 | display: none !important;
130 | }
131 |
132 | .grid {
133 | display: grid;
134 | grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
135 | }
136 |
137 | .flex {
138 | display: flex;
139 | flex-direction: row;
140 | flex-wrap: wrap;
141 | }
142 |
143 | .flex > * {
144 | min-width: 200px;
145 | }
146 |
147 | .benchmark {
148 | break-inside: avoid;
149 | }
150 |
151 | .counter {
152 | display: grid;
153 | align-items: center;
154 | padding: 1em;
155 | font-family: Futura;
156 | border: 1px solid;
157 | }
158 |
159 | .page-break {
160 | break-before: page;
161 | }
162 | }
163 |
--------------------------------------------------------------------------------
/assets/css/overgo/generic/skiplink.css:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | // Skiplink
4 | */
5 |
6 | /* styling skip links */
7 | .skip-links {
8 | position: absolute;
9 | top: 0;
10 | width: 100%;
11 | }
12 |
13 | .skip-links a {
14 | position: absolute;
15 | display: inline-block;
16 | overflow: hidden;
17 | clip: rect(1px, 1px, 1px, 1px);
18 | padding: var(--baseline,1.5em);
19 | text-decoration: none;
20 | color: white;
21 | background: black;
22 | }
23 |
24 | .skip-links a:focus {
25 | position: static;
26 | overflow: visible;
27 | clip: auto;
28 | }
29 |
--------------------------------------------------------------------------------
/assets/css/styles.css:
--------------------------------------------------------------------------------
1 | @charset "utf-8";
2 |
3 | /* CSS DIRECTORY
4 | 1. =GLOBAL SETTINGS
5 | 2. =HEADER & FOOTER
6 | 3. =TYPOGRAPHY
7 | 4. =LOGO
8 | */
9 |
10 | /* GLOBAL SETTINGS
11 | ----------------------------- */
12 |
13 | /* = Colors = */
14 |
15 | :root {
16 | --background-color: var(--color-primary-dark);
17 |
18 | --base-font-name: "Marianne";
19 | --title-font-name: var(--base-font-name);
20 | --base-primary: 240;
21 | --base-secondary: calc(var(--base-primary) + 125);
22 | --link-color: var(--color-primary);
23 | --text-color: hsl(0 0% var(--l-0));
24 | --text-color-lighter: hsl(0 0% var(--l-10));
25 | --title-color: var(--text-color);
26 | --background-color-selection: var(--color-primary-light);
27 | }
28 |
29 | @media (prefers-color-scheme: dark) {
30 | :root {
31 | --background-color-body: #212529;
32 | }
33 |
34 | body {
35 | font-weight: 400;
36 | }
37 |
38 | strong,
39 | b,
40 | th,
41 | h1,
42 | h2,
43 | h3,
44 | h4,
45 | h5,
46 | h6 {
47 | font-weight: 600;
48 | }
49 | }
50 |
51 | /* = Very basic styles = */
52 |
53 | *,
54 | *:before,
55 | *:after {
56 | box-sizing: border-box;
57 | margin: 0;
58 | }
59 |
60 | html {
61 | box-sizing: border-box;
62 | height: -webkit-fill-available;
63 | word-spacing: 1px;
64 | scroll-behavior: smooth;
65 |
66 | -webkit-text-size-adjust: 100%;
67 | -moz-osx-font-smoothing: grayscale;
68 | -webkit-font-smoothing: antialiased;
69 | }
70 |
71 | body {
72 | display: flex;
73 | flex-direction: column;
74 | min-height: 100vh;
75 | min-height: -webkit-fill-available;
76 | color: var(--text-color, --color-grey-dark);
77 | background-color: var(--background-color-body, #fff);
78 | }
79 |
80 | /* = Error = */
81 |
82 | body.error-page {
83 | color: #fff;
84 | background-color: var(--color-grey-dark);
85 | background-size: cover;
86 | }
87 |
88 | /* HEADER & FOOTER
89 | ----------------------------- */
90 |
91 | /* = main = */
92 |
93 | main {
94 | flex-grow: 1;
95 | }
96 |
97 | /* = header = */
98 |
99 | header {
100 | margin-bottom: calc(var(--baseline,1.5em) * 2);
101 | padding: 0 var(--baseline,1.5em);
102 | border-bottom: 1px solid #dedede;
103 | }
104 |
105 | /* COLOR
106 | ----------------------------- */
107 |
108 | .primary {
109 | color: var(--color-primary);
110 | }
111 |
--------------------------------------------------------------------------------
/assets/js/debug.js:
--------------------------------------------------------------------------------
1 | window.onscroll = function(ev) {
2 | if (window.innerHeight + window.pageYOffset >= document.body.offsetHeight) {
3 | console.log('bottom of page');
4 | }
5 | };
6 |
7 | var debugToggle = document.querySelector('.debug-toggle');
8 | var debugHeader = document.querySelector('.debug-header');
9 | var debugWrapper = document.querySelector('.debug');
10 | var debugMainContent = document.querySelector('.debug-content');
11 |
12 | debugToggle.onclick = function() {
13 | debugToggle.classList.toggle('active');
14 | debugWrapper.classList.toggle('expanded');
15 | debugMainContent.classList.toggle('open');
16 | debugHeader.scrollIntoView({behavior: "smooth", block: "end"});
17 | };
18 |
19 | function openTab(evt, tabName) {
20 | // Declare all variables
21 | var i, tabcontent, tablinks;
22 |
23 | // Get all elements with class="tabcontent" and hide them
24 | tabcontent = document.getElementsByClassName('tabcontent');
25 | for (i = 0; i < tabcontent.length; i++) {
26 | tabcontent[i].style.display = 'none';
27 | }
28 |
29 | // Get all elements with class="tablinks" and remove the class "active"
30 | tablinks = document.getElementsByClassName('tablinks');
31 | for (i = 0; i < tablinks.length; i++) {
32 | tablinks[i].className = tablinks[i].className.replace(' active', '');
33 | }
34 |
35 | // Show the current tab, and add an "active" class to the button that opened the tab
36 | document.getElementById(tabName).style.display = 'block';
37 | evt.currentTarget.className += ' active';
38 | }
39 |
--------------------------------------------------------------------------------
/assets/js/frappe-colors.js:
--------------------------------------------------------------------------------
1 | function hslToHex(hsl) {
2 | var h = hsl[0]
3 | s = hsl[1]
4 | l = hsl[02]
5 | l /= 100;
6 | const a = s * Math.min(l, 1 - l) / 100;
7 |
8 | const f = n => {
9 | const k = (n + h / 30) % 12;
10 | const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
11 | return Math.round(255 * color).toString(16).padStart(2, '0'); // convert to Hex and prefix "0" if needed
12 | };
13 | return `#${f(0)}${f(8)}${f(4)}`;
14 | }
15 | function split(value) {
16 | var result = value
17 | if (value.includes('hsl')) {
18 | value = value.replaceAll('%','').slice(4,-1).split(', ').map(function(num) {
19 | if (num.includes('calc')) {
20 | return eval(num.slice(5,-1));
21 | }
22 | else {
23 | return eval(num);
24 | }
25 | })
26 | result = value
27 | }
28 | return result
29 | }
30 | const hslprimary = split(getComputedStyle(document.body).getPropertyValue('--color-graph-primary'))
31 | const hslsecondary = split(getComputedStyle(document.body).getPropertyValue('--color-graph-secondary'))
32 | const hsltertiary = split(getComputedStyle(document.body).getPropertyValue('--color-graph-tertiary'))
33 | const hslquartenary = split(getComputedStyle(document.body).getPropertyValue('--color-graph-quartenary'))
34 |
--------------------------------------------------------------------------------
/config.toml:
--------------------------------------------------------------------------------
1 | baseURL = "/"
2 | paginate = "10"
3 |
4 | title = "Observatoire Accessibilité"
5 |
6 | languageCode = "fr-FR"
7 | defaultContentLanguage = "fr"
8 | defaultContentLanguageInSubdir = false
9 | enableInlineShortcodes = true
10 | removePathAccents = true
11 | enableGitInfo = true
12 |
13 | disableKinds = ["RSS", "sitemap", "taxonomy", "taxonomyTerm"]
14 |
15 | [outputformats]
16 | _merge = 'deep'
17 |
18 | [outputFormats.declarationpage]
19 | baseName = "declaration"
20 | mediaType = "text/html"
21 | notAlternative = false
22 | permalinkable = true
23 | isHTML = true
24 | [outputFormats.declaration]
25 | baseName = "declaration"
26 | mediaType = "text/plain"
27 | isPlainText = true
28 | notAlternative = false
29 | [outputFormats.accessibilitypage]
30 | baseName = "accessibility"
31 | mediaType = "text/html"
32 | notAlternative = false
33 | permalinkable = true
34 | isHTML = true
35 | [outputFormats.accessibilitycsv]
36 | baseName = "accessibility"
37 | mediaType = "text/csv"
38 | isPlainText = true
39 | notAlternative = false
40 | [outputFormats.accessibility]
41 | baseName = "accessibility"
42 | mediaType = "application/json"
43 | isPlainText = true
44 | notAlternative = false
45 | [outputFormats.ecoconceptionpage]
46 | baseName = "ecoconception"
47 | mediaType = "text/html"
48 | notAlternative = false
49 | permalinkable = true
50 | isHTML = true
51 | [outputFormats.ecoconceptioncsv]
52 | baseName = "ecoconception"
53 | mediaType = "text/csv"
54 | isPlainText = true
55 | notAlternative = false
56 | [outputFormats.ecoconception]
57 | baseName = "ecoconception"
58 | mediaType = "application/json"
59 | isPlainText = true
60 | notAlternative = false
61 | [outputFormats.greenitpage]
62 | baseName = "greenit"
63 | mediaType = "text/html"
64 | notAlternative = false
65 | permalinkable = true
66 | isHTML = true
67 | [outputFormats.greenit]
68 | baseName = "greenit"
69 | mediaType = "application/json"
70 | isPlainText = true
71 | notAlternative = false
72 | [outputFormats.recommendationpage]
73 | baseName = "recommendation"
74 | mediaType = "text/html"
75 | notAlternative = false
76 | permalinkable = true
77 | isHTML = true
78 | [outputFormats.recommendationcsv]
79 | baseName = "recommendation"
80 | mediaType = "text/csv"
81 | isPlainText = true
82 | notAlternative = false
83 | [outputFormats.recommendation]
84 | baseName = "recommendation"
85 | mediaType = "application/json"
86 | isPlainText = true
87 | notAlternative = false
88 | [outputFormats.qualitypage]
89 | baseName = "quality"
90 | mediaType = "text/html"
91 | notAlternative = false
92 | permalinkable = true
93 | isHTML = true
94 | [outputFormats.quality]
95 | baseName = "quality"
96 | mediaType = "application/json"
97 | isPlainText = true
98 | notAlternative = false
99 | [outputFormats.performancepage]
100 | baseName = "performance"
101 | mediaType = "text/html"
102 | isPlainText = true
103 | notAlternative = false
104 | permalinkable = true
105 | isHTML = true
106 | [outputFormats.performance]
107 | baseName = "performance"
108 | mediaType = "application/json"
109 | isPlainText = true
110 | notAlternative = false
111 |
--------------------------------------------------------------------------------
/content/404.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Page d’erreur
3 | sitemapExclude: true
4 | ---
5 |
--------------------------------------------------------------------------------
/content/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Accueil
3 | outputs:
4 | - html
5 | - json
6 | disableKinds:
7 | - RSS
8 | - taxonomy
9 | - taxonomyTerm
10 | cascade:
11 | - _target:
12 | path: /audits/**/index.md
13 | outputs:
14 | - html
15 | - json
16 | - declaration
17 | - declarationpage
18 | - accessibility
19 | - ecoconception
20 | - greenit
21 | - quality
22 | - recommendation
23 | - performance
24 | - accessibilitypage
25 | - ecoconceptionpage
26 | - greenitpage
27 | - qualitypage
28 | - recommendationpage
29 | - performancepage
30 | - _target:
31 | path: /audits/**/_index.md
32 | outputs:
33 | - html
34 | - json
35 | - declaration
36 | - declarationpage
37 | - _target:
38 | path: /audits/_index.md
39 | outputs:
40 | - html
41 | - json
42 | - declaration
43 | - accessibility
44 | - ecoconception
45 | - greenit
46 | - quality
47 | - recommendation
48 | - performance
49 | - accessibilitypage
50 | - ecoconceptionpage
51 | - greenitpage
52 | - qualitypage
53 | - recommendationpage
54 | - performancepage
55 | - _target:
56 | path: /audits/index.md
57 | type: "audits"
58 | ---
59 |
--------------------------------------------------------------------------------
/content/_redirects:
--------------------------------------------------------------------------------
1 |
2 | /* /404.html 404
3 |
--------------------------------------------------------------------------------
/content/audits/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Accueil
3 | outputs:
4 | - html
5 | - json
6 | disableKinds:
7 | - RSS
8 | - taxonomy
9 | - taxonomyTerm
10 | cascade:
11 | - _target:
12 | path: /audits/**/index.md
13 | outputs:
14 | - html
15 | - json
16 | - declaration
17 | - declarationpage
18 | - accessibility
19 | - ecoconception
20 | - greenit
21 | - quality
22 | - recommendation
23 | - performance
24 | - accessibilitypage
25 | - ecoconceptionpage
26 | - greenitpage
27 | - qualitypage
28 | - recommendationpage
29 | - performancepage
30 | - _target:
31 | path: /audits/**/_index.md
32 | outputs:
33 | - html
34 | - json
35 | - declaration
36 | - declarationpage
37 | - _target:
38 | path: /audits/_index.md
39 | outputs:
40 | - html
41 | - json
42 | - declaration
43 | - accessibility
44 | - ecoconception
45 | - greenit
46 | - quality
47 | - recommendation
48 | - performance
49 | - accessibilitypage
50 | - ecoconceptionpage
51 | - greenitpage
52 | - qualitypage
53 | - recommendationpage
54 | - performancepage
55 | - _target:
56 | path: /audits/index.md
57 | type: "audits"
58 | ---
59 |
--------------------------------------------------------------------------------
/content/greenit/0.3/criteres.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Critères GreenIT 0.3
3 | menu:
4 | footer:
5 | name: "Critères GreenIT"
6 | weight: 6
7 | ---
8 |
--------------------------------------------------------------------------------
/content/offline.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Oops, vous êtes déconnecté du réseau."
3 | type: "offline"
4 | sitemapExclude: true
5 | ---
6 |
7 | Essayez de vous connecter à Internet pour naviguer sur le site.
8 |
--------------------------------------------------------------------------------
/content/pidila/1.0/criteres.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Critères Pidila
3 | ---
4 |
--------------------------------------------------------------------------------
/content/plans/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Plan d’actions"
3 | ---
4 |
--------------------------------------------------------------------------------
/content/rgaa/4.0/criteres.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Critères RGAA 4.0
3 | ---
4 |
--------------------------------------------------------------------------------
/content/rgaa/4.0/glossaire.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Glossaire RGAA 4.0
3 | type: glossary
4 | ---
5 |
--------------------------------------------------------------------------------
/content/rgaa/4.1/criteres.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Critères RGAA 4.1
3 | menu:
4 | footer:
5 | name: "Critères RGAA"
6 | weight: 1
7 | ---
8 |
--------------------------------------------------------------------------------
/content/rgaa/4.1/glossaire.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Glossaire RGAA 4.1
3 | type: glossary
4 | menu:
5 | footer:
6 | name: "Glossaire RGAA"
7 | weight: 1
8 | ---
9 |
--------------------------------------------------------------------------------
/content/rgaa/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Documents RGAA
3 | ---
4 |
--------------------------------------------------------------------------------
/content/rgesn/0.1/criteres.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Critères RGESN 0.1
3 | menu:
4 | footer:
5 | name: "Critères RGESN"
6 | weight: 5
7 | ---
8 |
--------------------------------------------------------------------------------
/content/schema.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Schéma Pluriannuel"
3 | type: schemas
4 | ---
5 |
--------------------------------------------------------------------------------
/content/schemas/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Schémas Pluriannuels
3 | ---
4 |
--------------------------------------------------------------------------------
/content/sitemap.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Plan du site
3 | type: sitemap
4 | sitemapExclude: true
5 | ---
6 |
--------------------------------------------------------------------------------
/content/styleguide/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Styleguide
3 | type: styleguide
4 | sitemapExclude: true
5 | ---
6 |
--------------------------------------------------------------------------------
/data/month.yml:
--------------------------------------------------------------------------------
1 | 1: "janvier"
2 | 2: "février"
3 | 3: "mars"
4 | 4: "avril"
5 | 5: "mai"
6 | 6: "juin"
7 | 7: "juillet"
8 | 8: "août"
9 | 9: "septembre"
10 | 10: "octobre"
11 | 11: "novembre"
12 | 12: "décembre"
13 |
--------------------------------------------------------------------------------
/data/pidila/criteria.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "Pi-001",
4 | "description": "Ajouter un pied de page à la démarche une indication sur la niveau de conformité de la démarche."
5 | },
6 | {
7 | "id": "Pi-008",
8 | "description": "Ajouter un pied de page à la démarche avec un lien vers une page ”mentions légales”."
9 | },
10 | {
11 | "id": "Pi-010",
12 | "description": "Ajouter un pied de page à la démarche avec un lien vers une page ”accessibilité”."
13 | },
14 | {
15 | "id": "Pi-012",
16 | "description": "Indiquer 2 moyens de contact. Ex. sur la déclaration d’accessibilité"
17 | },
18 | {
19 | "id": "Pi-016",
20 | "description": "Indiquer/Décrire sur la page d’accueil la nature de la démarche."
21 | },
22 | {
23 | "id": "Pi-022",
24 | "description": "Indiquer/Décrire sur la page d’accueil la nature de la démarche."
25 | },
26 | {
27 | "id": "Pi-026",
28 | "description": "Indiquer 2 moyens de contact. Ex. sur la déclaration d’accessibilité"
29 | },
30 | {
31 | "id": "Pi-032",
32 | "description": "Ajouter/compléter la navigation de pied de page ave cles liens obligatoires."
33 | }
34 | ,
35 | {
36 | "id": "Pi-122",
37 | "description": "Ajouter ou le bandeau et le pied de page pour être à la charte de l’État : logo, couleur…"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/data/rgaa/tests.yml:
--------------------------------------------------------------------------------
1 | 25:
2 | - "1.1"
3 | - "3.1"
4 | - "4.1"
5 | - "4.10"
6 | - "5.3"
7 | - "5.7"
8 | - "6.1"
9 | - "6.2"
10 | - "7.1"
11 | - "7.3"
12 | - "8.3"
13 | - "8.4"
14 | - "8.5"
15 | - "9.1"
16 | - "10.3"
17 | - "10.6"
18 | - "10.7"
19 | - "11.1"
20 | - "11.2"
21 | - "11.5"
22 | - "11.6"
23 | - "11.9"
24 | - "11.10"
25 | - "12.8"
26 | - "12.9"
27 | 50:
28 | - "1.3"
29 | - "1.5"
30 | - "1.6"
31 | - "1.7"
32 | - "4.2"
33 | - "4.4"
34 | - "4.8"
35 | - "4.9"
36 | - "5.4"
37 | - "5.6"
38 | - "7.2"
39 | - "8.2"
40 | - "8.6"
41 | - "8.10"
42 | - "10.2"
43 | - "10.8"
44 | - "10.9"
45 | - "10.10"
46 | - "13.1"
47 | - "13.3"
48 | - "13.4"
49 | - "13.5"
50 | - "13.6"
51 | - "13.7"
52 | - "13.8"
53 | 81:
54 | - "1.2"
55 | - "1.4"
56 | - "1.9"
57 | - "2.1"
58 | - "2.2"
59 | - "4.3"
60 | - "4.7"
61 | - "4.11"
62 | - "4.12"
63 | - "4.13"
64 | - "5.1"
65 | - "5.2"
66 | - "5.5"
67 | - "5.8"
68 | - "7.4"
69 | - "8.1"
70 | - "8.9"
71 | - "9.2"
72 | - "9.3"
73 | - "9.4"
74 | - "10.1"
75 | - "10.14"
76 | - "11.8"
77 | - "12.6"
78 | - "12.7"
79 | - "12.10"
80 | - "12.11"
81 | - "13.2"
82 | - "13.10"
83 | - "13.11"
84 | - "13.12"
85 | 106:
86 | - "1.8"
87 | - "3.2"
88 | - "3.3"
89 | - "4.5"
90 | - "4.6"
91 | - "7.5"
92 | - "8.7"
93 | - "8.8"
94 | - "10.4"
95 | - "10.5"
96 | - "10.11"
97 | - "10.12"
98 | - "10.13"
99 | - "11.3"
100 | - "11.4"
101 | - "11.7"
102 | - "11.11"
103 | - "11.12"
104 | - "11.13"
105 | - "12.1"
106 | - "12.2"
107 | - "12.3"
108 | - "12.4"
109 | - "12.5"
110 | - "13.9"
111 |
112 |
--------------------------------------------------------------------------------
/exampleSite/.gitignore:
--------------------------------------------------------------------------------
1 | config-local.toml
2 | package-lock.json
3 | .vscode
4 | resources/_gen
5 | public
6 | themesdev
7 | hugo.log
8 |
--------------------------------------------------------------------------------
/exampleSite/config.toml:
--------------------------------------------------------------------------------
1 | baseURL = ""
2 |
3 | title = "Mon titre"
4 | theme = ["frago"]
5 |
6 | [params]
7 | organisation = "Mon organisation"
8 |
--------------------------------------------------------------------------------
/exampleSite/content/audits/projet1/accessibility/context.yml:
--------------------------------------------------------------------------------
1 | website: "projet1.fr"
2 | contacts:
3 | email: stap-amendes@ministere.gouv.fr
4 | address : 139 rue de Bercy, 75572 Paris, Cedex 12
5 | audits:
6 | 2022-02-10:
7 | guidelines: "RGAA 4.1"
8 | condition: "Auto-évaluation"
9 | technologies: ["HTML", "CSS", "JS", "PDF"]
10 | tools: ["Wave", "AXE", "Web Developper","Usability Hike","Heading Maps"]
11 | environment: ["MacOS", "Firefox", "Chrome", "ChromeVox"]
12 |
--------------------------------------------------------------------------------
/exampleSite/content/audits/projet1/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Projet 1
3 | ---
4 |
--------------------------------------------------------------------------------
/exampleSite/content/audits/projet2/accessibility/2020-04-01.csv:
--------------------------------------------------------------------------------
1 | "Thématiques","Critères","Dépot Fichier","Retrait Fichier"
2 | "1","1","c","na"
3 | "1","2","na","na"
4 | "1","3","c","na"
5 | "1","4","na","na"
6 | "1","5","na","na"
7 | "1","6","na","na"
8 | "1","7","na","na"
9 | "1","8","c","c"
10 | "1","9","na","na"
11 | "2","1","na","na"
12 | "2","2","na","na"
13 | "3","1","c","c"
14 | "3","2","nc","nc"
15 | "3","3","nc","na"
16 | "4","1","na","na"
17 | "4","2","na","na"
18 | "4","3","na","na"
19 | "4","4","na","na"
20 | "4","5","na","na"
21 | "4","6","na","na"
22 | "4","7","na","na"
23 | "4","8","na","na"
24 | "4","9","na","na"
25 | "4","10","na","na"
26 | "4","11","na","na"
27 | "4","12","na","na"
28 | "4","13","na","na"
29 | "5","1","na","na"
30 | "5","2","na","na"
31 | "5","3","na","na"
32 | "5","4","na","na"
33 | "5","5","na","na"
34 | "5","6","na","c"
35 | "5","7","na","nc"
36 | "5","8","na","na"
37 | "6","1","c","c"
38 | "6","2","c","c"
39 | "7","1","na","na"
40 | "7","2","na","na"
41 | "7","3","na","na"
42 | "7","4","na","na"
43 | "7","5","na","na"
44 | "8","1","c","c"
45 | "8","2","c","nc"
46 | "8","3","nc","nc"
47 | "8","4","na","na"
48 | "8","5","c","c"
49 | "8","6","nc","nc"
50 | "8","7","na","na"
51 | "8","8","na","na"
52 | "8","9","nc","nc"
53 | "8","10","na","na"
54 | "9","1","nc","nc"
55 | "9","2","nc","nc"
56 | "9","3","na","na"
57 | "9","4","na","na"
58 | "10","1","nc","nc"
59 | "10","2","c","c"
60 | "10","3","c","c"
61 | "10","4","c","c"
62 | "10","5","c","c"
63 | "10","6","na","c"
64 | "10","7","c","c"
65 | "10","8","na","na"
66 | "10","9","c","c"
67 | "10","10","c","c"
68 | "10","11","c","c"
69 | "10","12","c","c"
70 | "10","13","na","na"
71 | "10","14","na","na"
72 | "11","1","na","na"
73 | "11","2","na","na"
74 | "11","3","na","na"
75 | "11","4","na","na"
76 | "11","5","na","na"
77 | "11","6","na","na"
78 | "11","7","na","na"
79 | "11","8","na","na"
80 | "11","9","c","na"
81 | "11","10","na","na"
82 | "11","11","na","na"
83 | "11","12","na","na"
84 | "11","13","na","na"
85 | "12","1","nc","na"
86 | "12","2","na","na"
87 | "12","3","na","na"
88 | "12","4","na","na"
89 | "12","5","na","na"
90 | "12","6","na","na"
91 | "12","7","na","na"
92 | "12","8","c","c"
93 | "12","9","c","c"
94 | "12","10","na","na"
95 | "12","11","na","na"
96 | "13","1","na","na"
97 | "13","2","na","na"
98 | "13","3","na","na"
99 | "13","4","na","na"
100 | "13","5","na","na"
101 | "13","6","na","na"
102 | "13","7","na","na"
103 | "13","8","na","na"
104 | "13","9","c","c"
105 | "13","10","na","na"
106 | "13","11","nc","na"
107 | "13","12","na","na"
108 |
--------------------------------------------------------------------------------
/exampleSite/content/audits/projet2/accessibility/2022-01-18.csv:
--------------------------------------------------------------------------------
1 | "Thématiques","Critères","Dépot Fichier","Retrait Fichier"
2 | "1","1","c","na"
3 | "1","2","na","na"
4 | "1","3","c","na"
5 | "1","4","na","na"
6 | "1","5","na","na"
7 | "1","6","na","na"
8 | "1","7","na","na"
9 | "1","8","c","c"
10 | "1","9","na","na"
11 | "2","1","na","na"
12 | "2","2","na","na"
13 | "3","1","c","c"
14 | "3","2","nc","nc"
15 | "3","3","nc","na"
16 | "4","1","na","na"
17 | "4","2","na","na"
18 | "4","3","na","na"
19 | "4","4","na","na"
20 | "4","5","na","na"
21 | "4","6","na","na"
22 | "4","7","na","na"
23 | "4","8","na","na"
24 | "4","9","na","na"
25 | "4","10","na","na"
26 | "4","11","na","na"
27 | "4","12","na","na"
28 | "4","13","na","na"
29 | "5","1","na","na"
30 | "5","2","na","na"
31 | "5","3","na","na"
32 | "5","4","na","na"
33 | "5","5","na","na"
34 | "5","6","na","c"
35 | "5","7","na","nc"
36 | "5","8","na","na"
37 | "6","1","c","c"
38 | "6","2","c","c"
39 | "7","1","na","na"
40 | "7","2","na","na"
41 | "7","3","na","na"
42 | "7","4","na","na"
43 | "7","5","na","na"
44 | "8","1","c","c"
45 | "8","2","c","nc"
46 | "8","3","nc","nc"
47 | "8","4","na","na"
48 | "8","5","c","c"
49 | "8","6","nc","nc"
50 | "8","7","na","na"
51 | "8","8","na","na"
52 | "8","9","nc","nc"
53 | "8","10","na","na"
54 | "9","1","nc","nc"
55 | "9","2","nc","nc"
56 | "9","3","na","na"
57 | "9","4","na","na"
58 | "10","1","nc","nc"
59 | "10","2","nc","nc"
60 | "10","3","nc","nc"
61 | "10","4","nc","nc"
62 | "10","5","nc","nc"
63 | "10","6","na","c"
64 | "10","7","c","c"
65 | "10","8","na","na"
66 | "10","9","c","c"
67 | "10","10","c","c"
68 | "10","11","c","c"
69 | "10","12","c","c"
70 | "10","13","na","na"
71 | "10","14","na","na"
72 | "11","1","na","na"
73 | "11","2","na","na"
74 | "11","3","na","na"
75 | "11","4","na","na"
76 | "11","5","na","na"
77 | "11","6","na","na"
78 | "11","7","na","na"
79 | "11","8","na","na"
80 | "11","9","c","na"
81 | "11","10","na","na"
82 | "11","11","na","na"
83 | "11","12","na","na"
84 | "11","13","na","na"
85 | "12","1","nc","na"
86 | "12","2","nc","nc"
87 | "12","3","na","na"
88 | "12","4","na","na"
89 | "12","5","na","na"
90 | "12","6","na","na"
91 | "12","7","na","na"
92 | "12","8","c","c"
93 | "12","9","c","c"
94 | "12","10","nc","nc"
95 | "12","11","nc","nc"
96 | "13","1","na","na"
97 | "13","2","na","na"
98 | "13","3","na","na"
99 | "13","4","na","na"
100 | "13","5","na","na"
101 | "13","6","na","na"
102 | "13","7","na","na"
103 | "13","8","na","na"
104 | "13","9","c","c"
105 | "13","10","na","na"
106 | "13","11","nc","na"
107 | "13","12","na","na"
108 |
--------------------------------------------------------------------------------
/exampleSite/content/audits/projet2/accessibility/context.yml:
--------------------------------------------------------------------------------
1 | website: "projet1.fr"
2 | contacts:
3 | email: stap-amendes@ministere.gouv.fr
4 | address : 139 rue de Bercy, 75572 Paris, Cedex 12
5 | audits:
6 | 2022-01-18:
7 | guidelines: "RGAA 4.1"
8 | condition: "Auto-évaluation"
9 | technologies: ["HTML", "CSS", "JS", "PDF"]
10 | tools: ["Wave", "AXE", "Web Developper","Usability Hike","Heading Maps"]
11 | environment: ["MacOS", "Firefox", "Safari", "VoiceOver"]
12 | 2020-04-01:
13 | guidelines: "RGAA 4.1"
14 | condition: "Auto-évaluation"
15 | technologies: ["HTML", "CSS", "JS", "PDF"]
16 | tools: ["Wave", "AXE", "Web Developper","Usability Hike","Heading Maps"]
17 | environment: ["MacOS", "Firefox", "Safari", "VoiceOver"]
18 |
--------------------------------------------------------------------------------
/exampleSite/content/audits/projet2/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Projet2
3 | ---
4 |
--------------------------------------------------------------------------------
/exampleSite/exampleFiles/.github/workflows/gh-pages.yml:
--------------------------------------------------------------------------------
1 | name: github pages
2 |
3 | on:
4 | push:
5 | branches:
6 | - master # Set a branch to deploy
7 |
8 | jobs:
9 | deploy:
10 | runs-on: ubuntu-18.04
11 | steps:
12 | - uses: actions/checkout@v2
13 | with:
14 | submodules: true # Fetch Hugo themes (true OR recursive)
15 | fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
16 |
17 | - name: Setup Hugo
18 | uses: peaceiris/actions-hugo@v2
19 | with:
20 | hugo-version: 'latest'
21 | # extended: true
22 |
23 | - name: Build
24 | run: hugo --minify --buildFuture
25 |
26 | - name: Deploy
27 | uses: peaceiris/actions-gh-pages@v3
28 | with:
29 | github_token: ${{ secrets.GITHUB_TOKEN }}
30 | publish_dir: ./public
31 |
--------------------------------------------------------------------------------
/exampleSite/exampleFiles/.gitlab-ci.yml:
--------------------------------------------------------------------------------
1 | image: registry.gitlab.com/pages/hugo:latest
2 |
3 | variables:
4 | GIT_SUBMODULE_STRATEGY: recursive
5 |
6 | pages:
7 | script:
8 | - hugo --minify --buildFuture
9 | artifacts:
10 | paths:
11 | - public
12 |
--------------------------------------------------------------------------------
/exampleSite/exampleFiles/grille-criteres-rgaa.csv:
--------------------------------------------------------------------------------
1 | "Thématiques","Critères","Accueil"
2 | "1","1","25"
3 | "1","2","81"
4 | "1","3","50"
5 | "1","4","81"
6 | "1","5","50"
7 | "1","6","50"
8 | "1","7","50"
9 | "1","8",""
10 | "1","9","81"
11 | "2","1","81"
12 | "2","2","81"
13 | "3","1","25"
14 | "3","2",""
15 | "3","3",""
16 | "4","1","25"
17 | "4","2","50"
18 | "4","3","81"
19 | "4","4","50"
20 | "4","5",""
21 | "4","6",""
22 | "4","7","81"
23 | "4","8","50"
24 | "4","9","50"
25 | "4","10","25"
26 | "4","11","81"
27 | "4","12","81"
28 | "4","13","81"
29 | "5","1","81"
30 | "5","2","81"
31 | "5","3","25"
32 | "5","4","50"
33 | "5","5","81"
34 | "5","6","50"
35 | "5","7","25"
36 | "5","8","81"
37 | "6","1","25"
38 | "6","2","25"
39 | "7","1","25"
40 | "7","2","50"
41 | "7","3","25"
42 | "7","4","81"
43 | "7","5",""
44 | "8","1","81"
45 | "8","2","50"
46 | "8","3","25"
47 | "8","4","25"
48 | "8","5","25"
49 | "8","6","50"
50 | "8","7",""
51 | "8","8",""
52 | "8","9","81"
53 | "8","10","50"
54 | "9","1","25"
55 | "9","2","81"
56 | "9","3","81"
57 | "9","4","81"
58 | "10","1","81"
59 | "10","2","50"
60 | "10","3","25"
61 | "10","4",""
62 | "10","5",""
63 | "10","6","25"
64 | "10","7","25"
65 | "10","8","50"
66 | "10","9",""
67 | "10","10","50"
68 | "10","11",""
69 | "10","12",""
70 | "10","13",""
71 | "10","14","81"
72 | "11","1","25"
73 | "11","2","25"
74 | "11","3",""
75 | "11","4",""
76 | "11","5","25"
77 | "11","6","25"
78 | "11","7",""
79 | "11","8","81"
80 | "11","9","25"
81 | "11","10","25"
82 | "11","11",""
83 | "11","12",""
84 | "11","13",""
85 | "12","1",""
86 | "12","2",""
87 | "12","3",""
88 | "12","4",""
89 | "12","5",""
90 | "12","6","81"
91 | "12","7","81"
92 | "12","8","25"
93 | "12","9","25"
94 | "12","10","81"
95 | "12","11","81"
96 | "13","1","50"
97 | "13","2","81"
98 | "13","3","50"
99 | "13","4","50"
100 | "13","5","50"
101 | "13","6","50"
102 | "13","7","50"
103 | "13","8","50"
104 | "13","9",""
105 | "13","10","81"
106 | "13","11","81"
107 | "13","12","81"
108 |
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/disic/frago
2 |
3 | go 1.14
4 |
--------------------------------------------------------------------------------
/i18n/en.yaml:
--------------------------------------------------------------------------------
1 | home:
2 | other: "Home"
3 | nav-content:
4 | other: "Other contents"
5 | nav-package:
6 | other: "View the other categories"
7 | nav-anchor:
8 | other: "Discover the thematics"
9 | promise-title:
10 | other: "Content library"
11 | promise-text:
12 | other: "Improving teaching and learning outcomes in the Northern region of Ghana"
13 | title-related-content:
14 | other: "related content"
15 | link-access-more:
16 | other: "See more"
17 | link-access-content:
18 | other: "See more"
19 | form-legend-sort:
20 | other: "Sort by:"
21 | form-legend-sort-date:
22 | other: "Sort by date:"
23 | form-label-title:
24 | other: "Title"
25 | form-label-lang:
26 | other: "Language"
27 | form-legend-lang:
28 | other: "Languages:"
29 | form-label-date:
30 | other: "Date"
31 | form-label-ascending:
32 | other: "Ascending"
33 | form-label-descending:
34 | other: "Descending"
35 | form-label-all:
36 | other: "All"
37 | search-placeholder:
38 | other: "What are you looking for?"
39 | search-button:
40 | other: "Search"
41 | assets-images:
42 | other: "images"
43 | assets-audio:
44 | other: "sounds"
45 | assets-documents:
46 | other: "documents"
47 | assets-videos:
48 | other: videos
49 | message-video-compatibility:
50 | other: "Your browser does not support the video tag."
51 | message-audio-compatibility:
52 | other: "Your browser does not support the audio tag."
53 | message-notfound:
54 | other: "Page not found"
55 | languages:
56 | one: "Language"
57 | other: "Languages"
58 | category:
59 | one: "category"
60 | other: "categories"
61 | optional:
62 | other: "optional"
63 | required:
64 | other: "required"
65 | location:
66 | other: "location"
67 | name:
68 | other: "name"
69 | email:
70 | other: "email"
71 | phone:
72 | other: "phone"
73 | message:
74 | other: "message"
75 | send:
76 | other: "send"
77 | contact-us:
78 | other: "Contact Us"
79 |
80 |
--------------------------------------------------------------------------------
/images/frago.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/images/frago.png
--------------------------------------------------------------------------------
/layouts/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{ block "title" . }}{{ .Title }}{{ end }} | {{ .Site.Title }}
8 |
9 |
10 | {{ hugo.Generator }}
11 |
12 |
13 | {{- if .IsTranslated -}}
14 | {{- range .Translations -}}
15 |
16 | {{- end -}}
17 | {{- end -}}
18 | {{- if and (not .Site.IsServer) (eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")) -}}
19 |
20 | {{ else }}
21 |
22 | {{- end -}}
23 |
24 |
25 |
26 |
27 |
28 | {{ with .Site.Params.tile_color }} {{ else }} {{ end }}
29 | {{ with .Site.Params.theme_color }} {{ else }} {{ end }}
30 |
31 |
32 | {{- with resources.Match "**.css" -}}
33 |
34 | {{- range . -}}
35 | {{- if (in . "overgo") -}}{{- $.Scratch.Add "css" (slice .) -}}{{ end }}
36 | {{- end -}}
37 | {{- end -}}
38 |
39 | {{- $styles := resources.Get "/css/styles.css" -}}
40 |
41 | {{- $.Scratch.Add "css" (slice $styles) -}}
42 | {{- $style := ($.Scratch.Get "css") | resources.Concat "styles.css" -}}
43 |
44 | {{- if and (not .Site.IsServer) (eq (getenv "HUGO_ENV") "production" | or (eq .Site.Params.env "production")) -}}
45 | {{- $style := $style | postCSS (dict "config" "postcss.config.js") -}}
46 | {{- end -}}
47 |
48 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "" "filename" "fonts") "fonts" -}}
49 |
52 |
53 | {{- with .OutputFormats.Get "RSS" -}}
54 |
55 |
56 | {{- end -}}
57 |
58 |
59 |
60 |
61 |
¯\_(ツ)_/¯
62 | {{ i18n "message-not-found" }}
63 |
64 |
65 | {{ partialCached "footer" . . }}
66 |
67 |
68 |
--------------------------------------------------------------------------------
/layouts/_default/_markup/render-heading.html:
--------------------------------------------------------------------------------
1 |
2 | {{- $anchoredLinkLevels := slice 2 -}}
3 | {{- if in $anchoredLinkLevels .Level -}}
4 | {{ printf " " (.Anchor | safeURL) (T "anchor_for") (.Text | plainify | safeHTML) | safeHTML }} {{ .Text | safeHTML }}
5 | {{- else -}}
6 | {{ .Text | safeHTML }}
7 | {{- end -}}
8 |
--------------------------------------------------------------------------------
/layouts/_default/_markup/render-image.html:
--------------------------------------------------------------------------------
1 | {{ partial "elements/images.html" (dict "image" .Destination "title" .Title "alt" .Text) | replaceRE " " (.name | urlize | safeURL) (T "anchor_for") (.name | plainify | safeHTML) | safeHTML }}{{ .name }}
7 |
8 | {{ if .job }}Poste : {{ .job }} {{ end }}
9 | {{ if .direction }}Direction : {{ .direction }} {{ end }}
10 | {{ if .ministry }}Ministère : {{ .ministry }} {{ end }}
11 | {{ if .email }}Email : {{ .email }} {{ end }}
12 |
13 | {{- end -}}
14 | {{- else -}}
15 | {{- warnf "%s" "data/directory.json file is missing" -}}
16 | {{- end -}}
17 |
18 | {{- end -}}
19 |
--------------------------------------------------------------------------------
/layouts/ecoconception/single.html:
--------------------------------------------------------------------------------
1 | {{- define "title" -}}
2 | {{- $context := . -}}
3 | {{- $alternate := where (where .OutputFormats "Permalink" "eq" .Permalink) "Rel" "eq" "alternate" -}}
4 | {{- if ne (len $alternate) 0 -}}
5 | {{- with $alternate -}}
6 | {{- range $key, $value := . -}}
7 | {{- if eq .Format.BaseName "declaration" -}}Déclaration{{- end -}}
8 | {{- end -}}
9 | {{- end -}}
10 | {{- else -}}
11 | Éco conception
12 | {{- end -}}
13 | {{- $projectTitle := (.GetPage "./").Title -}}{{ with $projectTitle }} pour {{ $projectTitle }}{{ else }}{{ (index (split (path.Dir .Path) "/") 1) }}{{ end }}
14 | {{- end -}}
15 |
16 | {{- define "main" -}}
17 | {{- $context := . -}}
18 | {{- $partial := (partialCached "templates/ecoconception.html" (dict "context" $context) $context) -}}
19 | {{- partialCached "elements/content.html" $partial $partial -}}
20 | {{- end -}}
21 |
--------------------------------------------------------------------------------
/layouts/glossary/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{- $patharray := split (path.Dir .Path) "/" -}}
3 |
4 | {{- $.Scratch.Set "guidelinename" "rgaa" -}}
5 | {{- $.Scratch.Set "guidelineversion" "4.1" -}}
6 | {{- if ge ($patharray) 2 -}}
7 | {{- $.Scratch.Set "guideline" (index $patharray 0) -}}
8 | {{- $.Scratch.Set "guidelinename" (index $patharray 0) -}}
9 | {{- $.Scratch.Set "guidelineversion" (index $patharray 1) -}}
10 | {{- end -}}
11 |
12 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "element" "filename" "definitionlists") "definitionlists" }}
13 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "element" "filename" "codeformatting") "codeformatting" }}
14 |
15 | {{ .Title }}
16 | {{- range $key, $value := (index (index $.Site.Data ($.Scratch.Get "guidelinename")) ($.Scratch.Get "guidelineversion")).glossary -}}
17 | {{- range $value -}}
18 | {{ .section }}
19 |
20 | {{- range .dl -}}
21 | {{ .dt }}
22 |
23 | {{- range .dd -}}
24 | {{- if reflect.IsMap . -}}
25 | {{- range . -}}
26 |
27 | {{- range . -}}
28 | {{- if reflect.IsMap . -}}
29 |
30 | {{- range . -}}
31 |
32 | {{- range . -}}
33 |
34 | {{ . | markdownify }}
35 |
36 | {{- end -}}
37 |
38 | {{- end -}}
39 |
40 | {{- else -}}
41 | {{ . | markdownify }}
42 | {{- end -}}
43 | {{- end -}}
44 |
45 | {{- end -}}
46 | {{- else -}}
47 | {{ . | markdownify }}
48 | {{- end -}}
49 | {{- end -}}
50 |
51 | {{- end -}}
52 |
53 | {{- end -}}
54 | {{- end -}}
55 |
56 | {{- end -}}
57 |
--------------------------------------------------------------------------------
/layouts/index.html:
--------------------------------------------------------------------------------
1 | {{- define "title" -}}{{- .Title -}}{{- end -}}
2 |
3 | {{- define "main" -}}
4 | {{/* Looking for alternate format */}}
5 | {{- $alternate := where (where .OutputFormats "RelPermalink" "eq" .RelPermalink) "Rel" "eq" "alternate" -}}
6 | {{/* If /schema.html exist */}}
7 | {{- if ne (len $alternate) 0 -}}
8 | {{- with $alternate -}}{{- range $key, $value := . -}}
9 |
10 | {{- if eq .Format.BaseName "schema" -}}
11 | Schéma Pluriannuel
12 | {{- $partial := (partialCached "templates/schema.html" . .) | markdownify -}}
13 | {{- partialCached "elements/content.html" $partial $partial -}}
14 | {{- end -}}
15 |
16 | {{- end -}}{{- end -}}
17 | {{- else -}}
18 | {{ if .Site.Params.organisation }}{{ .Site.Params.organisation }}{{ else }}{{ .Title }}{{ end }}
19 | {{/* If only one project */}}
20 | {{- if (partialCached "render/issimpleproject.html" "arg" "arg") -}}
21 | {{- $partial := (partialCached "templates/projects.html" . .) -}}
22 | {{- partialCached "elements/content.html" $partial "projects" -}}
23 | {{/* If several projects :: call list of projects */}}
24 | {{- else -}}
25 | {{- $partial := (partialCached "templates/projects-list.html" . .) -}}
26 | {{- partialCached "elements/content.html" $partial "projectslist" -}}
27 | {{- end -}}
28 |
29 | {{ partialCached "elements/content.html" .Content .Content }}
30 |
31 | {{- end -}}
32 | {{- end -}}
33 |
34 | {{- define "script" -}}
35 | {{- end -}}
36 |
--------------------------------------------------------------------------------
/layouts/offline/single.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Offline
5 |
9 |
10 |
11 |
12 |
13 |
14 |
Offline website
15 |
16 | {{ .Content }}
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/layouts/partials/components/contact/script.js:
--------------------------------------------------------------------------------
1 | {{- $hyperform := resources.Get "js/hyperform.min.js" -}}
2 |
3 |
15 |
--------------------------------------------------------------------------------
/layouts/partials/components/parcours/template.html:
--------------------------------------------------------------------------------
1 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "parcours") "parcours" -}}
2 | {{- if .context.parcours -}}
3 | {{- $.pages.Scratch.Set "counter" 0 -}}
4 | {{- range $id, $p := .context.parcours -}}
5 | {{- $.pages.Scratch.Add "counter" 1 -}}
6 | {{- end -}}
7 | {{- end -}}
8 |
9 |
{{ .context.name }}
10 | {{- with .context.parcours -}}
11 | {{- range $id, $p := . -}}
12 | {{ if gt ($.pages.Scratch.Get "counter") 1 }}
Parcours {{ add $id 1 }} {{ end }}
13 |
14 |
{{ .name | safeHTML }}
15 | {{- with .list -}}
16 |
17 | {{- range . -}}
18 |
{{ .name | safeHTML }}
19 | {{- with .list -}}
20 |
21 | {{- range . -}}
22 |
{{ .name | safeHTML }}
23 | {{- with .list -}}
24 |
25 | {{- range . -}}
26 |
{{ .name | safeHTML }}
27 | {{- end -}}
28 |
29 | {{- end -}}
30 |
31 | {{- end -}}
32 |
33 | {{- end -}}
34 |
35 | {{- end -}}
36 |
37 | {{- end -}}
38 |
39 | {{- end -}}
40 | {{- end -}}
41 |
42 |
--------------------------------------------------------------------------------
/layouts/partials/components/personas/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{- $name := .context.name | urlize -}}
4 | {{- if (fileExists "/static/images/personas") -}}
5 | {{- range (readDir "/static/images/personas") -}}
6 | {{- if eq $name (replace .Name ".png" "") -}}
7 |
8 |
9 |
10 | {{- end -}}
11 | {{- end -}}
12 | {{- end -}}
13 | {{- $personaspath := printf "/personas/%s/%s" .project $name -}}
14 |
15 |
16 |
17 |
18 | Âge : {{ .context.age }}
19 | Raison: {{ .context.reason }}
20 |
21 |
22 |
Motivations
23 |
24 | {{- range .context.motivations -}}
25 | . {{ . }}
26 | {{- end -}}
27 |
28 |
Frustrations
29 |
30 | {{- range .context.frustrations -}}
31 | . {{ . }}
32 | {{- end -}}
33 |
34 |
Sentiments
35 |
36 | . {{ .context.feeling }}
37 |
38 |
39 |
40 |
Aisance numérique
41 | {{- $ditmissed := sub 5 (int .context.digitalease) -}}
42 | {{- range seq .context.digitalease -}}
43 | {{ . }}
44 | {{- end -}}
45 | {{- range seq $ditmissed -}}
46 | {{ . }}
47 | {{- end -}}
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/layouts/partials/components/recommendation/critical.html:
--------------------------------------------------------------------------------
1 | {{- $project := .project -}}
2 | {{- $.context.Scratch.Delete "pagesstatus-critical" -}}
3 | {{- $.context.Scratch.Set "lastfile-recommendation" (readFile (index (partialCached "render/lastfile.html" (dict "context" .context "project" $project "type" "recommendation" "datafilename" .datafilename) $project "recommendation" .datafilename) "auditfile-path") | transform.Unmarshal) -}}
4 |
5 | {{- $.context.Scratch.Set "delivery" slice -}}
6 | {{- $.context.Scratch.Set "pagesdelivery" slice -}}
7 | {{- range ($.context.Scratch.Get "lastfile-recommendation") -}}
8 | {{- range $idpage, $s := .pages -}}
9 | {{- $page := dict "pagename" .name -}}
10 | {{- range $idblock, $s := .blocks -}}
11 | {{- range $iderror, $s:= .errors -}}
12 | {{ $id := (printf "/%s%s%s" (string $idpage) (string $idblock) (string $iderror)) }}
13 | {{- if .status -}}
14 | {{- $s := merge $s $page -}}
15 | {{- $.context.Scratch.SetInMap "pagesstatus-critical" (string $id) $s -}}
16 | {{- end -}}
17 | {{- end -}}
18 | {{- end -}}
19 | {{- end -}}
20 | {{- end -}}
21 |
22 | {{- with $.context.Scratch.Get "pagesstatus-critical" -}}
23 | Erreurs par criticité
24 |
25 |
26 |
27 | Intitulé
28 | Page
29 | Criticité
30 |
31 |
32 |
33 | {{- range $key, $value := sort . "status" "asc" -}}
34 | {{ if $value }}{{ $key | humanize }}{{ end }}
35 |
36 | #{{ add $key 1 }}{{ if .checked }} ✅ {{ else }} ❌ {{ end }} - {{ .name }}
37 | {{ if .pagename }}{{ .pagename }}{{ end }}
38 |
39 | {{ if eq .status "critique" }}🚫 {{ else if eq .status "important" }}❗️ {{ else if eq .status "moindre" }}➰ {{ else }}❓ {{ end }}
40 | {{ .status }}{{ if not .status }}Aucune{{ end }}
41 |
42 |
43 | {{- end -}}
44 |
45 |
46 | {{- end -}}
47 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/accessibility-small.html:
--------------------------------------------------------------------------------
1 | {{- with .scores -}}
2 |
3 | {{- if (ne .isempty 0) -}}
4 | {{- .scores.compliance -}}%
5 | conformité RGAA
6 | {{ if lt (.scores.criteria.total) 110 }}{{ (.scores.criteria.total) }} {{ end }}
7 | {{- else -}}
8 | Conformité
9 | En cours
10 | {{- end -}}
11 |
12 | {{- end -}}
13 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/accessibility.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{- .score -}}% Critères conformes
4 | {{- sub 100 .score -}}% Critères non conformes
5 |
6 |
7 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/criteria.html:
--------------------------------------------------------------------------------
1 | {{- if .criteria.testtotal -}}
2 |
3 |
4 | {{ if .criteria.conforme -}}{{ len .criteria.conforme }}{{ else }}0{{ end }} Critères conformes
5 | {{ if .criteria.nonapplicable }}{{ len .criteria.nonapplicable }}{{ else }}0{{ end }} Critères non applicables
6 | {{ if .criteria.nonconforme }}{{ len .criteria.nonconforme }}{{ else }}0{{ end }} Critères non conformes
7 |
8 |
9 | {{- end -}}
10 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/ecoconception-small.html:
--------------------------------------------------------------------------------
1 | {{- $project := .project -}}
2 | {{- $lastfile := (index (partialCached "render/lastfile.html" (dict "context" .context "project" $project "type" "ecoconception") $project "ecoconception") "auditfile-path") -}}
3 | {{- $ecoconception := partialCached "render/ecoconception.html" (dict "context" .context "auditfile" $lastfile) .context $lastfile -}}
4 |
5 | {{- with $ecoconception -}}
6 |
7 | {{- if (ne .isempty 0) -}}
8 | {{- .scores.compliance -}}%
9 | conformité RGESN
10 | {{ if lt (.scores.criteria.total) 110 }}{{ (.scores.criteria.total) }} {{ end }}
11 | {{- else -}}
12 | Conformité
13 | En cours
14 | {{- end -}}
15 |
16 | {{- end -}}
17 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/greenit-small.html:
--------------------------------------------------------------------------------
1 | {{- $project := .project -}}
2 | {{- $lastfile := (index (partialCached "render/lastfile.html" (dict "context" .context "project" $project "type" "greenit") $project "greenit") "auditfile-path") -}}
3 | {{- $greenit := partialCached "render/greenit.html" (dict "context" .context "auditfile" $lastfile) .context $lastfile -}}
4 |
5 | {{- with $greenit -}}
6 |
7 | {{- if (ne .isempty 0) -}}
8 | {{- .scores.compliance -}}%
9 | avancée GreenIT
10 | {{ if lt (.scores.criteria.total) 74 }}{{ (.scores.criteria.total) }} {{ end }}
11 | {{- else -}}
12 | Avancée
13 | En cours
14 | {{- end -}}
15 |
16 | {{ end }}
17 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/greenit.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{- .score -}}% de pratiques réalisées
4 | {{- sub 100 .score -}}% de pratiques à traiter
5 |
6 |
7 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/performance-small.html:
--------------------------------------------------------------------------------
1 | {{- $project := .project -}}
2 | {{- $lastfile := (index (partialCached "render/lastfile.html" (dict "context" .context "project" $project "type" "lighthouse") $project "lighthouse") "auditfile-path") -}}
3 | {{- $performance := partialCached "render/performance.html" (dict "context" .context "auditfile" $lastfile) .context $lastfile -}}
4 |
5 | {{- if $performance.LCP -}}
6 |
7 | {{ div ($performance.LCP) 1000 | lang.NumFmt 1 }}s
8 | de chargement
9 |
10 | {{- else -}}
11 | {{- warnf "Lighthouse file %s has to a test to be relaunched" $lastfile -}}
12 | {{- end -}}
13 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/performance.html:
--------------------------------------------------------------------------------
1 | {{- if .counter.LCP -}}
2 |
3 |
4 | Page chargée{{ div (.counter.LCP) 1000 | lang.NumFmt 1 }}s
5 | Poids de la page{{ div .counter.pageweight 1024 | lang.NumFmt 0 }}kb
6 | Éléments sur la page{{ .counter.domsize | lang.NumFmt 0 }}
7 | Nombre de requêtes{{ .counter.requests }}
8 |
9 |
10 | Écoindex
11 |
12 |
13 | Score{{ .counter.ecoindex }}
14 | Eau (cl){{ .counter.eau | lang.NumFmt 2 }}
15 | GES (gCO2e){{ .counter.co2 | lang.NumFmt 2 }}
16 |
17 |
18 | {{- end -}}
19 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/quality-small.html:
--------------------------------------------------------------------------------
1 | {{- with .counter.total -}}
2 |
3 | {{ . }}
4 | erreurs
5 |
6 | {{- end -}}
7 |
8 |
9 |
--------------------------------------------------------------------------------
/layouts/partials/components/scores/quality.html:
--------------------------------------------------------------------------------
1 | {{- with .counter -}}
2 |
3 |
4 | {{ .total }} Erreurs total
5 | {{ .checked }} Erreurs corrigées
6 |
7 | {{- if gt (.pathlen) 2 -}}
8 | {{- if or (.critical) (.important) (.medium) -}}
9 |
10 | {{ .critical }} 🚫 Critique
11 | {{ .important }} ❗️ Important
12 | {{ .medium }} ➰ Moindre
13 |
14 | {{- end -}}
15 | {{- if or (.type.code) (.type.visual) (.type.structure) (.type.text) -}}
16 |
17 | {{ .type.code }} Erreurs de code
18 | {{ .type.visual }} Erreurs visuelles
19 | {{ .type.structure }} Erreurs de structure
20 | {{ .type.text }} Erreurs textuelles
21 |
22 | {{- end -}}
23 | {{- end -}}
24 |
25 | {{- end -}}
26 |
--------------------------------------------------------------------------------
/layouts/partials/components/steps/script.js:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/layouts/partials/components/steps/template.html:
--------------------------------------------------------------------------------
1 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "nav-tabs") "nav-tabs" -}}
2 |
3 | {{ .Params.steps.title }}
4 |
5 |
12 | {{- range $i, $p := .Params.steps.elements -}}
13 |
14 |
17 | {{ if .image }}
18 |
19 | {{ partial "elements/images.html" (dict "image" .image) }}
20 |
21 | {{ end }}
22 |
23 | {{- end -}}
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/layouts/partials/debug/debuglist-element.html:
--------------------------------------------------------------------------------
1 | {{ .context.Scratch.Set "kind" "" }}
2 | {{ if .range }}
3 | {{- range $i, $p := sort .range ".Kind" "asc" -}}
4 | {{ if eq .Kind ($.context.Scratch.Get "kind") }}
5 | {{ else }}
6 | {{ if not (eq $i 0) }}{{ end }}
7 | {{ $.context.Scratch.Set "kind" .Kind }}
8 | Section : {{ $.context.Scratch.Get "kind" }}
9 |
20 |
21 | {{- else -}}
22 | Any page listed for this page call
23 | {{- end -}}
24 |
--------------------------------------------------------------------------------
/layouts/partials/debug/debuglist.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Page lists loop
4 | All Pages in this section
5 | {{ partial "debug/debuglist-element.html" (dict "context" . "range" .Pages) }}
6 | All RegularPages in this section
7 | {{ partial "debug/debuglist-element.html" (dict "context" . "range" .RegularPages) }}
8 | All RegularPagesRecursive in this section
9 | {{ partial "debug/debuglist-element.html" (dict "context" . "range" .RegularPagesRecursive) }}
10 | All Site Sections
11 | {{ partial "debug/debuglist-element.html" (dict "context" . "range" .Site.Sections) }}
12 | All Site Pages
13 | {{ partial "debug/debuglist-element.html" (dict "context" . "range" .Site.Pages) }}
14 | All Site RegularPages
15 | {{ partial "debug/debuglist-element.html" (dict "context" . "range" .Site.RegularPages) }}
16 |
17 |
18 |
--------------------------------------------------------------------------------
/layouts/partials/elements/images.html:
--------------------------------------------------------------------------------
1 |
2 | {{- $path := print .image -}}
3 | {{- $url := $path -}}
4 | {{- $image := resources.Get $url -}}
5 | {{- with $image -}}
6 | {{- if ge .Width "800" -}}
7 | {{ $image800 := printf ", %s 800w" (.Resize "800x").Permalink }}
8 | {{- end -}}
9 | {{- with .title -}}
10 |
11 | {{- end -}}
12 |
27 |
48 | {{- with .title -}}
49 | {{ . }}
50 |
51 | {{- end -}}
52 | {{- else -}}
53 |
54 |
55 |
56 | {{- end -}}
57 |
--------------------------------------------------------------------------------
/layouts/partials/elements/tableofcontent.html:
--------------------------------------------------------------------------------
1 | {{- if and (gt .WordCount 400 ) (.Params.toc) -}}
2 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "element" "filename" "tableofcontents") "tableofcontents" }}
3 |
4 | Table of contents
5 | {{.TableOfContents | replaceRE "id=\"TableOfContents\"" "" | replaceRE "ul" "ul class=\"list-unstyled\"" | safeHTML }}
6 |
7 | {{- end -}}
8 |
--------------------------------------------------------------------------------
/layouts/partials/elements/time-to-read.html:
--------------------------------------------------------------------------------
1 | {{ $time := math.Round (div (countwords .Content) 180.0) }}
2 | {{- if le $time 1 -}}
3 | 1 min de lecture
4 | {{- else -}}
5 | {{ $time }} mins de lectures
6 | {{- end -}}
7 |
--------------------------------------------------------------------------------
/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 | {{- if .Site.Menus.footer -}}
2 |
3 |
4 |
5 |
6 |
7 | {{- $currentPage := . -}}
8 | {{- range .Site.Menus.footer -}}
9 |
10 | {{- end -}}
11 |
12 |
13 |
14 |
15 |
16 | {{- end -}}
17 |
--------------------------------------------------------------------------------
/layouts/partials/list.html:
--------------------------------------------------------------------------------
1 | {{- $patharray := split (path.Dir .context.Path) "/" -}}
2 | {{- $context := .context -}}
3 | {{- $project := (partialCached "render/projectpath" $context $context) -}}
4 | {{- $section := where .context.Site.RegularPages "Section" .section -}}
5 | {{/* Set the audit file */}}
6 | {{- if eq (len $patharray) 2 -}}
7 | {{- range $id, $value := $section -}}
8 | {{- if in (path.Dir .Path) $project -}}{{- $.context.Scratch.SetInMap "element" (string $id) . -}}{{- end -}}
9 | {{- end -}}
10 | {{- else -}}
11 | {{- $.context.Scratch.Set "element" ($section) -}}
12 | {{- end -}}
13 |
14 | {{- if $.context.Scratch.Get "element" -}}
15 |
16 |
17 |
{{ with .context.Site.GetPage .section }}{{ .Title }}{{ end }}
18 |
19 |
20 | {{- range first 4 (sort ($.context.Scratch.Get "element")) -}}
21 |
22 | {{- if .Date -}}{{ .Date.Day }} {{ index .Site.Data.month (printf "%d" .Date.Month) }} {{ .Date.Year }} {{ end }}
23 |
24 |
25 | {{- $.context.Scratch.Set "linksingle" .RelPermalink -}}
26 | {{- end -}}
27 |
28 |
Voir toutes les {{ with .context.Site.GetPage .section }}{{ lower .Title }}{{ end }}
29 |
30 |
31 | {{- end -}}
32 |
--------------------------------------------------------------------------------
/layouts/partials/navigations/breadcrumb.html:
--------------------------------------------------------------------------------
1 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "breadcrumb") "breadcrumb" -}}
2 |
3 | {{- range $i, $e := (split .URL "/") -}}
4 | {{ $.Scratch.Set "index" $i }}{{- end -}}
5 |
6 | {{- if not (eq ($.Scratch.Get "index") 1) -}}
7 |
8 | {{- end -}}
9 | {{ i18n "home" }}
10 | {{ if not (eq ($.Scratch.Get "index") 0) }}
11 |
12 | {{- end -}}
13 |
14 | {{- range $i, $e := (split .URL "/") -}}
15 | {{- if (and (gt (len $e ) 1) (lt $i 2)) -}}
16 |
17 |
18 | {{ humanize $e }}
19 |
20 |
21 | {{- end -}}
22 | {{- end -}}
23 |
24 |
--------------------------------------------------------------------------------
/layouts/partials/navigations/nav-prevnext.html:
--------------------------------------------------------------------------------
1 |
2 | {{ if ne .PrevInSection nil }}
3 | {{ with .PrevInSection }}
4 |
5 | {{ end }}
6 | {{ end }}
7 | {{ if ne .NextInSection nil }}
8 | {{ with .NextInSection }}
9 |
10 | {{ end }}
11 | {{ end }}
12 |
13 |
--------------------------------------------------------------------------------
/layouts/partials/navigations/nav-translated.html:
--------------------------------------------------------------------------------
1 |
2 | {{- range .Site.Languages -}}
3 | {{- . -}}
4 | {{- end -}}
5 | {{- if .IsTranslated -}}
6 | {{/* */}}
14 | {{- end -}}
15 |
16 |
--------------------------------------------------------------------------------
/layouts/partials/navigations/paginator.html:
--------------------------------------------------------------------------------
1 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "pagination") "pagination" }}
2 |
3 | {{ if .Paginator.HasPrev }}
4 |
5 | {{ end }}
6 | {{/* if or .Paginator.HasPrev .Paginator.HasNext }}
7 | {{ .Paginator.PageNumber }} of {{ .Paginator.TotalPages }}
8 | {{ end */}}
9 | {{ if .Paginator.HasNext }}
10 |
11 | {{ end }}
12 |
13 |
--------------------------------------------------------------------------------
/layouts/partials/navigations/tags.html:
--------------------------------------------------------------------------------
1 | {{- with .GetTerms "tags" -}}
2 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "tag") "tag" -}}
3 | Tags :
4 |
9 | {{- end -}}
10 |
--------------------------------------------------------------------------------
/layouts/partials/render/ecoconception.html:
--------------------------------------------------------------------------------
1 | {{ $data := newScratch }}
2 |
3 | {{ if (ne .auditfile "/false") }}
4 | {{ $auditfile := (getCSV "," .auditfile) }}
5 | {{ $data.Set "date" (replace (path.Base .auditfile) (path.Ext .auditfile) "") }}
6 |
7 |
8 | {{ range $key1, $value1 := after 1 $auditfile }}
9 | {{ range $id, $value2 := after 2 . }}
10 | {{ $value2 := lower (index (split . "|") 0) }}
11 | {{ $key := printf "%s.%s" (index $value1 0) (index $value1 1)}}
12 | {{ if eq $value2 "oui"}}
13 | {{ $data.SetInMap "CritC" (string $key) . }}
14 | {{ else if eq $value2 "non"}}
15 | {{ $data.SetInMap "CritNC" (string $key) . }}
16 | {{ else if or ( eq $value2 "na") (eq $value2 "non applicable") }}
17 | {{ $data.SetInMap "CritNA" (string $key) . }}
18 | {{ else }}
19 | {{ $data.SetInMap "CritNT" (string $key) . }}
20 | {{ end }}
21 | {{ end }}
22 | {{ end }}
23 |
24 | {{ end }}
25 |
26 | {{ $data.Set "iCritC" 0 }}
27 | {{ with ($data.Get "CritC") }}
28 | {{ $data.Set "iCritC" (len .) }}
29 | {{ end }}
30 |
31 | {{ $data.Set "iCritNC" 0 }}
32 | {{ with ($data.Get "CritNC") }}
33 | {{ $data.Set "iCritNC" (len .) }}
34 | {{ end }}
35 |
36 | {{ $data.Set "iCritNA" 0 }}
37 | {{ with ($data.Get "CritNA") }}
38 | {{ $data.Set "iCritNA" (len .) }}
39 | {{ end }}
40 |
41 | {{ $data.Set "iCritNT" 0 }}
42 | {{ with ($data.Get "CritNT") }}
43 | {{ $data.Set "iCritNT" (len .) }}
44 | {{ end }}
45 |
46 | {{ $data.Set "CritCount" ($data.Get "CritC") }}
47 | {{ with ($data.Get "CritNC") }}
48 | {{ $data.Set "CritCount" (merge ($data.Get "CritC") .) }}
49 | {{ end }}
50 |
51 | {{ $data.Set "compliance" 0 }}
52 | {{ $data.Set "compliance"
53 | (div (mul ($data.Get "iCritC") 100) (len ($data.Get "CritCount")))
54 | }}
55 |
56 | {{ return (dict
57 | "isempty" true
58 | "date" ($data.Get "date")
59 | "criteria" (dict "conforme" ($data.Get "CritC")
60 | "nonconforme" ($data.Get "CritNC")
61 | "nonapplicable" ($data.Get "CritNA")
62 | "nonteste" ($data.Get "CritNT")
63 | "testtotal" (add (add ($data.Get "iCritC") ($data.Get "iCritNC")) ($data.Get "iCritNA"))
64 | )
65 | "scores" (dict "criteria"
66 | (dict "total" (add (add ($data.Get "iCritC") ($data.Get "iCritNC")) ($data.Get "iCritNA"))
67 | "conforme" ($data.Get "iCritC")
68 | "nonapplicable" ($data.Get "iCritNA")
69 | "nonconforme" ($data.Get "iCritNC")
70 | "nonteste" ($data.Get "iCritNT")
71 | )
72 | "compliance" ($data.Get "compliance")
73 | )
74 | )
75 | }}
76 |
--------------------------------------------------------------------------------
/layouts/partials/render/filepath.html:
--------------------------------------------------------------------------------
1 | {{/* return the filepath of the audits files */}}
2 | {{ $project := .project }}
3 | {{ $data := newScratch }}
4 | {{ $data.Set "filepath" (printf "static/%s/%s/" .project .type) }}
5 | {{ $loop := (dict
6 | "accessibility" (slice "accessibility" "rgaa")
7 | "greenit" (slice "greenit")
8 | "ecoconception" (slice "rgesn")
9 | "recommendation" (slice "quality" "recommendation" "recommendations")
10 | "quality" (slice "quality" "recommendation" "recommendations")
11 | "lighthouse" (slice "lighthouse" "performance")
12 | "performance" (slice "lighthouse" "performance")
13 | )
14 | }}
15 | {{ $rootpath := partialCached "render/rootpath" (dict "context" . "project" $project "type" .type) $project .type }}
16 | {{/* $return := replace (replace (replace (cond (fileExists $pathcontentmulti) $pathcontentmulti (cond (fileExists $pathcontentsingle) $pathcontentsingle $pathstatic)) "///" "/") "//" "/") "/audits/audits/" "/audits/" */}}
17 | {{ range $key, $value := index $loop .type }}
18 | {{ $data.Set "filepath" (cond (fileExists (printf "%s/%s/%s/" $rootpath $project $value)) (printf "%s/%s/%s/" $rootpath $project $value) (cond (fileExists (printf "%s/%s/" $rootpath $value)) (printf "%s/%s/" $rootpath $value) ($data.Get "filepath"))) }}
19 | {{ end }}
20 |
21 | {{ $return := replace (replace (replace ($data.Get "filepath") "///" "/") "//" "/") "/audits/audits/" "/audits/"}}
22 |
23 | {{ return $return }}
24 |
--------------------------------------------------------------------------------
/layouts/partials/render/greenit.html:
--------------------------------------------------------------------------------
1 |
2 | {{ $data := newScratch }}
3 |
4 | {{ if (ne .auditfile "/false") }}
5 | {{ $auditfile := (getCSV "," .auditfile) }}
6 | {{ $data.Set "auditfile" $auditfile }}
7 | {{ $data.Set "date" (replace (path.Base .auditfile) (path.Ext .auditfile) "") }}
8 |
9 | {{ range $key1, $value1 := after 1 $auditfile }}
10 | {{ $key := index $value1 0 }}
11 | {{ $value := index $value1 1 }}
12 | {{ $data.SetInMap "CritAll" (string $key) $value }}
13 | {{ if eq $value "1"}}
14 | {{ $data.SetInMap "Crit1" (string $key) $value }}
15 | {{ else if eq $value "2"}}
16 | {{ $data.SetInMap "Crit2" (string $key) $value }}
17 | {{ else if eq $value "3"}}
18 | {{ $data.SetInMap "Crit3" (string $key) $value }}
19 | {{ else if eq $value "4"}}
20 | {{ $data.SetInMap "Crit4" (string $key) $value }}
21 | {{ else if eq $value "5"}}
22 | {{ $data.SetInMap "Crit5" (string $key) $value }}
23 | {{ else }}
24 | {{ $data.SetInMap "Critnonteste" (string $key) $value }}
25 | {{ end }}
26 | {{ end }}
27 |
28 | {{ end }}
29 |
30 | {{ $data.Set "iCrit1" 0 }}
31 | {{ with ($data.Get "Crit1") }}
32 | {{ $data.Set "iCrit1" (len .) }}
33 | {{ end }}
34 |
35 | {{ $data.Set "iCrit2" 0 }}
36 | {{ with ($data.Get "Crit2") }}
37 | {{ $data.Set "iCrit2" (len .) }}
38 | {{ end }}
39 |
40 | {{ $data.Set "iCrit3" 0 }}
41 | {{ with ($data.Get "Crit3") }}
42 | {{ $data.Set "iCrit3" (len .) }}
43 | {{ end }}
44 |
45 | {{ $data.Set "iCrit4" 0 }}
46 | {{ with ($data.Get "Crit4") }}
47 | {{ $data.Set "iCrit4" (len .) }}
48 | {{ end }}
49 |
50 | {{ $data.Set "iCrit5" 0 }}
51 | {{ with ($data.Get "Crit5") }}
52 | {{ $data.Set "iCrit5" (len .) }}
53 | {{ end }}
54 |
55 | {{ $data.Set "iCritnonteste" 0 }}
56 | {{ with ($data.Get "Critnonteste") }}
57 | {{ $data.Set "iCritnonteste" (len .) }}
58 | {{ end }}
59 |
60 | {{ $compliancetotal := (add (add (add (add (mul ($data.Get "iCrit1") 1) (mul ($data.Get "iCrit2") 2)) (mul ($data.Get "iCrit3") 3) ) (mul ($data.Get "iCrit4") 4 )) (mul ($data.Get "iCrit5") 5)) }}
61 |
62 | {{ return (dict
63 | "isempty" false
64 | "date" ($data.Get "date")
65 | "criteria" (dict "1" ($data.Get "Crit1")
66 | "2" ($data.Get "Crit2")
67 | "3" ($data.Get "Crit3")
68 | "4" ($data.Get "Crit4")
69 | "5" ($data.Get "Crit5")
70 | "all" ($data.Get "CritAll")
71 | "nonteste" ($data.Get "Critnonteste")
72 | )
73 | "scores" (dict "criteria"
74 | (dict "total" (add (add (add (add ($data.Get "iCrit1") ($data.Get "iCrit2")) ($data.Get "iCrit3")) ($data.Get "iCrit4")) ($data.Get "iCrit5"))
75 | "1" ($data.Get "iCrit1")
76 | "2" ($data.Get "iCrit2")
77 | "3" ($data.Get "iCrit3")
78 | "4" ($data.Get "iCrit4")
79 | "5" ($data.Get "iCrit5")
80 | "nonteste" ($data.Get "iCritnonteste")
81 | )
82 | "compliancetotal" $compliancetotal
83 | "compliance" (div ((mul $compliancetotal 100)) 370)
84 | )
85 | )
86 | }}
87 |
--------------------------------------------------------------------------------
/layouts/partials/render/issimpleproject.html:
--------------------------------------------------------------------------------
1 | {{ $data := newScratch }}
2 | {{ $data.Set "isSimple" slice }}
3 | {{ if (fileExists "content/audits") }}
4 | {{ range (readDir "content/audits") }}
5 | {{ $data.Add "isSimple" .Name }}
6 | {{ end }}
7 | {{ end }}
8 | {{ return (ne (len (intersect ($data.Get "isSimple") (slice "accessibility" "rgaa"))) 0) }}
9 |
--------------------------------------------------------------------------------
/layouts/partials/render/methodology.html:
--------------------------------------------------------------------------------
1 | {{/* Return the type of audit file :: if with "Thématiques" "Critères" or "Thématiques" "Critères" "Tests" */}}
2 | {{ $auditfile := .auditfile }}
3 | {{ $data := newScratch }}
4 | {{ with $auditfile }}
5 | {{ $data.Set "methodology" (len (intersect (index . 0) (slice "Thématiques" "Critères" "Tests"))) }}
6 | {{ $data.Set "methodologypageslist" (cond (eq ($data.Get "methodology") 2) ((index . 0) | symdiff (slice "Thématiques" "Critères")) ((index . 0) | symdiff (slice "Thématiques" "Critères" "Tests"))) }}
7 | {{ return
8 | (dict
9 | "methodology" ($data.Get "methodology")
10 | "pageslist" ($data.Get "methodologypageslist")
11 | )
12 | }}
13 | {{ end }}
14 |
--------------------------------------------------------------------------------
/layouts/partials/render/notepath.html:
--------------------------------------------------------------------------------
1 | {{ $data := newScratch }}
2 | {{ $path := printf "content/%s" (path.Dir .Path) }}
3 | {{- range $key, $value := readDir (printf "content/%s" (path.Dir .Path)) -}}
4 | {{- $file := .Name -}}
5 | {{- if gt (len ((intersect (slice $file) (slice "quality.md" "recommendation.md" "recommendations.md" "notes.md" "note.md")))) 0 -}}
6 | {{- $data.SetInMap "notes" (string $key) ((readFile (printf "%s/%s" $path $file)) | markdownify) -}}
7 | {{- end -}}
8 | {{- end -}}
9 | {{ return ($data.Get "notes") -}}
10 |
--------------------------------------------------------------------------------
/layouts/partials/render/projectpath.html:
--------------------------------------------------------------------------------
1 | {{ $projectpath := cond (not (partialCached "render/issimpleproject.html" "arg" "arg")) (cond (eq (len (split (path.Dir .Path) "/")) 1) "" (replace (path.Dir .Path) (printf "%s/" .Section) "")) "" }}
2 | {{/* $projectpath := replace $projectpath "/" "" % */}}
3 | {{/* if eq (getenv "HUGO_ENV") "dev" -}}
4 | {{ warnf "ProjectPath for project %s is: %s" (path.Dir .Path) $projectpath }}
5 | {{ end */}}
6 | {{ return $projectpath -}}
7 |
--------------------------------------------------------------------------------
/layouts/partials/render/recommendation.html:
--------------------------------------------------------------------------------
1 |
2 | {{/* Determine values from recommendation files */}}
3 | {{ $pathlen := len (split (path.Dir .context.Path) "/") }}
4 | {{ $auditfile := .auditfile }}
5 | {{ $data := newScratch }}
6 | {{/* START Test if audit file not false */}}
7 | {{ if (ne $auditfile "/false") }}
8 | {{ $lastfile := readFile $auditfile | transform.Unmarshal }}
9 | {{ $data.Delete "counterrecommendation" }}
10 |
11 | {{ range $lastfile }}
12 | {{ $data.Set "countererrorstotal" 0 }}
13 | {{ $data.Set "countererrorschecked" 0 }}
14 | {{ $data.Set "countererrorstypecode" 0 }}
15 | {{ $data.Set "countererrorstypevisual" 0 }}
16 | {{ $data.Set "countererrorstypestructure" 0 }}
17 | {{ $data.Set "countererrorstypetext" 0 }}
18 | {{ $data.Set "countererrorscritical" 0 }}
19 | {{ $data.Set "countererrorsimportant" 0 }}
20 | {{ $data.Set "countererrorsmedium" 0 }}
21 | {{ range .pages }}
22 | {{ range $b := .blocks }}
23 | {{ range .errors }}
24 | {{ $data.Add "countererrorstotal" 1 }}
25 | {{ if .checked }}{{ $data.Add "countererrorschecked" 1 }}{{ end }}
26 | {{ if in .type "code" }}{{ $data.Add "countererrorstypecode" 1 }}{{ end }}
27 | {{ if in .type "vis" }}{{ $data.Add "countererrorstypevisual" 1 }}{{ end }}
28 | {{ if in .type "structure" }}{{ $data.Add "countererrorstypestructure" 1 }}{{ end }}
29 | {{ if in .type "text" }}{{ $data.Add "countererrorstypetext" 1 }}{{ end }}
30 | {{ if in .status "criti" }}{{ $data.Add "countererrorscritical" 1 }}{{ end }}
31 | {{ if in .status "important" }}{{ $data.Add "countererrorsimportant" 1 }}{{ end }}
32 | {{ if in .status "moindre" }}{{ $data.Add "countererrorsmedium" 1 }}{{ end }}
33 | {{ end }}
34 | {{ end }}
35 | {{ end }}
36 | {{ end }}
37 |
38 | {{ return
39 | (dict
40 | "date" (replace (path.Base $auditfile) (path.Ext $auditfile) "")
41 | "pathlen" ($pathlen)
42 | "total" ($data.Get "countererrorstotal")
43 | "checked" ($data.Get "countererrorschecked")
44 | "critical" ($data.Get "countererrorscritical")
45 | "important" ($data.Get "countererrorsimportant")
46 | "medium" ($data.Get "countererrorsmedium")
47 | "type" (dict
48 | "code" ($data.Get "countererrorstypecode")
49 | "visual" ($data.Get "countererrorstypevisual")
50 | "structure" ($data.Get "countererrorstypestructure")
51 | "text" ($data.Get "countererrorstypetext")
52 | )
53 | )
54 | }}
55 | {{ else }}
56 | {{ if ne .context.Path "_index.md" }}{{ warnf "Maybe recommendation file is missing in %s" .context.Path }}{{ end }}
57 | {{ end }}
58 | {{/* END Test if audit file not false */}}
59 |
--------------------------------------------------------------------------------
/layouts/partials/render/rootpath.html:
--------------------------------------------------------------------------------
1 | {{/* return the rootpath of the audits files */}}
2 | {{ $project := .project }}
3 | {{ $data := newScratch }}
4 | {{ $data.Set "rootpath" "static" }}
5 | {{ $loop := (dict
6 | "accessibility" (slice "accessibility" "rgaa")
7 | "greenit" (slice "greenit")
8 | "ecoconception" (slice "rgesn")
9 | "recommendation" (slice "quality" "recommendation" "recommendations")
10 | "quality" (slice "quality" "recommendation" "recommendations")
11 | "performance" (slice "lighthouse" "performance")
12 | "lighthouse" (slice "lighthouse" "performance")
13 | )
14 | }}
15 |
16 | {{ range $key, $value := index $loop .type }}
17 | {{ $data.Set "rootpath" (cond (fileExists (printf "content/audits/%s/%s/" $project $value)) "content/audits" (cond (fileExists (printf "content/audits/%s/" $value)) "content/audits" ($data.Get "rootpath"))) }}
18 | {{ end }}
19 | {{/* if eq (getenv "HUGO_ENV") "dev" -}}
20 | {{ warnf "RootPath for project %s is: %s" .project $rootpath }}
21 | {{ end */}}
22 | {{ return ($data.Get "rootpath") }}
23 |
--------------------------------------------------------------------------------
/layouts/partials/templates/actions.html:
--------------------------------------------------------------------------------
1 | {{/* Variables */}}
2 | {{- $pagedate := replace (path.Base .Path) (path.Ext .Path) "" -}}
3 | {{- $kind := .Kind -}}
4 |
5 | {{/* START Write table with all actions */}}
6 | {{- with (partialCached "render/actions.html" .) -}}
7 |
8 |
9 |
10 | Démarches
11 | Type
12 | Action
13 | Détails
14 | Avancement
15 |
16 |
17 |
18 | {{- range $key, $value := (index (index . "actions") $pagedate) }}
19 | {{- range . -}}
20 |
21 | {{ $key }}
22 | {{- range . -}}
23 |
24 | {{- with (trim . " ") -}}
25 | {{- if findRE "(\\d{2})-(\\d{2})" . }}
26 | De {{ index $.Site.Data.month (string (float (index (split . "-") 0))) }} à {{ index $.Site.Data.month (string (float (index (split . "-") 1))) }} {{ (string (now.Format "2006")) -}}
27 | {{- else if (findRE "(\\d{2})/(\\d{2})" .) }}
28 | le {{ (float (index (split . "/") 0)) }} {{ index $.Site.Data.month (string (float (index (split . "/") 1))) }} {{ (string (now.Format "2006")) -}}
29 | {{- else -}}
30 | {{ . }}
31 | {{- end -}}
32 | {{- end -}}
33 |
34 | {{- end -}}
35 |
36 | {{- end -}}
37 | {{- end -}}
38 |
39 |
40 | {{- end -}}
41 | {{/* END Write table with all actions */}}
42 |
--------------------------------------------------------------------------------
/layouts/partials/templates/dashboard.html:
--------------------------------------------------------------------------------
1 | {{ with .Title }}{{ . }}{{ else }}Tableau de bord{{ end }}
2 | {{- $partial := (partialCached "templates/projects-list.html" . .) -}}
3 | {{- partialCached "elements/content.html" $partial "projectslist" -}}
4 |
--------------------------------------------------------------------------------
/layouts/partials/utils/css.html:
--------------------------------------------------------------------------------
1 | {{- $filepath := printf "/css/%s/%s.css" .filefolder .filename -}}
2 | {{- $css := (resources.Get $filepath) -}}
3 | {{- if $css -}}
4 | {{- $css := $css | minify -}}
5 | {{- if .inline -}}
6 |
9 | {{- else -}}
10 |
11 |
12 |
13 |
14 |
15 | {{- end -}}
16 | {{- else -}}
17 | {{- warnf "The file css %s doesn't exist" $filepath -}}
18 | {{- end -}}
19 |
20 |
--------------------------------------------------------------------------------
/layouts/partials/utils/isURL.html:
--------------------------------------------------------------------------------
1 | {{ $context := .context }}
2 | {{ $projectTitle := .projectTitle }}
3 | {{ $project := partialCached "render/projectpath" $context $context }}
4 |
5 | {{ with (partialCached "render/context.html" (dict "context" $context "project" $project) $project) }}
6 | {{ $context.Scratch.Set "website" (index (last 1 (sort .)) 0).website }}
7 | {{- end -}}
8 |
9 | {{ $matchurl := "([\\w_-]+(?:(?:\\.[\\w_-]+)+))([\\w.,@?^=%&:\\/~+#-]*[\\w@?^=%&\\/~+#-])" }}
10 | {{ $matchhttp := "(http|ftp|https)://" }}
11 |
12 | {{ $urlprefix1 := cond (gt (len (findRE $matchhttp $projectTitle)) 0) "" "//" }}
13 | {{ $urlprefix2 := cond (gt (len (findRE $matchhttp ($context.Scratch.Get "website"))) 0) "" "//" }}
14 | {{ $result := cond (gt (len (findRE $matchurl $projectTitle)) 0) (printf "%s " $urlprefix1 $projectTitle $projectTitle | safeHTML) $projectTitle }}
15 | {{ $result := cond (gt (len (findRE $matchurl ($context.Scratch.Get "website"))) 0) (printf "%s " $urlprefix2 ($context.Scratch.Get "website") $projectTitle | safeHTML) $projectTitle }}
16 |
17 | {{ return $result }}
18 |
--------------------------------------------------------------------------------
/layouts/performance/single.html:
--------------------------------------------------------------------------------
1 | {{- define "title" -}}
2 | {{- $context := . -}}
3 | {{- $projectTitle := (.GetPage "./").Title -}}Audit Performance {{ with $projectTitle }}pour {{ $projectTitle }}{{ else }}{{ (index (split (path.Dir .Path) "/") 1) }}{{ end }}
4 | {{- end -}}
5 | {{- define "main" -}}
6 | {{/* Vars */}}
7 | {{- $context := . -}}
8 | {{- $partial := (partialCached "templates/performance.html" (dict "context" $context) $context) -}}
9 | {{- partialCached "elements/content.html" $partial $partial -}}
10 | {{- end -}}
11 |
--------------------------------------------------------------------------------
/layouts/personas/list.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{/* Vars */}}
3 | {{- $patharray := split (path.Dir .Path) "/" -}}
4 | {{- $project := (partialCached "render/projectpath" . .) -}}
5 | {{- $path := (partialCached "render/filepath" (dict "context" . "project" $project "type" "personas.json") $project "personas.json") -}}
6 |
7 | {{- if $project -}}
8 |
9 |
{{ .Title }}
10 | {{ partialCached "elements/content.html" .Content .Content }}
11 |
12 | {{/* Range all regular pages */}}
13 | {{- range .RegularPages -}}
14 | {{/* Range the personas file in the project and find/list the pages on `content/personas/` directory */}}
15 | {{- range where (getJSON $path) "name" "eq" .Title -}}
16 | {{ partial "components/personas/template.html" (dict "context" . "pages" $.Site "project" $project) }}
17 | {{- end -}}
18 | {{- end -}}
19 |
20 |
21 | {{- else -}}
22 |
23 | {{ .Scratch.Set "Paginator" (.Paginate .Pages) }}
24 | {{- $paginator:=(.Scratch.Get "Paginator") -}}
25 |
26 | {{ .Title }}
27 | {{ partialCached "elements/content.html" .Content .Content }}
28 | {{- $.Scratch.Set "linksingle" .RelPermalink -}}
29 | {{- $.Scratch.Set "hassection" .Sections -}}
30 | {{- range $paginator.Pages -}}
31 |
39 |
40 | {{- end -}}
41 |
42 |
43 | {{- partial "navigations/paginator.html" . -}}
44 |
45 | {{- end -}}
46 | {{- end -}}
47 |
--------------------------------------------------------------------------------
/layouts/personas/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{/* Vars */}}
3 | {{- $patharray := split (path.Dir .Path) "/" -}}
4 | {{- $project := (partialCached "render/projectpath" . .) -}}
5 | {{/* Condition about structure level */}}
6 | {{- $filepath := (partialCached "render/filepath" (dict "context" . "project" $project "type" "personas.json") $project "personas.json") -}}
7 | {{- $.Scratch.Set "auditfile" (getJSON $filepath) -}}
8 |
9 |
← Retour à la page {{ $project }}
10 |
{{ .Title }} {{ if .Params.tags }}{{ range .Params.tags }}pour {{ . }} {{ end }}{{ end }}
11 | {{/* List the data for this files with range personas files on the project */}}
12 | {{- range where ($.Scratch.Get "auditfile") "name" "eq" .Title -}}
13 | {{ $name := .name | urlize }}
14 | {{ if (fileExists "/static/images/personas") }}
15 | {{- range (readDir "/static/images/personas") -}}
16 | {{ if eq $name (replace .Name ".png" "") }}
{{ end }}
17 | {{- end -}}
18 | {{- end -}}
19 |
Description
20 |
21 |
22 | {{ .age }} ans
23 | {{ .reason }}
24 |
25 |
26 |
27 |
28 |
29 |
Motivations
30 |
31 | {{- range .motivations -}}
32 | . {{ . }}
33 | {{- end -}}
34 |
35 |
36 |
37 |
Frustrations
38 |
39 | {{- range .frustrations -}}
40 | . {{ . }}
41 | {{- end -}}
42 |
43 |
44 |
45 |
Sentiments
46 |
{{ .feeling }}
47 |
48 |
49 |
Aisance numérique
50 |
51 | {{- $ditmissed := sub 5 (int .digitalease) -}}
52 | {{- range seq .digitalease -}}
53 | {{ . }}
54 | {{- end -}}
55 | {{- range seq $ditmissed -}}
56 | {{ . }}
57 | {{- end -}}
58 |
59 |
60 |
61 | {{- end -}}
62 |
63 |
64 | {{- range where ($.Scratch.Get "auditfile") "name" "eq" .Title -}}
65 | {{ with .parcours }}
Parcours {{ end }}
66 | {{ partial "components/parcours/template.html" (dict "context" . "pages" $ "project" $project) }}
67 | {{- end -}}
68 |
69 | {{- end -}}
70 |
--------------------------------------------------------------------------------
/layouts/pidila/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{- $patharray := split (path.Dir .Path) "/" -}}
3 |
4 | {{- $.Scratch.Set "guidelinename" "pidila" -}}
5 | {{- $.Scratch.Set "guidelineversion" "1.0" -}}
6 | {{- if ge ($patharray) 2 -}}
7 | {{- $.Scratch.Set "guideline" (index $patharray 0) -}}
8 | {{- $.Scratch.Set "guidelinename" (index $patharray 0) -}}
9 | {{- $.Scratch.Set "guidelineversion" (index $patharray 1) -}}
10 | {{- end -}}
11 |
12 | {{- $criteriafile := (index (index $.Site.Data ($.Scratch.Get "guidelinename")) ($.Scratch.Get "guidelineversion")).criteria.criterias -}}
13 |
14 | Critères {{ replace ($.Scratch.Get "guidelinename" | upper) "RGAA" "RGAA "}}
15 | {{ partialCached "elements/content.html" .Content .Content }}
16 |
17 | {{- range $key1, $value := $criteriafile -}}
18 | {{- if eq (len (findRE "RGAA : " .rawHTMLContent)) 0 -}}
19 | {{ printf " " (.id | safeURL) (T "anchor_for") (.id | plainify | safeHTML) | safeHTML }}{{ .id }} {{ .title }}
20 | {{ .rawHTMLContent | safeHTML }}
21 |
22 | {{- end -}}
23 | {{- end -}}
24 | {{- end -}}
25 |
--------------------------------------------------------------------------------
/layouts/post/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 |
3 |
4 | {{- partial "elements/tableofcontent.html" . -}}
5 |
6 |
7 | {{ partialCached "elements/content.html" .Content .Content }}
8 |
9 |
10 | {{- partial "navigations/tags.html" . -}}
11 |
12 |
13 | {{ if or .PrevInSection .NextInSection}}
14 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "pagination") "pagination" }}
15 |
16 | {{with .PrevInSection}}{{- end -}}
17 | {{with .NextInSection}}{{- end -}}
18 |
19 | {{- end -}}
20 |
21 |
22 | {{- $related := .Site.RegularPages.Related . | first 5 -}}
23 | {{- with $related -}}
24 |
25 | Voir aussi
26 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "card") "card" -}}
27 |
28 | {{range .}}
29 |
30 |
{{.Title}}
31 |
{{ .Params.description }}
32 |
En savoir plus
33 |
34 | {{- end -}}
35 |
36 |
37 | {{- end -}}
38 |
39 | {{- end -}}
40 |
--------------------------------------------------------------------------------
/layouts/projects/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{ .Title }}
3 | {{- partialCached "templates/projects.html" . . -}}
4 | {{- partialCached "elements/content.html" .Content .Content -}}
5 | {{- end -}}
6 |
--------------------------------------------------------------------------------
/layouts/quality/single.html:
--------------------------------------------------------------------------------
1 |
2 | {{- define "title" -}}
3 | {{- $context := . -}}
4 | {{- $projectTitle := (.GetPage "./").Title -}}Recommandations {{ with $projectTitle }}pour {{ $projectTitle }}{{ else }}{{ (index (split (path.Dir .Path) "/") 1) }}{{ end }}
5 | {{- end -}}
6 | {{- define "main" -}}
7 | {{/* Vars */}}
8 | {{- $context := . -}}
9 | {{- $partial := (partialCached "templates/recommendation.html" (dict "context" $context) $context) -}}
10 | {{- partialCached "elements/content.html" $partial $partial -}}
11 | {{- end -}}
12 |
--------------------------------------------------------------------------------
/layouts/rgesn/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{- $patharray := split (path.Dir .Path) "/" -}}
3 |
4 | {{- $.Scratch.Set "guidelinename" "rgesn" -}}
5 | {{- $.Scratch.Set "guidelineversion" "0.1" -}}
6 | {{- if ge ($patharray) 2 -}}
7 | {{- $.Scratch.Set "guideline" (index $patharray 0) -}}
8 | {{- $.Scratch.Set "guidelinename" (index $patharray 0) -}}
9 | {{- $.Scratch.Set "guidelineversion" (index $patharray 1) -}}
10 | {{- end -}}
11 | {{- $criteriafile := (index (index $.Site.Data ($.Scratch.Get "guidelinename")) ($.Scratch.Get "guidelineversion")).criteres -}}
12 |
13 | {{- $.Scratch.Set "thematique" slice -}}
14 | {{- $thematiqueCounter := 1 -}}
15 | {{- range $key1, $value1 := $criteriafile -}}
16 | {{- $thematique := int (index (first 1 (split .id ".")) 0) -}}
17 | {{- if eq $thematique $thematiqueCounter -}}
18 | {{- $.Scratch.Add "thematique" .thematique -}}
19 | {{- $thematiqueCounter = add $thematiqueCounter 1 -}}
20 | {{ end }}
21 | {{- end -}}
22 |
23 |
24 | {{ (index (index $.Site.Data ($.Scratch.Get "guidelinename")) ($.Scratch.Get "guidelineversion")).title | safeHTML }}
25 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "element" "filename" "tableofcontents") "tableofcontents" }}
26 |
27 |
Thématiques
28 |
29 | {{/* Range all topics for anchors menu */}}
30 | {{- range $key1, $value1 := $.Scratch.Get "thematique" -}}
31 | {{ . }}
32 | {{- end -}}
33 |
34 |
35 |
36 | {{/* Range all topics */}}
37 | {{- range $key1, $value1 := $.Scratch.Get "thematique" -}}
38 | {{ . }}
39 | {{- range $key2, $value2 := where $criteriafile "thematique" . -}}
40 | {{ .critere }}
41 |
42 | {{ .objectif | markdownify }}
43 | {{ .miseEnOeuvre | markdownify }}
44 |
45 |
46 |
{{ .controle | markdownify }}
47 |
48 |
49 | {{- end -}}
50 | {{- end -}}
51 |
52 |
53 | {{- end -}}
54 |
--------------------------------------------------------------------------------
/layouts/shortcodes/backlinks.html:
--------------------------------------------------------------------------------
1 | {{- $filepath := (partialCached "render/filepath" (dict "context" . "project" (.Get "project") "type" "backlinks.json") (.Get "project") "backlinks.json") -}}
2 | {{- if fileExists $filepath -}}
3 | {{- range sort (getJSON $filepath) -}}
4 |
7 | {{- end -}}
8 | {{- else -}}
9 | Le fichier {{ (printf "`%s`" $filepath) | markdownify }} est manquant.
10 | {{- end -}}
11 | {{- .Inner -}}
12 |
--------------------------------------------------------------------------------
/layouts/shortcodes/benchmark.html:
--------------------------------------------------------------------------------
1 | {{- $src := .Get "src" -}}
2 | {{- $project := .Get "datafile" -}}
3 | {{- $filepath := (partialCached "render/filepath" (dict "context" . "project" $project "type" "similary.json") $project "similary.json") -}}
4 | {{- if fileExists $filepath -}}ss
5 | {{- if eq .Ordinal 0 -}}
6 | {{ partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "benchmark") "benchmark" }}
7 |
8 |
9 |
10 | {{- end -}}
11 |
12 | {{ range sort (getJSON $filepath) "country" "asc" }}
13 | {{- $path := printf "%s%s" (index (split ((urls.Parse .url) ) "/") 2) $src -}}
14 | {{- $pathfile :=(printf "/static/images/%s/benchmark/" $project) -}}
15 | {{- if (fileExists $pathfile) -}}
16 | {{- range (readDir $pathfile) -}}
17 | {{- if in (string .Name) (string $path) -}}
{{ end }}
18 | {{- end -}}
19 | {{- end -}}
20 | {{- end -}}
21 |
22 |
23 | {{- else -}}
24 | Le fichier {{ (printf "`%s`" $filepath) | markdownify }} est manquant.
25 | {{- end -}}
26 | {{- .Inner -}}
27 |
--------------------------------------------------------------------------------
/layouts/shortcodes/graphic.html:
--------------------------------------------------------------------------------
1 | {{- $title := .Get "title" -}}
2 | {{- $type := .Get "type" -}}
3 |
4 | {{ if eq .Ordinal 0 }}
5 |
6 |
7 |
8 | {{ end }}
9 |
31 |
--------------------------------------------------------------------------------
/layouts/shortcodes/list-content.html:
--------------------------------------------------------------------------------
1 | {{- $rangepages := where .Site.RegularPages "Section" (.Get "section") -}}
2 | {{- if $rangepages -}}
3 |
4 |
5 |
{{ with .Site.GetPage (.Get "section") }}{{ .Title }}{{ end }}
6 |
7 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "card") "card" -}}
8 |
9 | {{- range first 4 $rangepages -}}
10 |
11 | {{- if .Date -}}{{ .Date.Day }} {{ index $.Site.Data.month (printf "%d" .Date.Month) }} {{ .Date.Year }} {{ end }}
12 |
13 | {{- if .Params.tags -}}{{ range .Params.tags }}{{ . }} {{ end }}{{ end }}
14 |
15 | {{- end -}}
16 |
17 |
Voir les {{ with .Site.GetPage (.Get "section") }}{{ lower .Title }}{{ end }}
18 |
19 | {{- .Inner -}}
20 |
21 | {{- end -}}
22 |
--------------------------------------------------------------------------------
/layouts/shortcodes/mermaid.html:
--------------------------------------------------------------------------------
1 | {{ if eq .Ordinal 0 }}
2 |
3 |
4 |
5 |
16 | {{- end -}}
17 |
18 | {{- .Inner -}}
19 |
20 |
21 |
--------------------------------------------------------------------------------
/layouts/shortcodes/mermaidmeetings.html:
--------------------------------------------------------------------------------
1 | {{ if eq .Ordinal 0 }}
2 |
3 |
4 |
5 |
16 | {{- end -}}
17 |
18 | gantt
19 | dateFormat YYYY-MM-DD
20 | section Réunions
21 | Lancement commando :2020-09-07, 1d
22 | {{ range (where .Site.RegularPages "Section" "meetings").Reverse }}{{ .Title }} :{{ .Date.Format "2006-01-02" }}, 1d
23 | {{ end }}Clôture commando :2020-12-12, 10h
24 |
25 | {{- .Inner -}}
26 |
--------------------------------------------------------------------------------
/layouts/shortcodes/parcours.html:
--------------------------------------------------------------------------------
1 | {{- $project := .Get "project" -}}
2 | {{ if eq .Ordinal 0 }}
3 |
4 |
5 |
6 | {{- end -}}
7 |
8 | {{- range (getJSON (printf "/static/%s/personas.json" $project)) -}}
9 | {{ partial "components/parcours/template.html" (dict "context" . "pages" $ "project" $project) }}
10 | {{- end -}}
11 |
12 | {{- .Inner -}}
13 |
--------------------------------------------------------------------------------
/layouts/shortcodes/personas.html:
--------------------------------------------------------------------------------
1 | {{- $project := .Get "project" -}}
2 | {{ if eq .Ordinal 0 }}
3 | {{- partialCached "utils/css.html" (dict "context" . "filefolder" "object" "filename" "card") "card" -}}
4 | {{- end -}}
5 | {{- $filepath := (partialCached "render/filepath" (dict "context" . "project" $project "type" "personas.json") $project "personas.json") -}}
6 | {{- if fileExists $filepath -}}
7 |
8 | {{- range (getJSON (printf "static/%s/personas.json" $project)) -}}
9 | {{ partialCached "components/personas/template.html" (dict "context" . "pages" $.Site "project" $project) . }}
10 | {{- end -}}
11 |
12 | {{- else -}}
13 | Le fichier {{ (printf "`%s`" $filepath) | markdownify }} est manquant.
14 | {{- end -}}
15 | {{- .Inner -}}
16 |
--------------------------------------------------------------------------------
/layouts/shortcodes/similary.html:
--------------------------------------------------------------------------------
1 | {{- $.Scratch.Set "countries" slice -}}
2 | {{- $project := .Get "project" -}}
3 | {{- if $project -}}
4 | {{- $path := (partialCached "render/filepath" (dict "context" . "project" $project "type" "similary.json") $project "similary.json") -}}
5 | {{- $.Scratch.Set "auditpath" $path -}}
6 | {{- end -}}
7 | {{- range sort (index (getJSON ($.Scratch.Get "auditpath"))) "country" "asc" -}}
8 | {{- $.Scratch.Add "countries" (slice .country) -}}
9 | {{- end -}}
10 | {{- $field := $.Scratch.Get "countries" | uniq -}}
11 | {{- range $field -}}
12 | {{ . }}
13 |
14 | {{- range where (index (getJSON ($.Scratch.Get "auditpath"))) "country" . -}}
15 | {{ .name }} - {{ .url | truncate 80 }}
16 | {{- end -}}
17 |
18 | {{- end -}}
19 | {{- .Inner -}}
20 |
--------------------------------------------------------------------------------
/layouts/simple/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{ partialCached "elements/content.html" .Content .Content }}
3 | {{- end -}}
4 | {{- define "script" -}}
5 | {{- end -}}
6 |
--------------------------------------------------------------------------------
/layouts/sitemap/single.html:
--------------------------------------------------------------------------------
1 | {{- define "main" -}}
2 | {{ .Title }}
3 |
4 | {{ range (where (symdiff $.Site.RegularPages $.Site.Pages) ".Params.sitemapExclude" "ne" true) }}
5 | {{ if not (intersect (slice .Type) (slice "categories" "tags")) }}
6 | {{ .Title }} - Lien
7 | {{ with .RegularPages }}
8 |
21 | {{- end -}}
22 | {{- end -}}
23 | {{- end -}}
24 |
25 | {{- end -}}
26 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [[headers]]
2 | for = "/*"
3 |
4 | [headers.values]
5 | Permissions-Policy = "interest-cohort=()"
6 | X-Frame-Options = "DENY"
7 | X-XSS-Protection = "1; mode=block"
8 | Content-Security-Policy = "frame-ancestors https://www.facebook.com"
9 |
10 | # Multi-value headers are expressed with multi-line strings.
11 | cache-control = '''
12 | max-age=0,
13 | no-cache,
14 | no-store,
15 | must-revalidate'''
16 |
17 | [[headers]]
18 | for = "*.js"
19 | [headers.values]
20 | Cache-Control = "public, max-age=604800"
21 |
22 | [[headers]]
23 | for = "*.css"
24 | [headers.values]
25 | Cache-Control = "public, max-age=604800"
26 |
27 | [[redirects]]
28 | from = "/*"
29 | to = "/404.html"
30 | status = 404
31 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Frago",
3 | "version": "1.0.0",
4 | "description": "Tool for a French governemental Reports for Accessibility compliance with goHugo",
5 | "license": "MIT",
6 | "author": "bertrand.keller@gmail.com",
7 | "scripts": {},
8 | "dependencies": {
9 | "@fullhuman/postcss-purgecss": "^2.1.0",
10 | "autoprefixer": "^9.6.4",
11 | "css-mqpacker": "^7.0.0",
12 | "cssnano": "^4.1.10",
13 | "eslint": "^5.15.1",
14 | "postcss-cli": "^6.1.3",
15 | "postcss-unused-var": "^0.1.1",
16 | "stylelint": "^11.0.0",
17 | "stylelint-a11y": "^1.2.1"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | const purgecss = require('@fullhuman/postcss-purgecss')({
2 |
3 | // Specify the paths to all of the template files in your project
4 | content: [
5 | './public/**/*.html',
6 | ],
7 |
8 | // Include any special characters you're using in this regular expression
9 | defaultExtractor: content => content.match(/[\w-/:]+(?1%']
17 | }),
18 | require('stylelint'),
19 | require("postcss-unused-var"),
20 | require("css-mqpacker"),
21 | require('cssnano')({
22 | preset: 'default',
23 | }),
24 | purgecss
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/static/assets/css/fonts.css:
--------------------------------------------------------------------------------
1 | @media (prefers-reduced-data: no-preference) {
2 | /* Marianne-Light - latin */
3 | @font-face {
4 | font-family: 'Marianne';
5 | font-style: normal;
6 | font-weight: 300;
7 | src: local('Marianne Light'), local('Marianne-Light'),
8 | url('/assets/fonts/Marianne-Light.woff2') format('woff2');
9 | font-display: optional;
10 | }
11 | /* Marianne-regular - latin */
12 | @font-face {
13 | font-family: 'Marianne';
14 | font-style: normal;
15 | font-weight: 400;
16 | src: local('Marianne Regular'), local('Marianne-Regular'),
17 | url('/assets/fonts/Marianne-Regular.woff2') format('woff2');
18 | font-display: optional;
19 | }
20 | /* Marianne-Bold - latin */
21 | @font-face {
22 | font-family: 'Marianne';
23 | font-style: normal;
24 | font-weight: 600;
25 | src: local('Marianne SemiBold'), local('Marianne-SemiBold'),
26 | url('/assets/fonts/Marianne-Bold.woff2') format('woff2');
27 | font-display: optional;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/static/assets/favicons/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-chrome-192x192.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-chrome-512x512.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-icon-144x144.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-icon-192x192.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-icon-36x36.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-icon-48x48.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-icon-72x72.png
--------------------------------------------------------------------------------
/static/assets/favicons/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/android-icon-96x96.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-114x114.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-144x144.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-57x57.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-60x60.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-72x72.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-76x76.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-icon.png
--------------------------------------------------------------------------------
/static/assets/favicons/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/apple-touch-icon.png
--------------------------------------------------------------------------------
/static/assets/favicons/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 | #ffffff
--------------------------------------------------------------------------------
/static/assets/favicons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/favicon-16x16.png
--------------------------------------------------------------------------------
/static/assets/favicons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/favicon-32x32.png
--------------------------------------------------------------------------------
/static/assets/favicons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/favicon-96x96.png
--------------------------------------------------------------------------------
/static/assets/favicons/favicon-original.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/favicon-original.png
--------------------------------------------------------------------------------
/static/assets/favicons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/favicon.ico
--------------------------------------------------------------------------------
/static/assets/favicons/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "App",
3 | "icons": [
4 | {
5 | "src": "\/android-icon-36x36.png",
6 | "sizes": "36x36",
7 | "type": "image\/png",
8 | "density": "0.75"
9 | },
10 | {
11 | "src": "\/android-icon-48x48.png",
12 | "sizes": "48x48",
13 | "type": "image\/png",
14 | "density": "1.0"
15 | },
16 | {
17 | "src": "\/android-icon-72x72.png",
18 | "sizes": "72x72",
19 | "type": "image\/png",
20 | "density": "1.5"
21 | },
22 | {
23 | "src": "\/android-icon-96x96.png",
24 | "sizes": "96x96",
25 | "type": "image\/png",
26 | "density": "2.0"
27 | },
28 | {
29 | "src": "\/android-icon-144x144.png",
30 | "sizes": "144x144",
31 | "type": "image\/png",
32 | "density": "3.0"
33 | },
34 | {
35 | "src": "\/android-icon-192x192.png",
36 | "sizes": "192x192",
37 | "type": "image\/png",
38 | "density": "4.0"
39 | }
40 | ]
41 | }
--------------------------------------------------------------------------------
/static/assets/favicons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/static/assets/favicons/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/ms-icon-150x150.png
--------------------------------------------------------------------------------
/static/assets/favicons/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/ms-icon-310x310.png
--------------------------------------------------------------------------------
/static/assets/favicons/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/favicons/ms-icon-70x70.png
--------------------------------------------------------------------------------
/static/assets/favicons/site.webmanifest:
--------------------------------------------------------------------------------
1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
--------------------------------------------------------------------------------
/static/assets/fonts/Marianne-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/fonts/Marianne-Bold.woff2
--------------------------------------------------------------------------------
/static/assets/fonts/Marianne-ExtraBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/fonts/Marianne-ExtraBold.woff2
--------------------------------------------------------------------------------
/static/assets/fonts/Marianne-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/fonts/Marianne-Light.woff2
--------------------------------------------------------------------------------
/static/assets/fonts/Marianne-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/fonts/Marianne-Medium.woff2
--------------------------------------------------------------------------------
/static/assets/fonts/Marianne-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/fonts/Marianne-Regular.woff2
--------------------------------------------------------------------------------
/static/assets/fonts/Marianne-Thin.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DISIC/frago/c13379c38d118901fcbe69d73b6ff0f1ba349885/static/assets/fonts/Marianne-Thin.woff2
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-dechets.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-difficulte.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-eau.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-electricite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-gaz.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-potentiel-economie.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-potentiel-social.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-priorite.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-ressources.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/images/greenit/picto-social.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "DINUM - Commando UX",
3 | "short_name": "Command",
4 | "icons": [{
5 | "src": "/assets/favicons/android-chrome-192x192.png",
6 | "sizes": "192x192",
7 | "type": "image/png"
8 | }, {
9 | "src": "/assets/favicons/android-chrome-512x512.png",
10 | "sizes": "512x512",
11 | "type": "image/png"
12 | }],
13 | "start_url": "/index.html",
14 | "display": "standalone",
15 | "orientation" : "portrait",
16 | "background_color": "#2d7ad2",
17 | "theme_color": "#2d7ad2"
18 | }
19 |
--------------------------------------------------------------------------------
/theme.toml:
--------------------------------------------------------------------------------
1 | name = "frago"
2 | license = "MIT"
3 | licenselink = "https://github.com/disic/frago/blob/master/LICENSE"
4 | description = "Tool for a French governemental Reports for Accessibility compliance with goHugo"
5 | homepage = "https://github.com/disic/frago/"
6 | tags = ["audits", "accessibility", "compliance","RGAA","quality","front-end"]
7 | min_version = 0.8
8 | theme_version = "1.7.4"
9 |
10 | [author]
11 | name = "Bertrand Keller"
12 | homepage = "https://github.com/bertrandkeller"
13 |
--------------------------------------------------------------------------------
/themes/documentago/layouts/_default/list.html:
--------------------------------------------------------------------------------
1 | {{ define "header_css" }}{{ end }}
2 | {{ define "body_classes" }}page-default-list{{ end }}
3 | {{ define "header_classes" }}{{ end }}
4 |
5 | {{ define "main" }}
6 |
7 | {{ .Title }}
8 | {{- $currentNode := . -}}
9 | {{- $data := newScratch -}}
10 | {{- $data.Set "section" (slice "false") -}}
11 | {{- range (where .Site.Pages "Section" .Section) -}}
12 | {{- if in .Path "/_index.md" -}}
13 | {{- $data.Add "section" .Path -}}
14 | {{- end -}}
15 | {{- end -}}
16 | {{ range $data.Get "section" }}
17 | {{- if ($.Site.GetPage .).Pages -}}
18 | {{ if ne $currentNode.Path . }}{{ ($.Site.GetPage .).Title }} {{ end }}
19 | {{- range ($.Site.GetPage .).RegularPages -}}
20 | {{ .Render "summary" }}
21 | {{- end -}}
22 | {{- end -}}
23 | {{- end -}}
24 |
25 | {{ end }}
26 |
--------------------------------------------------------------------------------