This commit is contained in:
netop://ウエハ 2019-07-11 17:09:36 -05:00
parent a6b7340e9d
commit 39bf3b56bc
11 changed files with 81 additions and 80 deletions

View file

@ -56,9 +56,10 @@ function syncWithApi(data) { // eslint-disable-line no-unused-vars
const address = data.address; const address = data.address;
const code = data.code; const code = data.code;
if (code === null) if (code === null) {
document.querySelector("developer-program").innerHTML = document.querySelector("developer-program").innerHTML =
"<p><strong>There was an issue with accessing GitHub's API. Please try again later.</strong></p>"; "<p><strong>There was an issue with accessing GitHub's API. Please try again later.</strong></p>";
}
fetch(`https://api.lbry.com/reward/new?github_token=${code}&reward_type=github_developer&wallet_address=${address}`) fetch(`https://api.lbry.com/reward/new?github_token=${code}&reward_type=github_developer&wallet_address=${address}`)
.then(response => response.json()) .then(response => response.json())

View file

@ -249,11 +249,11 @@ curl --header <span class="token string">"Content-Type: application/json"</span>
} }
const handleExamples = debounce(event => { const handleExamples = debounce(event => {
let exampleNumber; const exampleNumber = parseInt(document.querySelector(".playground-navigation__example.active").dataset.example || 0);
const data = event.dataset; const data = event.dataset;
if (!parseInt(document.querySelector(".playground-navigation__example.active").dataset.example)) return; if (!exampleNumber || exampleNumber === 0)
exampleNumber = parseInt(document.querySelector(".playground-navigation__example.active").dataset.example); return;
switch(data.action) { switch(data.action) {
case "choose claim": case "choose claim":
@ -398,9 +398,9 @@ function updateCanvas(imageSource) {
if (imageSource) { if (imageSource) {
ctx.drawImage(imageSource, 0, 0, canvasWidth, canvasHeight); ctx.drawImage(imageSource, 0, 0, canvasWidth, canvasHeight);
img.src = imageSource.src; img.src = imageSource.src;
} else { } else
ctx.drawImage(img, 0, 0, canvasWidth, canvasHeight); ctx.drawImage(img, 0, 0, canvasWidth, canvasHeight);
}
positionCanvasText(ctx, canvasHeight, canvasWidth); positionCanvasText(ctx, canvasHeight, canvasWidth);
} }

View file

@ -68,11 +68,3 @@ export default (state, emit) => {
<script src="/assets/scripts/sockets.js"></script> <script src="/assets/scripts/sockets.js"></script>
`; `;
}; };
// H E L P E R
String.prototype.capitalize = function() {
return this.charAt(0).toUpperCase() + this.slice(1);
};

View file

@ -55,10 +55,10 @@ export default async(data, socket) => {
let dataDetails = ""; let dataDetails = "";
let explorerNotice = ""; let explorerNotice = "";
if (data.example === 1 && !data.claim || !data.method) return; if (data.example === 1 && (!data.claim || !data.method)) return;
if (data.example === 2 && !data.data) return; if (data.example === 2 && !data.data) return;
if (data.example === 2) dataDetails = data.data; // file upload if (data.example === 2) dataDetails = data.data; // file upload
if (data.example === 3 && !data.claim || !data.method) return; if (data.example === 3 && (!data.claim || !data.method)) return;
const claimAddress = data.claim; const claimAddress = data.claim;
const resolveMethod = data.method; const resolveMethod = data.method;
@ -155,9 +155,7 @@ export default async(data, socket) => {
message: "show result", message: "show result",
selector: `#example${data.example}-result` selector: `#example${data.example}-result`
}); });
} } catch(memePublishError) {
catch(memePublishError) {
send(socket, { send(socket, {
details: "Meme publish failed", details: "Meme publish failed",
message: "notification", message: "notification",
@ -174,9 +172,7 @@ export default async(data, socket) => {
return; return;
} }
} } catch(imageUploadError) {
catch(imageUploadError) {
send(socket, { send(socket, {
details: "Image upload failed", details: "Image upload failed",
message: "notification", message: "notification",
@ -259,9 +255,7 @@ export default async(data, socket) => {
} }
return response.body.result[Object.keys(response.body.result)[0]].claim; return response.body.result[Object.keys(response.body.result)[0]].claim;
} } catch(error) {
catch(error) {
messageSlack({ messageSlack({
message: "```" + error + "```", message: "```" + error + "```",
pretext: "_Someone is going through the Playground and the daemon is not running_", pretext: "_Someone is going through the Playground and the daemon is not running_",

View file

@ -16,15 +16,15 @@ import relativeDate from "~module/relative-date";
let octokit; let octokit;
String.prototype.escape = function() { // String.prototype.escape = function() {
const tagsToReplace = { // const tagsToReplace = {
"&": "&amp;", // "&": "&amp;",
"<": "&lt;", // "<": "&lt;",
">": "&gt;" // ">": "&gt;"
}; // };
return this.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag); // return this.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag);
}; // };
// R E D I S // R E D I S
@ -142,7 +142,7 @@ function generateEvent(event) {
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
title="View this comment on GitHub" title="View this comment on GitHub"
>${event.payload.issue.title.escape()}</a></em> in >${escapeSpecialCharacters(event.payload.issue.title)}</a></em> in
`; `;
} else { } else {
return ` return `
@ -153,7 +153,7 @@ function generateEvent(event) {
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
title="View this comment on GitHub" title="View this comment on GitHub"
>${event.payload.issue.title.escape()}</a></em> in >${escapeSpecialCharacters(event.payload.issue.title)}</a></em> in
`; `;
} }
@ -171,7 +171,7 @@ function generateEvent(event) {
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
title="View this issue on GitHub" title="View this issue on GitHub"
>${event.payload.issue.title.escape()}</a></em> in >${escapeSpecialCharacters(event.payload.issue.title)}</a></em> in
`; `;
case "PullRequestEvent": case "PullRequestEvent":
@ -188,7 +188,7 @@ function generateEvent(event) {
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
title="View this pull request on GitHub" title="View this pull request on GitHub"
>${event.payload.pull_request.title.escape()}</a></em> in >${escapeSpecialCharacters(event.payload.pull_request.title)}</a></em> in
`; `;
case "PullRequestReviewCommentEvent": case "PullRequestReviewCommentEvent":
@ -205,7 +205,7 @@ function generateEvent(event) {
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
title="View this comment on GitHub" title="View this comment on GitHub"
>${event.payload.pull_request.title.escape()}</a></em> in >${escapeSpecialCharacters(event.payload.pull_request.title)}</a></em> in
`; `;
case "PushEvent": case "PushEvent":
@ -346,6 +346,9 @@ function updateGithubFeed() {
const eventString = JSON.stringify(item); const eventString = JSON.stringify(item);
client.zrank("events", eventString, (err, reply) => { client.zrank("events", eventString, (err, reply) => {
if (err)
return;
if (reply === null) if (reply === null)
client.zadd("events", item.id, eventString, callback); client.zadd("events", item.id, eventString, callback);
else else
@ -366,6 +369,16 @@ function updateGithubFeed() {
// H E L P E R // H E L P E R
function escapeSpecialCharacters(contentToEscape) {
const tagsToReplace = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;"
};
return contentToEscape.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag);
}
function refToBranch(ref) { function refToBranch(ref) {
if (ref) if (ref)
return ref.replace("refs/heads/", ""); return ref.replace("refs/heads/", "");

View file

@ -22,7 +22,7 @@ import redirects from "~data/redirects.json";
const server = fastify({ const server = fastify({
logger: { logger: {
level: "warn", level: "warn",
prettyPrint: process.env.NODE_ENV === "development" ? true : false, prettyPrint: process.env.NODE_ENV === "development",
redact: ["req.headers.authorization"], redact: ["req.headers.authorization"],
serializers: { serializers: {
req(req) { req(req) {

View file

@ -16,12 +16,16 @@ function superscript(state, silent) {
const max = state.posMax; const max = state.posMax;
const start = state.pos; const start = state.pos;
let found; let found;
let content;
let token; let token;
if (state.src.charCodeAt(start) !== 0x5E/* ^ */) return false; if (state.src.charCodeAt(start) !== 0x5E/* ^ */)
if (silent) return false; // do not run pairs in validation mode return false;
if (start + 2 >= max) return false;
if (silent)
return false; // do not run pairs in validation mode
if (start + 2 >= max)
return false;
state.pos = start + 1; state.pos = start + 1;
@ -39,7 +43,7 @@ function superscript(state, silent) {
return false; return false;
} }
content = state.src.slice(start + 1, state.pos); const content = state.src.slice(start + 1, state.pos);
// do not allow unescaped spaces/newlines inside // do not allow unescaped spaces/newlines inside
if (content.match(/(^|[^\\])(\\\\)*\s/)) { if (content.match(/(^|[^\\])(\\\\)*\s/)) {
@ -59,16 +63,14 @@ function superscript(state, silent) {
if (content.match(regexForIds)) { if (content.match(regexForIds)) {
const theLink = supText.match(regexForIds)[0].replace("(#", "").replace(")", ""); const theLink = supText.match(regexForIds)[0].replace("(#", "").replace(")", "");
token.attrPush(["id", theLink]); // eslint-disable-line padding-line-between-statements
token.attrPush([ "id", theLink ]);
} }
token = state.push("text", "", 0); token = state.push("text", "", 0);
if (content.match(regexForIds)) { if (content.match(regexForIds)) {
const theText = supText.match(regexForTextBeforeLink)[0]; const theText = supText.match(regexForTextBeforeLink)[0];
token.content = theText; // eslint-disable-line padding-line-between-statements
token.content = theText;
} else token.content = supText; } else token.content = supText;
token = state.push("sup_close", "sup", -1); token = state.push("sup_close", "sup", -1);
@ -84,6 +86,6 @@ function superscript(state, silent) {
// E X P O R T // E X P O R T
module.exports = exports = function sup_plugin(md) { module.exports = exports = function sup_plugin(md) { // eslint-disable-line camelcase
md.inline.ruler.after("emphasis", "sup", superscript); md.inline.ruler.after("emphasis", "sup", superscript);
}; };

View file

@ -30,7 +30,7 @@ const relativeDate = (() => {
]; ];
function relativeDate(input, reference) { function relativeDate(input, reference) {
!reference && (reference = (new Date).getTime()); !reference && (reference = (new Date()).getTime());
reference instanceof Date && (reference = reference.getTime()); reference instanceof Date && (reference = reference.getTime());
input instanceof Date && (input = input.getTime()); input instanceof Date && (input = input.getTime());
@ -40,11 +40,10 @@ const relativeDate = (() => {
for (let i = -1; ++i < len;) { for (let i = -1; ++i < len;) {
const format = formats[i]; const format = formats[i];
if (delta < format[0]) { if (delta < format[0])
return format[2] === undefined ? format[1] : Math.round(delta / format[2]) + " " + format[1]; return format[2] === undefined ? format[1] : Math.round(delta / format[2]) + " " + format[1];
} }
} }
}
return relativeDate; return relativeDate;
})(); })();

View file

@ -124,12 +124,13 @@ function generateContent(exampleNumber, displayTrendingContent) {
const renderedContentCollection = []; const renderedContentCollection = [];
const trendingContentData = response.data; const trendingContentData = response.data;
for (const data of trendingContentData) for (const data of trendingContentData) {
rawContentCollection.push(fetchMetadata({ rawContentCollection.push(fetchMetadata({
claim: data.url, claim: data.url,
example: exampleNumber, example: exampleNumber,
method: "resolve" method: "resolve"
})); }));
}
Promise.all(rawContentCollection).then(collection => { Promise.all(rawContentCollection).then(collection => {
for (const part of collection) { for (const part of collection) {

View file

@ -45,9 +45,10 @@ export default async(state) => {
}; };
const tags = await getTags(repository); const tags = await getTags(repository);
const currentTag = tag.length ? tag : tags[0];
try { try {
const apiResponse = await parseApiFile({ repo: repository, tag: tag ? tag : tags[0] }); const apiResponse = await parseApiFile({ repo: repository, tag: currentTag });
return asyncHtml` return asyncHtml`
<div class="__slate"> <div class="__slate">
@ -75,7 +76,7 @@ export default async(state) => {
${renderCodeLanguageToggles(wildcard)} ${renderCodeLanguageToggles(wildcard)}
</nav> </nav>
${createApiHeader(wildcard, tag ? tag : tags[0])} ${createApiHeader(wildcard, currentTag)}
${wildcard === "sdk" ? createSdkContent(apiResponse) : createApiContent(apiResponse)} ${wildcard === "sdk" ? createSdkContent(apiResponse) : createApiContent(apiResponse)}
</div> </div>
</section> </section>
@ -93,9 +94,7 @@ export default async(state) => {
</script> </script>
</div> </div>
`; `;
} } catch(error) {
catch(error) {
const redirectUrl = redirects[state.href]; const redirectUrl = redirects[state.href];
return asyncHtml` return asyncHtml`

View file

@ -12,7 +12,7 @@
"dependencies": { "dependencies": {
"@babel/polyfill": "^7.4.4", "@babel/polyfill": "^7.4.4",
"@inc/fastify-ws": "^1.1.0", "@inc/fastify-ws": "^1.1.0",
"@octokit/rest": "^16.28.2", "@octokit/rest": "^16.28.3",
"@slack/client": "^5.0.1", "@slack/client": "^5.0.1",
"async": "^3.1.0", "async": "^3.1.0",
"async-es": "^3.1.0", "async-es": "^3.1.0",
@ -38,7 +38,7 @@
"graceful-fs": "^4.2.0", "graceful-fs": "^4.2.0",
"link-module-alias": "^1.2.0", "link-module-alias": "^1.2.0",
"make-promises-safe": "^5.0.0", "make-promises-safe": "^5.0.0",
"markdown-it": "^8.4.2", "markdown-it": "^9.0.0",
"markdown-it-anchor": "^5.2.4", "markdown-it-anchor": "^5.2.4",
"prismjs": "^1.15.0", "prismjs": "^1.15.0",
"redis": "^2.8.0", "redis": "^2.8.0",
@ -49,20 +49,20 @@
"description": "Documentation for the LBRY protocol and associated projects", "description": "Documentation for the LBRY protocol and associated projects",
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.5.0", "@babel/cli": "^7.5.0",
"@babel/core": "^7.5.0", "@babel/core": "^7.5.4",
"@babel/plugin-external-helpers": "7.2.0", "@babel/plugin-external-helpers": "7.2.0",
"@babel/plugin-proposal-class-properties": "7.5.0", "@babel/plugin-proposal-class-properties": "7.5.0",
"@babel/plugin-proposal-decorators": "7.4.4", "@babel/plugin-proposal-decorators": "7.4.4",
"@babel/plugin-proposal-export-namespace-from": "7.2.0", "@babel/plugin-proposal-export-namespace-from": "7.5.2",
"@babel/plugin-proposal-function-sent": "7.5.0", "@babel/plugin-proposal-function-sent": "7.5.0",
"@babel/plugin-proposal-json-strings": "7.2.0", "@babel/plugin-proposal-json-strings": "7.2.0",
"@babel/plugin-proposal-numeric-separator": "7.2.0", "@babel/plugin-proposal-numeric-separator": "7.2.0",
"@babel/plugin-proposal-throw-expressions": "7.2.0", "@babel/plugin-proposal-throw-expressions": "7.2.0",
"@babel/plugin-syntax-dynamic-import": "7.2.0", "@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/plugin-syntax-import-meta": "7.2.0", "@babel/plugin-syntax-import-meta": "7.2.0",
"@babel/preset-env": "^7.5.0", "@babel/preset-env": "^7.5.4",
"@babel/register": "^7.4.4", "@babel/register": "^7.4.4",
"@inc/eslint-config": "^1.1.3", "@inc/eslint-config": "^2019.7.11",
"@inc/sasslint-config": "^2019.6.22", "@inc/sasslint-config": "^2019.6.22",
"@lbry/color": "^1.1.1", "@lbry/color": "^1.1.1",
"@lbry/components": "^2.7.4", "@lbry/components": "^2.7.4",
@ -74,7 +74,7 @@
"sass": "^1.22.3", "sass": "^1.22.3",
"sass-lint": "^1.13.1", "sass-lint": "^1.13.1",
"snazzy": "^8.0.0", "snazzy": "^8.0.0",
"standardx": "^3.0.1", "standardx": "^4.0.0",
"updates": "^8.2.1" "updates": "^8.2.1"
}, },
"engines": { "engines": {