Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions extension-tags.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
%YAML 1.2
Comment thread
dthaler marked this conversation as resolved.
Outdated
---
lang: en-US

name: https://github.com/glamberson/gedcom-tags

description: |
Organizational tag extension for GEDCOM 7.

This extension provides a mechanism for users to organize their genealogical
data using custom tags with optional visual color coding. Tags are first-class
records that can be referenced by any other record type for flexible
categorization.

authors:
- Greg Lamberson <lamberson@yahoo.com>

requirements:
- https://gedcom.io/terms/v7

tags:
- https://github.com/glamberson/gedcom-tags/_TAG
- https://github.com/glamberson/gedcom-tags/_TAG_ref
- https://github.com/glamberson/gedcom-tags/_COLOR
- https://github.com/glamberson/gedcom-tags/_ATTR
- https://github.com/glamberson/gedcom-tags/_VALUE

contact: lamberson@yahoo.com
...
Comment thread
tychonievich marked this conversation as resolved.
Outdated
34 changes: 34 additions & 0 deletions structure/extension/_ATTR.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-tags/_ATTR

standard tag: _ATTR
Comment thread
dthaler marked this conversation as resolved.
Outdated

extension tags: _ATTR
Comment thread
dthaler marked this conversation as resolved.
Outdated

specification:
- Generic Attribute
- |
The _ATTR structure provides a generic mechanism for vendors to add
custom attributes to tags. The payload contains the attribute name,
and the required _VALUE substructure contains the attribute value.

This allows software to extend tags with specific functionality
without requiring changes to the base specification.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommend adding

documentation:
  - https://github.com/glamberson/gedcom-tags

To YAML files in this PR.

label: 'Attribute'

payload: http://www.w3.org/2001/XMLSchema#string

substructures:
"https://github.com/glamberson/gedcom-tags/_VALUE": "{1:1}"

superstructures:
"https://github.com/glamberson/gedcom-tags/_TAG": "{0:M}"

contact: "lamberson@yahoo.com"
...
Comment thread
tychonievich marked this conversation as resolved.
Outdated
33 changes: 33 additions & 0 deletions structure/extension/_COLOR.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-tags/_COLOR

standard tag: _COLOR

extension tags: _COLOR

specification:
- Color
- |
The _COLOR structure specifies a color for visual representation of a tag.
The color must be specified as a 6-digit hexadecimal value in the format
#RRGGBB, where RR is red, GG is green, and BB is blue. Values are
case-insensitive.

Examples: #FF0000 (red), #00FF00 (green), #0000FF (blue)

label: 'Color'

payload: http://www.w3.org/2001/XMLSchema#string

substructures: {}

superstructures:
"https://github.com/glamberson/gedcom-tags/_TAG": "{0:1}"

contact: "lamberson@yahoo.com"
...
Comment thread
tychonievich marked this conversation as resolved.
Outdated
39 changes: 39 additions & 0 deletions structure/extension/_TAG.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
%YAML 1.2
---
lang: en-US

type: record

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
type: record
type: structure


uri: https://github.com/glamberson/gedcom-tags/_TAG

standard tag: _TAG

extension tags: _TAG

specification:
- Tag Record
- |
A _TAG record represents an organizational tag that can be applied to
any record type for categorization purposes. Tags support optional
visual color coding and vendor-specific attributes through the
generic _ATTR mechanism.

Tags are first-class records that exist at the top level and are
referenced by other records using the _TAG substructure.

label: 'Tag'

payload: null

substructures:
"https://gedcom.io/terms/v7/NAME": "{1:1}"
"https://github.com/glamberson/gedcom-tags/_COLOR": "{0:1}"
"https://github.com/glamberson/gedcom-tags/_ATTR": "{0:M}"
"https://gedcom.io/terms/v7/NOTE": "{0:M}"
"https://gedcom.io/terms/v7/SNOTE": "{0:M}"
"https://gedcom.io/terms/v7/CHAN": "{0:1}"

superstructures: {}

contact: "lamberson@yahoo.com"
...
Comment thread
tychonievich marked this conversation as resolved.
Outdated
48 changes: 48 additions & 0 deletions structure/extension/_TAG_ref.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-tags/_TAG
Comment thread
dthaler marked this conversation as resolved.
Outdated

standard tag: _TAG

extension tags: _TAG

specification:
- Tag Reference
- |
When used as a substructure, _TAG references a tag record to apply
that tag to the containing record. The payload is a pointer to a
_TAG record. Optional DATE and NOTE substructures can provide
context about when and why the tag was applied.

label: 'Tag Reference'

payload: https://gedcom.io/terms/v7/type-Pointer
Comment thread
dthaler marked this conversation as resolved.
Outdated

substructures:
"https://gedcom.io/terms/v7/DATE": "{0:1}"
"https://gedcom.io/terms/v7/NOTE": "{0:M}"

superstructures:
"https://gedcom.io/terms/v7/record-INDI": "{0:M}"
"https://gedcom.io/terms/v7/record-FAM": "{0:M}"
"https://gedcom.io/terms/v7/record-SOUR": "{0:M}"
"https://gedcom.io/terms/v7/record-REPO": "{0:M}"
"https://gedcom.io/terms/v7/record-OBJE": "{0:M}"
"https://gedcom.io/terms/v7/record-NOTE": "{0:M}"
"https://gedcom.io/terms/v7/record-SNOTE": "{0:M}"
"https://gedcom.io/terms/v7/record-SUBM": "{0:M}"
"https://gedcom.io/terms/v7/EVEN": "{0:M}"
"https://gedcom.io/terms/v7/BIRT": "{0:M}"
"https://gedcom.io/terms/v7/DEAT": "{0:M}"
"https://gedcom.io/terms/v7/MARR": "{0:M}"
"https://gedcom.io/terms/v7/CENS": "{0:M}"
"https://gedcom.io/terms/v7/PLAC": "{0:M}"
"https://gedcom.io/terms/v7/NAME": "{0:M}"
"https://gedcom.io/terms/v7/ASSO": "{0:M}"

contact: "lamberson@yahoo.com"
...
Comment thread
tychonievich marked this conversation as resolved.
Outdated
30 changes: 30 additions & 0 deletions structure/extension/_VALUE.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-tags/_VALUE

standard tag: _VALUE

extension tags: _VALUE

specification:
- Attribute Value
- |
The _VALUE structure contains the value for a generic attribute
defined by _ATTR. The value is a string that can contain any
vendor-specific data.

label: 'Value'

payload: http://www.w3.org/2001/XMLSchema#string

substructures: {}

superstructures:
"https://github.com/glamberson/gedcom-tags/_ATTR": "{1:1}"

contact: "lamberson@yahoo.com"
...
Comment thread
tychonievich marked this conversation as resolved.
Outdated
Loading