forked from mirrored/github-readme-stats
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a640b871c5 | ||
|
|
c5063b92b6 | ||
|
|
b93aee34d0 |
+30
-11
@@ -312,18 +312,30 @@ const parseJSON = (json) => {
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
let parsedJson = json
|
||||
// Remove trailing commas (if any).
|
||||
let parsedJson = json.replace(/(,\s*})/g, "}");
|
||||
|
||||
// Remove JS comments (if any).
|
||||
parsedJson = parsedJson.replace(/\/\/[A-z\s]*\s/g, "");
|
||||
|
||||
// Fix incorrect open bracket (if any).
|
||||
const splitJson = parsedJson
|
||||
.split(/([\s\r\s]*}[\s\r\s]*,[\s\r\s]*)(?=[\w"-]+:)/)
|
||||
.filter((x) => typeof x !== "string" || !!x.trim());
|
||||
if (parsedJson[0].replace(/\s+/g, "") === "},") {
|
||||
parsedJson[0] = "},";
|
||||
if (!/\s*}\s*,?\s*$/.test(parsedJson[1])) {
|
||||
parsedJson.push(parsedJson.shift());
|
||||
.filter((x) => typeof x !== "string" || !!x.trim()); // Split json into array of strings and objects.
|
||||
if (splitJson[0].replace(/\s+/g, "") === "},") {
|
||||
splitJson[0] = "},";
|
||||
if (!/\s*}\s*,?\s*$/.test(splitJson[1])) {
|
||||
splitJson.push(splitJson.shift());
|
||||
} else {
|
||||
parsedJson.shift();
|
||||
splitJson.shift();
|
||||
}
|
||||
return Hjson.parse(parsedJson.join(""));
|
||||
} else {
|
||||
parsedJson = splitJson.join("");
|
||||
}
|
||||
|
||||
// Try to parse the fixed json.
|
||||
try {
|
||||
return Hjson.parse(parsedJson);
|
||||
} catch (error) {
|
||||
throw new IncorrectJsonFormatError(
|
||||
`Theme JSON file could not be parsed: ${error.message}`,
|
||||
);
|
||||
@@ -387,10 +399,17 @@ export const run = async () => {
|
||||
// Retrieve theme changes from the PR diff.
|
||||
debug("Retrieve themes...");
|
||||
const diff = parse(res.data);
|
||||
|
||||
// Retrieve all theme changes from the PR diff and convert to JSON.
|
||||
debug("Retrieve theme changes...");
|
||||
const content = diff
|
||||
.find((file) => file.to === "themes/index.js")
|
||||
.chunks[0].changes.filter((c) => c.type === "add")
|
||||
.map((c) => c.content.replace("+", ""))
|
||||
.chunks.map((chunk) =>
|
||||
chunk.changes
|
||||
.filter((c) => c.type === "add")
|
||||
.map((c) => c.content.replace("+", ""))
|
||||
.join(""),
|
||||
)
|
||||
.join("");
|
||||
const themeObject = parseJSON(content);
|
||||
if (
|
||||
|
||||
@@ -6,6 +6,7 @@ export BRANCH_NAME=updated-theme-readme
|
||||
git --version
|
||||
git config --global user.email "no-reply@githubreadmestats.com"
|
||||
git config --global user.name "GitHub Readme Stats Bot"
|
||||
git config --global --add safe.directory ${GITHUB_WORKSPACE}
|
||||
git branch -d $BRANCH_NAME || true
|
||||
git checkout -b $BRANCH_NAME
|
||||
git add --all
|
||||
|
||||
@@ -18,6 +18,27 @@ export const themes = {
|
||||
text_color: "417E87",
|
||||
bg_color: "ffffff00",
|
||||
},
|
||||
shadow_red: {
|
||||
title_color: "9A0000",
|
||||
text_color: "444",
|
||||
icon_color: "4F0000",
|
||||
border_color: "4F0000",
|
||||
bg_color: "ffffff00",
|
||||
},
|
||||
shadow_green: {
|
||||
title_color: "007A00",
|
||||
text_color: "444",
|
||||
icon_color: "003D00",
|
||||
border_color: "003D00",
|
||||
bg_color: "ffffff00",
|
||||
},
|
||||
shadow_blue: {
|
||||
title_color: "00779A",
|
||||
text_color: "444",
|
||||
icon_color: "004450",
|
||||
border_color: "004490",
|
||||
bg_color: "ffffff00",
|
||||
},
|
||||
dark: {
|
||||
title_color: "fff",
|
||||
icon_color: "79ff97",
|
||||
|
||||
Reference in New Issue
Block a user