diff --git a/public/images/supporters/supporter-afnet.png b/public/images/supporters/supporter-afnet.png new file mode 100644 index 0000000..78a0672 Binary files /dev/null and b/public/images/supporters/supporter-afnet.png differ diff --git a/public/images/supporters/supporter-boeing.png b/public/images/supporters/supporter-boeing.png deleted file mode 100755 index 74a44a1..0000000 Binary files a/public/images/supporters/supporter-boeing.png and /dev/null differ diff --git a/public/images/supporters/supporter-boeing.svg b/public/images/supporters/supporter-boeing.svg new file mode 100644 index 0000000..bb9fc36 --- /dev/null +++ b/public/images/supporters/supporter-boeing.svg @@ -0,0 +1 @@ +boeing_logo \ No newline at end of file diff --git a/public/images/supporters/supporter-ge.png b/public/images/supporters/supporter-ge.png deleted file mode 100755 index 4be8001..0000000 Binary files a/public/images/supporters/supporter-ge.png and /dev/null differ diff --git a/public/images/supporters/supporter-ge.svg b/public/images/supporters/supporter-ge.svg new file mode 100644 index 0000000..f273ab4 --- /dev/null +++ b/public/images/supporters/supporter-ge.svg @@ -0,0 +1,37 @@ + + + + + + + diff --git a/public/images/supporters/supporter-md.png b/public/images/supporters/supporter-md.png deleted file mode 100755 index f960426..0000000 Binary files a/public/images/supporters/supporter-md.png and /dev/null differ diff --git a/public/images/supporters/supporter-md.svg b/public/images/supporters/supporter-md.svg new file mode 100644 index 0000000..7d24de2 --- /dev/null +++ b/public/images/supporters/supporter-md.svg @@ -0,0 +1,138 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/supporters/supporter-nist.png b/public/images/supporters/supporter-nist.png deleted file mode 100755 index 8fdba6e..0000000 Binary files a/public/images/supporters/supporter-nist.png and /dev/null differ diff --git a/public/images/supporters/supporter-nist.svg b/public/images/supporters/supporter-nist.svg new file mode 100644 index 0000000..2444367 --- /dev/null +++ b/public/images/supporters/supporter-nist.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/public/images/supporters/supporter-pdes.png b/public/images/supporters/supporter-pdes.png new file mode 100644 index 0000000..6a5d8cb Binary files /dev/null and b/public/images/supporters/supporter-pdes.png differ diff --git a/public/logos/logo-lang-express.svg b/public/logos/logo-lang-express.svg index 5cd3387..c641397 100644 --- a/public/logos/logo-lang-express.svg +++ b/public/logos/logo-lang-express.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/logos/logo-lang-expressg.svg b/public/logos/logo-lang-expressg.svg index 040512d..c802b43 100644 --- a/public/logos/logo-lang-expressg.svg +++ b/public/logos/logo-lang-expressg.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/logos/logo-lang-expressi.svg b/public/logos/logo-lang-expressi.svg index 71d4c5e..7a10b5c 100644 --- a/public/logos/logo-lang-expressi.svg +++ b/public/logos/logo-lang-expressi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/logos/logo-lang-expressq.svg b/public/logos/logo-lang-expressq.svg index c939ed0..b2a723c 100644 --- a/public/logos/logo-lang-expressq.svg +++ b/public/logos/logo-lang-expressq.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/logos/logo-lang-expressx.svg b/public/logos/logo-lang-expressx.svg index 804780b..9f20350 100644 --- a/public/logos/logo-lang-expressx.svg +++ b/public/logos/logo-lang-expressx.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/logos/logo-lang-icon-express.svg b/public/logos/logo-lang-icon-express.svg new file mode 100644 index 0000000..1ffe5b4 --- /dev/null +++ b/public/logos/logo-lang-icon-express.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/logo-lang-icon-expressg.svg b/public/logos/logo-lang-icon-expressg.svg new file mode 100644 index 0000000..d49c49e --- /dev/null +++ b/public/logos/logo-lang-icon-expressg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/logo-lang-icon-expressi.svg b/public/logos/logo-lang-icon-expressi.svg new file mode 100644 index 0000000..0b1d652 --- /dev/null +++ b/public/logos/logo-lang-icon-expressi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/logo-lang-icon-expressq.svg b/public/logos/logo-lang-icon-expressq.svg new file mode 100644 index 0000000..9637e1e --- /dev/null +++ b/public/logos/logo-lang-icon-expressq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/logos/logo-lang-icon-expressx.svg b/public/logos/logo-lang-icon-expressx.svg new file mode 100644 index 0000000..8b804e8 --- /dev/null +++ b/public/logos/logo-lang-icon-expressx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/index.vue b/src/pages/index.vue index 0db38e2..3fe585c 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -76,8 +76,8 @@ const languages = [ { name: 'EXPRESS', slug: 'express', - color: 'text-[#e99262]', - bg: 'bg-[#e99262]/8', + color: '#e99262', + icon: '/logos/logo-lang-icon-express.svg', desc: 'The core data modelling language — entities, types, constraints, and rules for defining information schemas.', iso: 'ISO 10303-11', invented: '1982', @@ -85,8 +85,8 @@ const languages = [ { name: 'EXPRESS-G', slug: 'express-g', - color: 'text-[#4ec0aa]', - bg: 'bg-[#4ec0aa]/8', + color: '#4ec0aa', + icon: '/logos/logo-lang-icon-expressg.svg', desc: 'Graphical notation for EXPRESS — entity-relationship diagrams for visual data modelling.', iso: 'ISO 10303-11', invented: '1980s', @@ -94,8 +94,8 @@ const languages = [ { name: 'EXPRESS-I', slug: 'express-i', - color: 'text-[#d85577]', - bg: 'bg-[#d85577]/8', + color: '#d85577', + icon: '/logos/logo-lang-icon-expressi.svg', desc: 'Instance definition language for populated data models and conformance testing.', iso: 'ISO 10303-12', invented: '1994', @@ -103,8 +103,8 @@ const languages = [ { name: 'EXPRESS-X', slug: 'express-x', - color: 'text-[#077783]', - bg: 'bg-[#077783]/8', + color: '#077783', + icon: '/logos/logo-lang-icon-expressx.svg', desc: 'Schema mapping language for defining transformations between different EXPRESS data models.', iso: 'ISO 10303-14', invented: '2001', @@ -112,8 +112,8 @@ const languages = [ { name: 'EXPRESS-Q', slug: 'express-q', - color: 'text-[#7c5cbf]', - bg: 'bg-[#7c5cbf]/8', + color: '#7c5cbf', + icon: '/logos/logo-lang-icon-expressq.svg', desc: 'Query language for defining mappings between ARM and MIM schemas with reference path syntax.', iso: 'ELF Specification', invented: '2001', @@ -231,14 +231,14 @@ const milestones = [
- - {{ lang.name }} -

{{ lang.name }}

+ + +

{{ lang.name }}

{{ lang.desc }}

{{ lang.iso }}

- + Explore @@ -292,12 +292,14 @@ const milestones = [
- Boeing - McDonnell Douglas - General Electric - NIST + Boeing + McDonnell Douglas + General Electric + NIST + PDES Inc. STEP Tools Jotne EPM Technology + AFNeT Services Ribose

diff --git a/src/pages/languages/[slug].vue b/src/pages/languages/[slug].vue index 7a60fc9..0e7b6db 100644 --- a/src/pages/languages/[slug].vue +++ b/src/pages/languages/[slug].vue @@ -7,11 +7,18 @@ const route = useRoute() const slug = route.params.slug as string const content: ContentData | null = await useContent('languages', slug) -const languageMeta: Record = { - express: { iso: 'ISO 10303-11:2004', color: 'text-[#e99262]' }, - 'express-g': { iso: 'ISO 10303-11:2004', color: 'text-[#4ec0aa]' }, - 'express-i': { iso: 'ISO 10303-12', color: 'text-[#d85577]' }, - 'express-x': { iso: 'ISO 10303-14', color: 'text-[#077783]' }, +interface LanguageInfo { + iso: string + color: string + icon: string +} + +const languageMeta: Record = { + express: { iso: 'ISO 10303-11:2004', color: '#e99262', icon: '/logos/logo-lang-icon-express.svg' }, + 'express-g': { iso: 'ISO 10303-11:2004', color: '#4ec0aa', icon: '/logos/logo-lang-icon-expressg.svg' }, + 'express-i': { iso: 'ISO 10303-12', color: '#d85577', icon: '/logos/logo-lang-icon-expressi.svg' }, + 'express-x': { iso: 'ISO 10303-14', color: '#077783', icon: '/logos/logo-lang-icon-expressx.svg' }, + 'express-q': { iso: 'ELF Specification', color: '#7c5cbf', icon: '/logos/logo-lang-icon-expressq.svg' }, } const siblings = [ @@ -19,6 +26,7 @@ const siblings = [ { name: 'EXPRESS-G', slug: 'express-g' }, { name: 'EXPRESS-I', slug: 'express-i' }, { name: 'EXPRESS-X', slug: 'express-x' }, + { name: 'EXPRESS-Q', slug: 'express-q' }, ] const meta = languageMeta[slug] @@ -37,9 +45,12 @@ const meta = languageMeta[slug] / {{ content.title }} -

-

{{ content.title }}

-

{{ meta.iso }}

+
+ +
+

{{ content.title }}

+

{{ meta.iso }}

+

{{ content.title }}

@@ -56,12 +67,14 @@ const meta = languageMeta[slug] :key="sib.slug" :to="`/languages/${sib.slug}`" :class="[ - 'block px-3 py-2 text-sm rounded-lg transition-colors', + 'flex items-center gap-2 px-3 py-2 text-sm rounded-lg transition-colors', sib.slug === slug - ? 'text-elf-blue dark:text-elf-blue bg-elf-blue/8 dark:bg-elf-blue/8 font-medium' + ? 'font-medium' : 'text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-50 dark:hover:bg-navy-light', ]" + :style="sib.slug === slug ? { color: languageMeta[sib.slug]?.color, backgroundColor: `${languageMeta[sib.slug]?.color}14` } : {}" > + {{ sib.name }}
diff --git a/src/pages/languages/index.vue b/src/pages/languages/index.vue index c2279c1..1690ff5 100644 --- a/src/pages/languages/index.vue +++ b/src/pages/languages/index.vue @@ -6,9 +6,8 @@ const languages = [ name: 'EXPRESS', id: 'express', slug: 'express', - color: 'text-[#e99262]', - bg: 'bg-[#e99262]/8', - border: 'border-[#e99262]/20', + color: '#e99262', + icon: '/logos/logo-lang-icon-express.svg', desc: 'The core information modelling language for defining data schemas, entities, types, functions, and constraints. Used across industrial data exchange and product lifecycle management.', iso: 'ISO 10303-11:2004', features: ['Entity declarations', 'Inheritance hierarchies', 'WHERE rules', 'FUNCTION / PROCEDURE', 'ENUMERATION / SELECT types'], @@ -18,9 +17,8 @@ const languages = [ name: 'EXPRESS-G', id: 'express-g', slug: 'express-g', - color: 'text-[#4ec0aa]', - bg: 'bg-[#4ec0aa]/8', - border: 'border-[#4ec0aa]/20', + color: '#4ec0aa', + icon: '/logos/logo-lang-icon-expressg.svg', desc: 'Graphical notation for EXPRESS models — entity-relationship style diagrams for visual representation, communication, and documentation of data models.', iso: 'ISO 10303-11:2004', features: ['Entity type symbols', 'Relationship lines', 'Subtype/supertype', 'Attribute annotations', 'Schema diagrams'], @@ -30,9 +28,8 @@ const languages = [ name: 'EXPRESS-I', id: 'express-i', slug: 'express-i', - color: 'text-[#d85577]', - bg: 'bg-[#d85577]/8', - border: 'border-[#d85577]/20', + color: '#d85577', + icon: '/logos/logo-lang-icon-expressi.svg', desc: 'Instance language for defining populated data models and conformance test cases against EXPRESS schemas.', iso: 'ISO 10303-12', features: ['Instance definitions', 'Population data', 'Conformance testing', 'Validation test cases', 'Schema conformance'], @@ -42,9 +39,8 @@ const languages = [ name: 'EXPRESS-X', id: 'express-x', slug: 'express-x', - color: 'text-[#077783]', - bg: 'bg-[#077783]/8', - border: 'border-[#077783]/20', + color: '#077783', + icon: '/logos/logo-lang-icon-expressx.svg', desc: 'Schema mapping language for defining transformations between different EXPRESS schemas — supporting 1:1, 1:n, n:1, and n:n cardinalities.', iso: 'ISO 10303-14', features: ['SCHEMA_MAP declarations', 'MAP / COMPOSE', 'FROM / WHEN clauses', 'GLOBAL declarations', 'Source-to-target mapping'], @@ -54,9 +50,8 @@ const languages = [ name: 'EXPRESS-Q', id: 'express-q', slug: 'express-q', - color: 'text-[#7c5cbf]', - bg: 'bg-[#7c5cbf]/8', - border: 'border-[#7c5cbf]/20', + color: '#7c5cbf', + icon: '/logos/logo-lang-icon-expressq.svg', desc: 'Query language for defining mappings between Application Reference Model (ARM) and Model Implementation Model (MIM) schemas, with reference path syntax for precise schema navigation.', iso: 'ELF Specification', features: ['ENTITY_MAPPING declarations', 'ATTRIBUTE_MAPPING definitions', 'Reference path syntax', 'EXPRESS links', 'YAML serialization'], @@ -82,19 +77,23 @@ const languages = [
-
-
-

{{ lang.name }}

-

{{ lang.iso }}

-

{{ lang.desc }}

+
+
+ +
+

{{ lang.name }}

+

{{ lang.iso }}

+
+
+

{{ lang.desc }}

{{ lang.history }}

  • - + {{ feat }}
- + Learn more diff --git a/src/pages/supporters/index.vue b/src/pages/supporters/index.vue index 87525a0..c55a9e7 100644 --- a/src/pages/supporters/index.vue +++ b/src/pages/supporters/index.vue @@ -11,28 +11,34 @@ interface Supporter { const supporters: Supporter[] = [ { name: 'Boeing', - logo: '/images/supporters/supporter-boeing.png', + logo: '/images/supporters/supporter-boeing.svg', url: 'https://www.boeing.com', desc: 'Associate Technical Fellows contributing to ISO TC 184/SC 4 working groups on visualization and data exchange standards.', }, { name: 'McDonnell Douglas', - logo: '/images/supporters/supporter-md.png', + logo: '/images/supporters/supporter-md.svg', url: 'https://www.boeing.com', desc: 'Birthplace of EXPRESS — conceived during the PDDI program in 1982 by Douglas Schenck at McDonnell Aircraft (later McDonnell Douglas).', }, { name: 'General Electric', - logo: '/images/supporters/supporter-ge.png', + logo: '/images/supporters/supporter-ge.svg', url: 'https://www.ge.com', desc: 'Early contributor to STEP standardization and industrial data exchange standards development.', }, { name: 'NIST', - logo: '/images/supporters/supporter-nist.png', + logo: '/images/supporters/supporter-nist.svg', url: 'https://www.nist.gov', desc: 'National Institute of Standards and Technology — proposed EXPRESS as an International Standard at ISO and led STEP development since inception.', }, + { + name: 'PDES Inc.', + logo: '/images/supporters/supporter-pdes.png', + url: 'https://pdesinc.org', + desc: 'PDES, Inc. is an industry/government consortium that accelerates the development and implementation of STEP standards. Led by Allison Barnard Feeney.', + }, { name: 'STEP Tools', logo: '/images/supporters/supporter-steptools.svg', @@ -42,9 +48,15 @@ const supporters: Supporter[] = [ { name: 'Jotne EPM Technology', logo: '/images/supporters/supporter-jotneconnect.jpeg', - url: 'https://www.jotne.com/epm', + url: 'https://www.jotne.com', desc: 'Developer of the EDMvisualExpress tool and EXPRESS Data Manager. Contributed the EDMsdk course materials to ELF.', }, + { + name: 'AFNeT Services', + logo: '/images/supporters/supporter-afnet.png', + url: 'https://www.afnet.fr', + desc: 'Led by Jean Brangé. French organization focused on digital interoperability standards for industry, including EasySTEP and STEP Next initiatives.', + }, { name: 'Ribose', logo: '/images/supporters/supporter-ribose.svg',