| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 1de25f2 commit 94f8255
5 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -34,12 +34,17 @@ const testData = [ | |||
| 34 | 34 | ' id="foo_sample_markdown_with_yaml_info">#</a></span></h1>' + | |
| 35 | 35 | '<h2>Foobar<span><a class="mark" href="#foo_foobar" ' + | |
| 36 | 36 | 'id="foo_foobar">#</a></span></h2>' + | |
| 37 | - '<div class="api_metadata"><span>Added: v1.0.0</span></div> ' + | ||
| 37 | + '<div class="api_metadata"><span>Added in: v1.0.0</span></div> ' + | ||
| 38 | 38 | '<p>Describe <code>Foobar</code> in more detail here.</p>' + | |
| 39 | + '<h2>Foobar II<span><a class="mark" href="#foo_foobar_ii" ' + | ||
| 40 | + 'id="foo_foobar_ii">#</a></span></h2>' + | ||
| 41 | + '<div class="api_metadata"><span>Added in: v5.3.0, v4.2.0</span></div> ' + | ||
| 42 | + '<p>Describe <code>Foobar II</code> in more detail here.</p>' + | ||
| 39 | 43 | '<h2>Deprecated thingy<span><a class="mark" ' + | |
| 40 | 44 | 'href="#foo_deprecated_thingy" id="foo_deprecated_thingy">#</a>' + | |
| 41 | 45 | '</span></h2>' + | |
| 42 | - '<div class="api_metadata"><span>Added: v1.0.0</span></div><p>Describe ' + | ||
| 46 | + '<div class="api_metadata"><span>Added in: v1.0.0</span>' + | ||
| 47 | + '<span>Deprecated since: v2.0.0</span></div><p>Describe ' + | ||
| 43 | 48 | '<code>Deprecated thingy</code> in more detail here.</p>' + | |
| 44 | 49 | '<h2>Something<span><a class="mark" href="#foo_something" ' + | |
| 45 | 50 | 'id="foo_something">#</a></span></h2> ' + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -78,19 +78,30 @@ var testData = [ | |||
| 78 | 78 | 'textRaw': 'Foobar', | |
| 79 | 79 | 'name': 'foobar', | |
| 80 | 80 | 'meta': { | |
| 81 | - 'added': 'v1.0.0' | ||
| 81 | + 'added': ['v1.0.0'] | ||
| 82 | 82 | }, | |
| 83 | 83 | 'desc': '<p>Describe <code>Foobar</code> in more detail ' + | |
| 84 | 84 | 'here.\n\n</p>\n', | |
| 85 | 85 | 'type': 'module', | |
| 86 | 86 | 'displayName': 'Foobar' | |
| 87 | 87 | }, | |
| 88 | + { | ||
| 89 | + 'textRaw': 'Foobar II', | ||
| 90 | + 'name': 'foobar_ii', | ||
| 91 | + 'meta': { | ||
| 92 | + 'added': ['v5.3.0', 'v4.2.0'] | ||
| 93 | + }, | ||
| 94 | + 'desc': '<p>Describe <code>Foobar II</code> in more detail ' + | ||
| 95 | + 'here.\n\n</p>\n', | ||
| 96 | + 'type': 'module', | ||
| 97 | + 'displayName': 'Foobar II' | ||
| 98 | + }, | ||
| 88 | 99 | { | |
| 89 | 100 | 'textRaw': 'Deprecated thingy', | |
| 90 | 101 | 'name': 'deprecated_thingy', | |
| 91 | 102 | 'meta': { | |
| 92 | - 'added': 'v1.0.0', | ||
| 93 | - 'deprecated': 'v2.0.0' | ||
| 103 | + 'added': ['v1.0.0'], | ||
| 104 | + 'deprecated': ['v2.0.0'] | ||
| 94 | 105 | }, | |
| 95 | 106 | 'desc': '<p>Describe <code>Deprecated thingy</code> in more ' + | |
| 96 | 107 | 'detail here.\n\n</p>\n', | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7,6 +7,15 @@ added: v1.0.0 | |||
| 7 | 7 | ||
| 8 | 8 | Describe `Foobar` in more detail here. | |
| 9 | 9 | ||
| 10 | + ## Foobar II | ||
| 11 | + <!-- YAML | ||
| 12 | + added: | ||
| 13 | + - v5.3.0 | ||
| 14 | + - v4.2.0 | ||
| 15 | + --> | ||
| 16 | + | ||
| 17 | + Describe `Foobar II` in more detail here. | ||
| 18 | + | ||
| 10 | 19 | ## Deprecated thingy | |
| 11 | 20 | <!-- YAML | |
| 12 | 21 | added: v1.0.0 | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -8,14 +8,33 @@ function isYAMLBlock(text) { | |||
| 8 | 8 | ||
| 9 | 9 | exports.isYAMLBlock = isYAMLBlock; | |
| 10 | 10 | ||
| 11 | + function arrify(value) { | ||
| 12 | + return Array.isArray(value) ? value : [value]; | ||
| 13 | + } | ||
| 14 | + | ||
| 11 | 15 | function extractAndParseYAML(text) { | |
| 12 | 16 | text = text.trim(); | |
| 13 | 17 | ||
| 14 | 18 | text = text.replace(/^<!-- YAML/, '') | |
| 15 | 19 | .replace(/-->$/, ''); | |
| 16 | 20 | ||
| 17 | 21 | // js-yaml.safeLoad() throws on error | |
| 18 | - return yaml.safeLoad(text); | ||
| 22 | + const meta = yaml.safeLoad(text); | ||
| 23 | + | ||
| 24 | + const added = meta.added || meta.Added; | ||
| 25 | + if (added) { | ||
| 26 | + // Since semver-minors can trickle down to previous major versions, | ||
| 27 | + // features may have been added in multiple versions. | ||
| 28 | + meta.added = arrify(added); | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + const deprecated = meta.deprecated || meta.Deprecated; | ||
| 32 | + if (deprecated) { | ||
| 33 | + // Treat deprecated like added for consistency. | ||
| 34 | + meta.deprecated = arrify(deprecated); | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + return meta; | ||
| 19 | 38 | } | |
| 20 | 39 | ||
| 21 | 40 | exports.extractAndParseYAML = extractAndParseYAML; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -180,15 +180,18 @@ function parseLists(input) { | |||
| 180 | 180 | ||
| 181 | 181 | function parseYAML(text) { | |
| 182 | 182 | const meta = common.extractAndParseYAML(text); | |
| 183 | - let html = '<div class="api_metadata">'; | ||
| 183 | + const html = ['<div class="api_metadata">']; | ||
| 184 | 184 | ||
| 185 | - if (meta.added || meta.Added) { | ||
| 186 | - meta.added = meta.added || meta.Added; | ||
| 185 | + if (meta.added) { | ||
| 186 | + html.push(`<span>Added in: ${meta.added.join(', ')}</span>`); | ||
| 187 | + } | ||
| 187 | 188 | ||
| 188 | - html += '<span>Added: ' + meta.added + '</span>'; | ||
| 189 | + if (meta.deprecated) { | ||
| 190 | + html.push(`<span>Deprecated since: ${meta.deprecated.join(', ')} </span>`); | ||
| 189 | 191 | } | |
| 190 | 192 | ||
| 191 | - return html + '</div>'; | ||
| 193 | + html.push('</div>'); | ||
| 194 | + return html.join('\n'); | ||
| 192 | 195 | } | |
| 193 | 196 | ||
| 194 | 197 | // Syscalls which appear in the docs, but which only exist in BSD / OSX | |
| Back | FazBrowse Home | New Git URL |
0 commit comments