Skip to content

Commit

Permalink
[WIP] Minimize conflicts across Styles
Browse files Browse the repository at this point in the history
  • Loading branch information
OleVik committed Dec 8, 2019
1 parent 37af953 commit fd0207f
Show file tree
Hide file tree
Showing 41 changed files with 7,164 additions and 11,957 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ tufte:

- [ ] Static Generator: Simplify options, add Page button
- [x] Styles
- [ ] Minimize conflicts across styles
- [ ] Minimize conflicts across Styles
- [ ] Naive night-mode: https://dev.to/wgao19/night-mode-with-mix-blend-mode-difference-23lm
- [x] Components loader for Page Types (templates)
- [ ] Separate metadata.html.twig into generalized and specific for templates
Expand Down
4 changes: 2 additions & 2 deletions css/print.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/amber.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/antique.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/arctic.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/beach.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/dark-ocean.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/gold.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/grey.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/light.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/longyearbyen.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/metal.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/muted-beach.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/navy-sunrise.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/spitsbergen.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/stark-contrast.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/sunrise.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/tan.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/styles/wine.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions css/theme.css

Large diffs are not rendered by default.

33 changes: 32 additions & 1 deletion cypress.json
Original file line number Diff line number Diff line change
@@ -1 +1,32 @@
{ "baseUrl": "http://127.0.0.1:8000/", "numTestsKeptInMemory": 100 }
{
"baseUrl": "http://127.0.0.1:8000/",
"numTestsKeptInMemory": 1000,
"env": {
"context": {
"exclude": [["#query"], ["label[for=\"query\"]"], [".search-button"]]
},
"config": {
"runOnly": ["wcag2a", "section508", "best-practice"],
"rules": {
"landmark-complementary-is-top-level": { "enabled": false }
}
},
"routes": {
"docs": "/docs"
},
"routesBack": {
"index": "/",
"article": "/article",
"blog": "/blog",
"cv": "/cv",
"docs": "/docs"
},
"elements": {
"index": ["header[role=\"banner\"] .menu .search-button", "a"],
"article": ["a"],
"blog": ["a"],
"cv": ["a"],
"docs": ["a"]
}
}
}
44 changes: 0 additions & 44 deletions cypress/integration/accessibility.spec.js

This file was deleted.

13 changes: 13 additions & 0 deletions cypress/integration/accessibility/aria.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/// <reference types="Cypress" />

for (const [index, route] of Object.entries(Cypress.env("routes"))) {
describe(`ARIA at ${index} (${route})`, () => {
before(function() {
cy.visit(route);
cy.injectAxe();
});
it("Has no violations", function() {
cy.checkA11y(Cypress.env("context"), Cypress.env("config"));
});
});
}
63 changes: 63 additions & 0 deletions cypress/integration/accessibility/contrast.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/// <reference types="Cypress" />

// cy.get('header[role="banner"] .menu .search input[type="search"]')
// .focus()
// .type("Hello World");
// cy.screenshot(route + "/styles/" + style);

for (const [index, route] of Object.entries(Cypress.env("routes"))) {
describe(`Contrast at ${index} (${route})`, () => {
beforeEach(function() {
cy.visit(route);
cy.injectAxe();
});
it(index + " has active elements", function() {
expect(Object.keys(Cypress.env("elements"))).to.include(index);
expect(Cypress.env("elements")[index].length).to.be.at.least(1);
});
Cypress.env("styles").forEach(style => {
it(style + " has sufficient contrast", function() {
cy.document().then(doc => {
let cssLink = doc.querySelector(
"link[href^='/user/themes/scholar/css/styles/']"
);
if (cssLink) {
cssLink.setAttribute(
"href",
"/user/themes/scholar/css/styles/" + style
);
doc.querySelector("title").innerHTML = style;
}
});
const config = Cypress.env("config");
config.runOnly = ["cat.color"];
cy.checkA11y(Cypress.env("context"), config);
});
if (
index in Cypress.env("elements") &&
Cypress.env("elements")[index].length > 0
) {
it(style + " has sufficient active contrast", function() {
cy.document().then(doc => {
let cssLink = doc.querySelector(
"link[href^='/user/themes/scholar/css/styles/']"
);
if (cssLink) {
cssLink.setAttribute(
"href",
"/user/themes/scholar/css/styles/" + style
);
doc.querySelector("title").innerHTML = style;
}
});
Cypress.env("elements")[index].forEach(element => {
cy.get(element).invoke("attr", "class", "active");
});
const config = Cypress.env("config");
config.runOnly = ["cat.color"];
cy.checkA11y(Cypress.env("context"), config);
});
}
});
});
}
48 changes: 48 additions & 0 deletions cypress/integration/accessibility/contrast/amber-contrast.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/// <reference types="Cypress" />

// cy.get('header[role="banner"] .menu .search input[type="search"]')
// .focus()
// .type("Hello World");
// cy.screenshot("/docs" + "/styles/" + style);

describe(`Contrast at ${"docs"} (${"/docs"})`, () => {
beforeEach(function() {
cy.visit("/docs/security/overview?theme=amber");
cy.injectAxe();
});
it("amber.css" + " has sufficient contrast", function() {
// cy.document().then(doc => {
// let cssLink = doc.querySelector(
// "link[href^='/user/themes/scholar/css/styles/']"
// );
// if (cssLink) {
// cssLink.setAttribute(
// "href",
// "/user/themes/scholar/css/styles/" + "amber.css"
// );
// doc.querySelector("title").innerHTML = "amber.css";
// }
// });
const config = Cypress.env("config");
config.runOnly = ["cat.color"];
cy.checkA11y(Cypress.env("context"), config);
});
it("amber.css" + " has sufficient active contrast", function() {
// cy.document().then(doc => {
// let cssLink = doc.querySelector(
// "link[href^='/user/themes/scholar/css/styles/']"
// );
// if (cssLink) {
// cssLink.setAttribute(
// "href",
// "/user/themes/scholar/css/styles/" + "amber.css"
// );
// doc.querySelector("title").innerHTML = "amber.css";
// }
// });
cy.get("a").invoke("attr", "class", "active");
const config = Cypress.env("config");
config.runOnly = ["cat.color"];
cy.checkA11y(Cypress.env("context"), config);
});
});
38 changes: 0 additions & 38 deletions cypress/integration/test.spec.js

This file was deleted.

13 changes: 2 additions & 11 deletions cypress/plugins/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,12 @@ const path = require("path");
const fs = require("fs");

module.exports = (on, config) => {
config.env.routes = ["/", "/article", "/blog", "/cv", "/docs"];
config.env.stylesFolder = path.join(__dirname, "../../css/styles");
// config.env.stylesFolder = path.join(__dirname, "../../css/styles");
let styles = [];
var files = fs.readdirSync(config.env.stylesFolder);
var files = fs.readdirSync(path.join(__dirname, "../../css/styles"));
files.forEach(function(file) {
styles.push(file);
});
config.env.styles = styles;
config.env.testElementsIndex = [
'header[role="banner"] h1 a',
'header[role="banner"] .links a:first-of-type',
"aside article:first-of-type header a:first-of-type",
"aside article:first-of-type footer a:first-of-type",
'header[role="banner"] .menu .search-button',
"footer p a",
];
return config;
};
Loading

0 comments on commit fd0207f

Please sign in to comment.