Skip to content

Commit c5fe1d8

Browse files
committed
add @resource for pages
1 parent 3650763 commit c5fe1d8

File tree

10 files changed

+34
-24
lines changed

10 files changed

+34
-24
lines changed

lib/build/lint.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
var chalk_1 = require('chalk');
33
var validKeys = {
44
info: ['title', 'description'],
5-
page: ['title', 'description', 'onPageComplete', 'tasks', 'video', 'resource'],
5+
page: ['title', 'description', 'onPageComplete', 'tasks', 'video', 'resources'],
66
task: ['description', 'tests', 'actions', 'hints']
77
};
88
function lintOutput(json) {

lib/build/parser/actions.js

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,6 @@ function addToTasks(_a) {
4747
task: task,
4848
});
4949
break;
50-
case 'resource':
51-
result = doAction({
52-
type: 'resource',
53-
isArray: isActionArray,
54-
actionValue: actionValue,
55-
result: result,
56-
page: page,
57-
task: task
58-
});
59-
break;
6050
case 'continue':
6151
break;
6252
case 'action':

lib/build/parser/match.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ var regex = {
88
'##': match('#', 2),
99
'+': match('\\+', 1),
1010
'```': match('`', 3),
11-
'action': /^@(action|test|hint|openConsole|resource)/,
11+
'action': /^@(action|test|hint|openConsole)/,
1212
'import': /^@import\((.+)\)$/,
1313
'onPageComplete': /^(@onPageComplete.+)/,
14+
'resource': /^(@resource.+)/,
1415
};
1516
function parseWithCode(code) {
1617
return function (line) {
@@ -32,6 +33,7 @@ exports.codeBlock = parseWithCode('```');
3233
exports.isAction = parseWithCode('action');
3334
exports.isImport = parseWithCode('import');
3435
exports.isPageComplete = parseWithCode('onPageComplete');
36+
exports.isResource = parseWithCode('resource');
3537
exports.isArray = function (line) {
3638
var isMatch = line.match(/^\[.+\]$/);
3739
return isMatch ? isMatch[0] : null;

lib/build/parser/page.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ function page(_a) {
3737
currentPageComplete = null;
3838
}
3939
continue;
40+
case (!!Match.isResource(line)):
41+
if (!result.pages[index.page].resources) {
42+
result.pages[index.page].resources = [];
43+
}
44+
result.pages[index.page].resources.push(cleanup_1.trimValue(Match.isResource(line)));
45+
continue;
4046
case !!Match.codeBlock(line):
4147
if (line.length > 3) {
4248
result.pages[index.page].description += '\n' + line;

lib/build/parser/task.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ function task(_a) {
3232
currentPageComplete = null;
3333
}
3434
continue;
35+
case (!!Match.isResource(line)):
36+
if (!result.pages[index.page].resources) {
37+
result.pages[index.page].resources = [];
38+
}
39+
result.pages[index.page].resources.push(cleanup_1.trimValue(Match.isResource(line)));
40+
continue;
3541
case !!currentAction:
3642
if (line.length === 0) {
3743
currentAction += '\n';

src/build/lint.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {yellow, red} from 'chalk';
22

33
const validKeys = {
44
info: ['title', 'description'],
5-
page: ['title', 'description', 'onPageComplete', 'tasks', 'video', 'resource'],
5+
page: ['title', 'description', 'onPageComplete', 'tasks', 'video', 'resources'],
66
task: ['description', 'tests', 'actions', 'hints']
77
};
88

src/build/parser/actions.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,6 @@ export function addToTasks({ result, line, index: {page, task} }) {
5050
task,
5151
});
5252
break;
53-
case 'resource':
54-
result = doAction({
55-
type: 'resource',
56-
isArray: isActionArray,
57-
actionValue,
58-
result,
59-
page,
60-
task
61-
});
62-
break;
6353
case 'continue':
6454
break;
6555
case 'action':

src/build/parser/match.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ var regex = {
99
'##': match('#', 2),
1010
'+': match('\\+', 1),
1111
'```': match('`', 3),
12-
'action': /^@(action|test|hint|openConsole|resource)/,
12+
'action': /^@(action|test|hint|openConsole)/,
1313
'import': /^@import\((.+)\)$/,
1414
'onPageComplete': /^(@onPageComplete.+)/,
15+
'resource': /^(@resource.+)/,
1516
};
1617

1718
function parseWithCode(code: string) {
@@ -34,6 +35,7 @@ export const codeBlock = parseWithCode('```');
3435
export const isAction = parseWithCode('action');
3536
export const isImport = parseWithCode('import');
3637
export const isPageComplete = parseWithCode('onPageComplete');
38+
export const isResource = parseWithCode('resource')
3739

3840
export const isArray = function(line: string): string {
3941
let isMatch = line.match(/^\[.+\]$/);

src/build/parser/page.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ export default function page({ dir, result, lines, index }) {
4444
}
4545
continue;
4646

47+
case (!!Match.isResource(line)):
48+
if (!result.pages[index.page].resources) {
49+
result.pages[index.page].resources = [];
50+
}
51+
result.pages[index.page].resources.push(trimValue(Match.isResource(line)));
52+
continue;
53+
4754
// ``` `
4855
case !!Match.codeBlock(line):
4956
if (line.length > 3) {

src/build/parser/task.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ export default function task({ dir, result, lines, index }) {
3939
}
4040
continue;
4141

42+
case (!!Match.isResource(line)):
43+
if (!result.pages[index.page].resources) {
44+
result.pages[index.page].resources = [];
45+
}
46+
result.pages[index.page].resources.push(trimValue(Match.isResource(line)));
47+
continue;
48+
4249
// @action multiline
4350
case !!currentAction:
4451
if (line.length === 0) {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy