freeCodeCamp/tools/challenge-md-parser/fixtures/challenge-md-ast.json

916 lines
18 KiB
JSON

{
"type": "root",
"children": [
{
"type": "yaml",
"value":
"id: bd7123c8c441eddfaeb5bdef\ntitle: Say Hello to HTML Elements\nchallengeType: 0\nvideoUrl: https://scrimba.com/p/pVMPUv/cE8Gpt2",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 6,
"column": 4,
"offset": 134
},
"indent": [1, 1, 1, 1, 1]
}
},
{
"type": "heading",
"depth": 2,
"children": [
{
"type": "text",
"value": "Description",
"position": {
"start": {
"line": 8,
"column": 4,
"offset": 139
},
"end": {
"line": 8,
"column": 15,
"offset": 150
},
"indent": []
}
}
],
"position": {
"start": {
"line": 8,
"column": 1,
"offset": 136
},
"end": {
"line": 8,
"column": 15,
"offset": 150
},
"indent": []
}
},
{
"type": "html",
"value": "<section id='description'>",
"position": {
"start": {
"line": 9,
"column": 1,
"offset": 151
},
"end": {
"line": 9,
"column": 27,
"offset": 177
},
"indent": []
}
},
{
"type": "paragraph",
"children": [
{
"type": "text",
"value":
"Welcome to freeCodeCamp's HTML coding challenges. These will walk you through web development step-by-step.",
"position": {
"start": {
"line": 11,
"column": 1,
"offset": 179
},
"end": {
"line": 11,
"column": 108,
"offset": 286
},
"indent": []
}
}
],
"position": {
"start": {
"line": 11,
"column": 1,
"offset": 179
},
"end": {
"line": 11,
"column": 108,
"offset": 286
},
"indent": []
}
},
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "Lorem Ipsum with ",
"position": {
"start": {
"line": 13,
"column": 1,
"offset": 288
},
"end": {
"line": 13,
"column": 18,
"offset": 305
},
"indent": []
}
},
{
"type": "inlineCode",
"value": "some code",
"position": {
"start": {
"line": 13,
"column": 18,
"offset": 305
},
"end": {
"line": 13,
"column": 29,
"offset": 316
},
"indent": []
}
}
],
"position": {
"start": {
"line": 13,
"column": 1,
"offset": 288
},
"end": {
"line": 13,
"column": 29,
"offset": 316
},
"indent": []
}
},
{
"type": "blockquote",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "Some text in a blockquote",
"position": {
"start": {
"line": 15,
"column": 3,
"offset": 320
},
"end": {
"line": 15,
"column": 28,
"offset": 345
},
"indent": []
}
}
],
"position": {
"start": {
"line": 15,
"column": 3,
"offset": 320
},
"end": {
"line": 15,
"column": 28,
"offset": 345
},
"indent": []
}
},
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "Some text in a blockquote, with ",
"position": {
"start": {
"line": 17,
"column": 3,
"offset": 349
},
"end": {
"line": 17,
"column": 35,
"offset": 381
},
"indent": []
}
},
{
"type": "inlineCode",
"value": "code",
"position": {
"start": {
"line": 17,
"column": 35,
"offset": 381
},
"end": {
"line": 17,
"column": 41,
"offset": 387
},
"indent": []
}
}
],
"position": {
"start": {
"line": 17,
"column": 3,
"offset": 349
},
"end": {
"line": 17,
"column": 41,
"offset": 387
},
"indent": []
}
}
],
"position": {
"start": {
"line": 15,
"column": 1,
"offset": 318
},
"end": {
"line": 17,
"column": 41,
"offset": 387
},
"indent": [1, 1]
}
},
{
"type": "code",
"lang": "html",
"value": "<p>We aim to preserve this</p>",
"position": {
"start": {
"line": 19,
"column": 1,
"offset": 389
},
"end": {
"line": 21,
"column": 4,
"offset": 431
},
"indent": [1, 1]
}
},
{
"type": "html",
"value": "</section>",
"position": {
"start": {
"line": 22,
"column": 1,
"offset": 432
},
"end": {
"line": 22,
"column": 11,
"offset": 442
},
"indent": []
}
},
{
"type": "heading",
"depth": 2,
"children": [
{
"type": "text",
"value": "Instructions",
"position": {
"start": {
"line": 24,
"column": 4,
"offset": 447
},
"end": {
"line": 24,
"column": 16,
"offset": 459
},
"indent": []
}
}
],
"position": {
"start": {
"line": 24,
"column": 1,
"offset": 444
},
"end": {
"line": 24,
"column": 16,
"offset": 459
},
"indent": []
}
},
{
"type": "html",
"value": "<section id='instructions'>",
"position": {
"start": {
"line": 25,
"column": 1,
"offset": 460
},
"end": {
"line": 25,
"column": 28,
"offset": 487
},
"indent": []
}
},
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "To pass the test on this challenge, change your ",
"position": {
"start": {
"line": 27,
"column": 1,
"offset": 489
},
"end": {
"line": 27,
"column": 49,
"offset": 537
},
"indent": []
}
},
{
"type": "inlineCode",
"value": "h1",
"position": {
"start": {
"line": 27,
"column": 49,
"offset": 537
},
"end": {
"line": 27,
"column": 53,
"offset": 541
},
"indent": []
}
},
{
"type": "text",
"value": " element's text to say \"Hello World\".",
"position": {
"start": {
"line": 27,
"column": 53,
"offset": 541
},
"end": {
"line": 27,
"column": 90,
"offset": 578
},
"indent": []
}
}
],
"position": {
"start": {
"line": 27,
"column": 1,
"offset": 489
},
"end": {
"line": 27,
"column": 90,
"offset": 578
},
"indent": []
}
},
{
"type": "html",
"value": "</section>",
"position": {
"start": {
"line": 29,
"column": 1,
"offset": 580
},
"end": {
"line": 29,
"column": 11,
"offset": 590
},
"indent": []
}
},
{
"type": "heading",
"depth": 2,
"children": [
{
"type": "text",
"value": "Tests",
"position": {
"start": {
"line": 31,
"column": 4,
"offset": 595
},
"end": {
"line": 31,
"column": 9,
"offset": 600
},
"indent": []
}
}
],
"position": {
"start": {
"line": 31,
"column": 1,
"offset": 592
},
"end": {
"line": 31,
"column": 9,
"offset": 600
},
"indent": []
}
},
{
"type": "html",
"value": "<section id='tests'>",
"position": {
"start": {
"line": 32,
"column": 1,
"offset": 601
},
"end": {
"line": 32,
"column": 21,
"offset": 621
},
"indent": []
}
},
{
"type": "code",
"lang": "yml",
"value":
"tests:\n - text: Your <code>h1</code> element should have the text \"Hello World\".\n testString: assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your <code>h1</code> element should have the text \"Hello World\".');",
"position": {
"start": {
"line": 34,
"column": 1,
"offset": 623
},
"end": {
"line": 38,
"column": 4,
"offset": 858
},
"indent": [1, 1, 1, 1]
}
},
{
"type": "html",
"value": "</section>",
"position": {
"start": {
"line": 40,
"column": 1,
"offset": 860
},
"end": {
"line": 40,
"column": 11,
"offset": 870
},
"indent": []
}
},
{
"type": "heading",
"depth": 2,
"children": [
{
"type": "text",
"value": "Challenge Seed",
"position": {
"start": {
"line": 42,
"column": 4,
"offset": 875
},
"end": {
"line": 42,
"column": 18,
"offset": 889
},
"indent": []
}
}
],
"position": {
"start": {
"line": 42,
"column": 1,
"offset": 872
},
"end": {
"line": 42,
"column": 18,
"offset": 889
},
"indent": []
}
},
{
"type": "html",
"value": "<section id='challengeSeed'>",
"position": {
"start": {
"line": 43,
"column": 1,
"offset": 890
},
"end": {
"line": 43,
"column": 29,
"offset": 918
},
"indent": []
}
},
{
"type": "html",
"value": "<div id='js-seed'>",
"position": {
"start": {
"line": 45,
"column": 1,
"offset": 920
},
"end": {
"line": 45,
"column": 19,
"offset": 938
},
"indent": []
}
},
{
"type": "code",
"lang": "js",
"value":
"function testFunction(arg) {\n return arg;\n}\n\ntestFunction('hello');",
"position": {
"start": {
"line": 47,
"column": 1,
"offset": 940
},
"end": {
"line": 53,
"column": 4,
"offset": 1018
},
"indent": [1, 1, 1, 1, 1, 1]
}
},
{
"type": "html",
"value": "</div>",
"position": {
"start": {
"line": 55,
"column": 1,
"offset": 1020
},
"end": {
"line": 55,
"column": 7,
"offset": 1026
},
"indent": []
}
},
{
"type": "heading",
"depth": 3,
"children": [
{
"type": "text",
"value": "Before Test",
"position": {
"start": {
"line": 57,
"column": 5,
"offset": 1032
},
"end": {
"line": 57,
"column": 16,
"offset": 1043
},
"indent": []
}
}
],
"position": {
"start": {
"line": 57,
"column": 1,
"offset": 1028
},
"end": {
"line": 57,
"column": 16,
"offset": 1043
},
"indent": []
}
},
{
"type": "html",
"value": "<div id='js-setup'>",
"position": {
"start": {
"line": 58,
"column": 1,
"offset": 1044
},
"end": {
"line": 58,
"column": 20,
"offset": 1063
},
"indent": []
}
},
{
"type": "code",
"lang": "js",
"value": "console.log('before the test');",
"position": {
"start": {
"line": 60,
"column": 1,
"offset": 1065
},
"end": {
"line": 62,
"column": 4,
"offset": 1106
},
"indent": [1, 1]
}
},
{
"type": "html",
"value": "</div>",
"position": {
"start": {
"line": 64,
"column": 1,
"offset": 1108
},
"end": {
"line": 64,
"column": 7,
"offset": 1114
},
"indent": []
}
},
{
"type": "heading",
"depth": 3,
"children": [
{
"type": "text",
"value": "After Test",
"position": {
"start": {
"line": 66,
"column": 5,
"offset": 1120
},
"end": {
"line": 66,
"column": 15,
"offset": 1130
},
"indent": []
}
}
],
"position": {
"start": {
"line": 66,
"column": 1,
"offset": 1116
},
"end": {
"line": 66,
"column": 15,
"offset": 1130
},
"indent": []
}
},
{
"type": "html",
"value": "<div id='js-teardown'>",
"position": {
"start": {
"line": 67,
"column": 1,
"offset": 1131
},
"end": {
"line": 67,
"column": 23,
"offset": 1153
},
"indent": []
}
},
{
"type": "code",
"lang": "js",
"value": "console.info('after the test');",
"position": {
"start": {
"line": 69,
"column": 1,
"offset": 1155
},
"end": {
"line": 71,
"column": 4,
"offset": 1196
},
"indent": [1, 1]
}
},
{
"type": "html",
"value": "</div>\n</section>",
"position": {
"start": {
"line": 73,
"column": 1,
"offset": 1198
},
"end": {
"line": 74,
"column": 11,
"offset": 1215
},
"indent": [1]
}
},
{
"type": "heading",
"depth": 2,
"children": [
{
"type": "text",
"value": "Solution",
"position": {
"start": {
"line": 76,
"column": 4,
"offset": 1220
},
"end": {
"line": 76,
"column": 12,
"offset": 1228
},
"indent": []
}
}
],
"position": {
"start": {
"line": 76,
"column": 1,
"offset": 1217
},
"end": {
"line": 76,
"column": 12,
"offset": 1228
},
"indent": []
}
},
{
"type": "html",
"value": "<section id='solution'>",
"position": {
"start": {
"line": 77,
"column": 1,
"offset": 1229
},
"end": {
"line": 77,
"column": 24,
"offset": 1252
},
"indent": []
}
},
{
"type": "code",
"lang": "js",
"value":
"function testFunction(arg) {\n return arg;\n}\n\ntestFunction('hello');",
"position": {
"start": {
"line": 79,
"column": 1,
"offset": 1254
},
"end": {
"line": 85,
"column": 4,
"offset": 1332
},
"indent": [1, 1, 1, 1, 1, 1]
}
},
{
"type": "html",
"value": "</section>",
"position": {
"start": {
"line": 86,
"column": 1,
"offset": 1333
},
"end": {
"line": 86,
"column": 11,
"offset": 1343
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 86,
"column": 11,
"offset": 1343
}
}
}