From 121374db67114c1735b8e627ddc30b04dd02cfe2 Mon Sep 17 00:00:00 2001 From: Lars Trieloff <trieloff@adobe.com> Date: Fri, 5 Jan 2018 13:09:55 +0000 Subject: [PATCH] show full, copyable path to definition group, fixes #29 --- examples/docs/abstract.schema.md | 4 ++-- examples/docs/extensible.schema.md | 4 ++-- examples/docs/subdir/subdir.schema.md | 2 +- lib/markdownWriter.js | 5 ++++- templates/md/definitions.ejs | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/examples/docs/abstract.schema.md b/examples/docs/abstract.schema.md index be4054c..5fb46d7 100644 --- a/examples/docs/abstract.schema.md +++ b/examples/docs/abstract.schema.md @@ -19,8 +19,8 @@ This is an abstract schema. It has `definitions`, but does not declare any prope | Property | Type | Group | |----------|------|-------| -| [bar](#bar) | `string` | `#/definitions/second` | -| [foo](#foo) | `string` | `#/definitions/first` | +| [bar](#bar) | `string` | `https://example.com/schemas/abstract#/definitions/second` | +| [foo](#foo) | `string` | `https://example.com/schemas/abstract#/definitions/first` | ## bar diff --git a/examples/docs/extensible.schema.md b/examples/docs/extensible.schema.md index 4a79bbf..d0f9c80 100644 --- a/examples/docs/extensible.schema.md +++ b/examples/docs/extensible.schema.md @@ -19,8 +19,8 @@ This is an extensible schema. It has `definitions`, that can be used in other sc | Property | Type | Group | |----------|------|-------| -| [bar](#bar) | `string` | `#/definitions/second` | -| [foo](#foo) | `string` | `#/definitions/first` | +| [bar](#bar) | `string` | `https://example.com/schemas/extensible#/definitions/second` | +| [foo](#foo) | `string` | `https://example.com/schemas/extensible#/definitions/first` | ## bar diff --git a/examples/docs/subdir/subdir.schema.md b/examples/docs/subdir/subdir.schema.md index 53dfc8c..5e236c3 100644 --- a/examples/docs/subdir/subdir.schema.md +++ b/examples/docs/subdir/subdir.schema.md @@ -19,7 +19,7 @@ A schema in a sub directory | Property | Type | Group | |----------|------|-------| -| [id](#id) | `string` | `#/definitions/content` | +| [id](#id) | `string` | `https://example.com/schemas/subdir/subdir#/definitions/content` | ## id diff --git a/lib/markdownWriter.js b/lib/markdownWriter.js index 00ba80d..8cd6a39 100644 --- a/lib/markdownWriter.js +++ b/lib/markdownWriter.js @@ -202,7 +202,10 @@ const generateMarkdown = function(filename, schema, schemaPath, outDir, dependen } if (_.keys(abstract).length>0) { //console.log('I got definitions!', abstract); - multi.push([ 'definitions.ejs', { props: requiredProperties(abstract), title: schema.title } ]); + multi.push([ 'definitions.ejs', { + props: requiredProperties(abstract), + title: schema.title, + id: schema.$id } ]); for (let i=0; i<_.keys(abstract).length;i++) { const name = _.keys(abstract).sort()[i]; multi.push( [ 'property.ejs', { diff --git a/templates/md/definitions.ejs b/templates/md/definitions.ejs index 825051d..0c5f6b5 100644 --- a/templates/md/definitions.ejs +++ b/templates/md/definitions.ejs @@ -12,5 +12,5 @@ |----------|------|-------| <% _.keys(props).sort().forEach(property => { const schema = props[property]; %> -| [<%= property %>](#<%= property %>) | <%= schema.simpletype %> | `#/definitions/<%= schema.definitiongroup %>` | +| [<%= property %>](#<%= property %>) | <%= schema.simpletype %> | `<%= id%>#/definitions/<%= schema.definitiongroup %>` | <% }); %> \ No newline at end of file -- GitLab