@@ -28,6 +28,24 @@ export const projects: Project[] = [
2828 featured : true ,
2929 category : 'Core'
3030 } ,
31+ {
32+ name : 'canon' ,
33+ version : '' ,
34+ description : 'Semantic comparison for serialization formats with W3C XML C14N canonicalization. Compare XML, HTML, JSON, and YAML semantically.' ,
35+ github : 'https://github.com/lutaml/canon' ,
36+ docs : 'https://lutaml.github.io/canon/' ,
37+ featured : true ,
38+ category : 'Core'
39+ } ,
40+ {
41+ name : 'moxml' ,
42+ version : '' ,
43+ description : 'Modern XML processing library with unified API across Nokogiri, Oga, REXML, LibXML, and Ox backends.' ,
44+ github : 'https://github.com/lutaml/moxml' ,
45+ docs : 'https://lutaml.github.io/moxml/' ,
46+ featured : true ,
47+ category : 'Core'
48+ } ,
3149 {
3250 name : 'expressir' ,
3351 version : 'v2.2.0' ,
@@ -37,21 +55,37 @@ export const projects: Project[] = [
3755 featured : true ,
3856 category : 'Core'
3957 } ,
58+ {
59+ name : 'unibuf' ,
60+ version : '' ,
61+ description : 'Universal Buffer Format Parser for Protocol Buffers, FlatBuffers, and Cap\'n Proto with text/binary format support.' ,
62+ github : 'https://github.com/lutaml/unibuf' ,
63+ featured : true ,
64+ category : 'Core'
65+ } ,
66+ {
67+ name : 'xmi' ,
68+ version : '' ,
69+ description : 'Ruby object mapper for XMI (XML Metadata Interchange) files with dynamic class generation.' ,
70+ github : 'https://github.com/lutaml/xmi' ,
71+ featured : true ,
72+ category : 'Core'
73+ } ,
4074
41- // Extended Models
75+ // Extended Projects
4276 {
43- name : 'lutaml ' ,
77+ name : 'rng ' ,
4478 version : '' ,
45- description : 'Universal data modeling language and toolkit for creating interoperable data models .' ,
46- github : 'https://github.com/lutaml/lutaml ' ,
79+ description : 'Ruby tools for RELAX NG schemas supporting both XML (.rng) and compact (.rnc) syntax .' ,
80+ github : 'https://github.com/lutaml/rng ' ,
4781 featured : false ,
4882 category : 'Extended'
4983 } ,
5084 {
51- name : 'lutaml-express ' ,
85+ name : 'lutaml' ,
5286 version : '' ,
53- description : 'LutaML integration for EXPRESS language modeling and processing .' ,
54- github : 'https://github.com/lutaml/lutaml-express ' ,
87+ description : 'Universal data modeling language and toolkit for creating interoperable data models .' ,
88+ github : 'https://github.com/lutaml/lutaml' ,
5589 featured : false ,
5690 category : 'Extended'
5791 } ,
@@ -72,73 +106,64 @@ export const projects: Project[] = [
72106 category : 'Extended'
73107 } ,
74108 {
75- name : 'lutaml-sysml ' ,
109+ name : 'ali ' ,
76110 version : '' ,
77- description : 'SysML modeling support for the LutaML ecosystem .' ,
78- github : 'https://github.com/lutaml/lutaml-sysml ' ,
111+ description : 'NISO Access and License Indicators (ALI) Schemas implementation (NISO RP-22-2021) .' ,
112+ github : 'https://github.com/lutaml/ali ' ,
79113 featured : false ,
80114 category : 'Extended'
81115 } ,
82116 {
83- name : 'lutaml-uml ' ,
117+ name : 'genericode ' ,
84118 version : '' ,
85- description : 'UML modeling support with LutaML syntax and tools .' ,
86- github : 'https://github.com/lutaml/lutaml-uml ' ,
119+ description : 'OASIS Genericode 1.0 implementation for code lists in XML (.gc) and JSON (.gcj) formats .' ,
120+ github : 'https://github.com/lutaml/genericode ' ,
87121 featured : false ,
88122 category : 'Extended'
89123 } ,
90124 {
91- name : 'lutaml-xmi ' ,
125+ name : 'messagepack ' ,
92126 version : '' ,
93- description : 'XMI (XML Metadata Interchange) support for model interchange.' ,
94- github : 'https://github.com/lutaml/lutaml-xmi' ,
127+ description : 'Pure Ruby MessagePack binary serialization format implementation.' ,
128+ github : 'https://github.com/lutaml/messagepack' ,
129+ docs : 'https://lutaml.github.io/messagepack/' ,
95130 featured : false ,
96131 category : 'Extended'
97132 } ,
98-
99- // Transformed Models
100133 {
101- name : 'annotated-express ' ,
134+ name : 'oasis-etm ' ,
102135 version : '' ,
103- description : 'Tools for working with annotated EXPRESS schemas .' ,
104- github : 'https://github.com/lutaml/annotated-express ' ,
136+ description : 'OASIS Exchange Table Model TR 9503:1995 implementation for DocBook and NISO JATS .' ,
137+ github : 'https://github.com/lutaml/oasis-etm ' ,
105138 featured : false ,
106- category : 'Transformed'
107- } ,
108- {
109- name : 'express-grammar' ,
110- version : '' ,
111- description : 'EXPRESS language grammar definitions for parsing.' ,
112- github : 'https://github.com/lutaml/express-grammar' ,
113- featured : false ,
114- category : 'Transformed'
115- } ,
116- {
117- name : 'expression' ,
118- version : '' ,
119- description : 'Expression parsing and evaluation library.' ,
120- github : 'https://github.com/lutaml/expression' ,
121- featured : false ,
122- category : 'Transformed'
139+ category : 'Extended'
123140 } ,
124141 {
125- name : 'reeper ' ,
142+ name : 'reqif ' ,
126143 version : '' ,
127- description : 'EXPRESS schema processing and transformation tools .' ,
128- github : 'https://github.com/lutaml/reeper ' ,
144+ description : 'ReqIF (Requirements Interchange Format) v1.2 parser and generator .' ,
145+ github : 'https://github.com/lutaml/reqif ' ,
129146 featured : false ,
130- category : 'Transformed '
147+ category : 'Extended '
131148 } ,
132149 {
133150 name : 'versionian' ,
134151 version : '' ,
135- description : 'Version management for data models and schemas .' ,
152+ description : 'Declarative versioning schemes library supporting semantic, calendar, and custom version formats .' ,
136153 github : 'https://github.com/lutaml/versionian' ,
154+ docs : 'https://lutaml.github.io/versionian/' ,
137155 featured : false ,
138- category : 'Transformed '
156+ category : 'Extended '
139157 }
140158]
141159
142160export const premierProjects = projects . filter ( p => p . featured )
143161export const extendedProjects = projects . filter ( p => ! p . featured && p . category === 'Extended' )
144- export const transformedProjects = projects . filter ( p => ! p . featured && p . category === 'Transformed' )
162+
163+ // Generate nav items for Software dropdown from all projects (sorted alphabetically)
164+ export const softwareNavItems = [ ...projects ]
165+ . sort ( ( a , b ) => a . name . localeCompare ( b . name ) )
166+ . map ( p => ( {
167+ text : p . name ,
168+ link : p . docs || p . github
169+ } ) )
0 commit comments