Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
af10b4eee5 | |||
fdc9cb6784 |
29
.vscode/launch.json
vendored
Normal file
29
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "current file",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"${relativeFile}"
|
||||
],
|
||||
"runtimeArgs": ["-r", "@gitzone/tsrun"],
|
||||
"cwd": "${workspaceRoot}",
|
||||
"protocol": "inspector",
|
||||
"internalConsoleOptions": "openOnSessionStart"
|
||||
},
|
||||
{
|
||||
"name": "test.ts",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"test/test.ts"
|
||||
],
|
||||
"runtimeArgs": ["-r", "@gitzone/tsrun"],
|
||||
"cwd": "${workspaceRoot}",
|
||||
"protocol": "inspector",
|
||||
"internalConsoleOptions": "openOnSessionStart"
|
||||
}
|
||||
]
|
||||
}
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartfm",
|
||||
"version": "2.0.3",
|
||||
"version": "2.0.4",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pushrocks/smartfm",
|
||||
"version": "2.0.3",
|
||||
"version": "2.0.4",
|
||||
"private": false,
|
||||
"description": "frontmatter done right",
|
||||
"main": "dist/index.js",
|
||||
|
18
test/test.ts
18
test/test.ts
@ -23,7 +23,23 @@ tap.test('should stringify data', async () => {
|
||||
});
|
||||
|
||||
tap.test('should parse a normal frontmatter file', async () => {
|
||||
|
||||
const normalFile = `---
|
||||
heythere: awesome
|
||||
---
|
||||
really
|
||||
`;
|
||||
let result = testSmartfm.parse(normalFile);
|
||||
expect(result.data.heythere).to.equal('awesome')
|
||||
});
|
||||
|
||||
tap.test('should parse a commented out frontmatter file', async () => {
|
||||
const commentedFile = `# ---
|
||||
# heythere: awesome
|
||||
# ---
|
||||
really
|
||||
`;
|
||||
let result = testSmartfm.parseFromComments('# ', commentedFile);
|
||||
console.log(result);
|
||||
});
|
||||
|
||||
tap.start();
|
||||
|
13
ts/index.ts
13
ts/index.ts
@ -29,4 +29,17 @@ export class Smartfm {
|
||||
parse(stringToParse: string) {
|
||||
return grayMatter(stringToParse);
|
||||
}
|
||||
|
||||
/**
|
||||
* parse from commnets
|
||||
*/
|
||||
parseFromComments(commentStart: string, stringToParse: string) {
|
||||
const diffFunc = (diffMe, diffBy) => diffMe.split(diffBy).join('');
|
||||
let lines = stringToParse.split('\n');
|
||||
lines = lines.map(line => {
|
||||
return diffFunc(line, commentStart);
|
||||
});
|
||||
const cleanedString = lines.join('\n');
|
||||
return this.parse(cleanedString);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user