Module: Lutaml::UmlRepository::StaticSite
- Defined in:
- lib/lutaml/uml_repository/static_site.rb,
lib/lutaml/uml_repository/static_site/models.rb,
lib/lutaml/uml_repository/static_site/output.rb,
lib/lutaml/uml_repository/static_site/generator.rb,
lib/lutaml/uml_repository/static_site/serializers.rb,
lib/lutaml/uml_repository/static_site/id_generator.rb,
lib/lutaml/uml_repository/static_site/configuration.rb,
lib/lutaml/uml_repository/static_site/models/spa_base.rb,
lib/lutaml/uml_repository/static_site/output/strategy.rb,
lib/lutaml/uml_repository/static_site/data_transformer.rb,
lib/lutaml/uml_repository/static_site/models/spa_class.rb,
lib/lutaml/uml_repository/static_site/serializers/base.rb,
lib/lutaml/uml_repository/static_site/models/spa_diagram.rb,
lib/lutaml/uml_repository/static_site/models/spa_literal.rb,
lib/lutaml/uml_repository/static_site/models/spa_package.rb,
lib/lutaml/uml_repository/static_site/models/spa_document.rb,
lib/lutaml/uml_repository/static_site/models/spa_metadata.rb,
lib/lutaml/uml_repository/static_site/models/spa_attribute.rb,
lib/lutaml/uml_repository/static_site/models/spa_operation.rb,
lib/lutaml/uml_repository/static_site/models/spa_parameter.rb,
lib/lutaml/uml_repository/static_site/search_index_builder.rb,
lib/lutaml/uml_repository/static_site/models/spa_statistics.rb,
lib/lutaml/uml_repository/static_site/models/spa_association.rb,
lib/lutaml/uml_repository/static_site/models/spa_cardinality.rb,
lib/lutaml/uml_repository/static_site/models/spa_search_entry.rb,
lib/lutaml/uml_repository/static_site/models/spa_search_index.rb,
lib/lutaml/uml_repository/static_site/models/spa_tree_class_ref.rb,
lib/lutaml/uml_repository/static_site/models/spa_association_end.rb,
lib/lutaml/uml_repository/static_site/output/multi_file_strategy.rb,
lib/lutaml/uml_repository/static_site/output/vue_inlined_strategy.rb,
lib/lutaml/uml_repository/static_site/models/spa_package_tree_node.rb,
lib/lutaml/uml_repository/static_site/serializers/class_serializer.rb,
lib/lutaml/uml_repository/static_site/serializers/metadata_builder.rb,
lib/lutaml/uml_repository/static_site/models/spa_inherited_attribute.rb,
lib/lutaml/uml_repository/static_site/serializers/diagram_serializer.rb,
lib/lutaml/uml_repository/static_site/serializers/package_serializer.rb,
lib/lutaml/uml_repository/static_site/models/spa_inherited_association.rb,
lib/lutaml/uml_repository/static_site/serializers/attribute_serializer.rb,
lib/lutaml/uml_repository/static_site/serializers/inheritance_resolver.rb,
lib/lutaml/uml_repository/static_site/serializers/operation_serializer.rb,
lib/lutaml/uml_repository/static_site/serializers/package_tree_builder.rb,
lib/lutaml/uml_repository/static_site/serializers/association_serializer.rb
Overview
Static Site generation for UML model browsing.
Generates a single-page application (SPA) from typed UML models:
-
Vue 3 + Pinia + TypeScript frontend (pre-built IIFE)
-
lunr.js for client-side search
-
Strategy pattern for output (single-file or multi-file)
-
Full typed data layer via Lutaml::Model::Serializable
Defined Under Namespace
Modules: Models, Output, Serializers Classes: Configuration, DataTransformer, Generator, IdGenerator, SearchIndexBuilder
Class Method Summary collapse
-
.build_search_index(repository, options = {}) ⇒ Hash
Build search index from repository.
-
.configuration(config_path = nil) ⇒ Configuration
Load configuration.
-
.generate(repository, options = {}) ⇒ String
Generate a static site from a repository.
-
.transform_data(repository, options = {}) ⇒ Hash
Transform repository data to JSON.
Class Method Details
.build_search_index(repository, options = {}) ⇒ Hash
Build search index from repository
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/lutaml/uml_repository/static_site.rb', line 71 def build_search_index(repository, = {}) config = [:config] || Configuration.load search_opts = { fields: config.search&.fields, document_types: config.search&.document_types, stop_words: config.search&.stop_words, }.merge() builder = SearchIndexBuilder.new(repository, search_opts) builder.build end |
.configuration(config_path = nil) ⇒ Configuration
Load configuration
86 87 88 |
# File 'lib/lutaml/uml_repository/static_site.rb', line 86 def configuration(config_path = nil) Configuration.load(config_path) end |
.generate(repository, options = {}) ⇒ String
Generate a static site from a repository
(:single_file or :multi_file)
49 50 51 52 |
# File 'lib/lutaml/uml_repository/static_site.rb', line 49 def generate(repository, = {}) generator = Generator.new(repository, ) generator.generate end |
.transform_data(repository, options = {}) ⇒ Hash
Transform repository data to JSON
59 60 61 62 63 64 |
# File 'lib/lutaml/uml_repository/static_site.rb', line 59 def transform_data(repository, = {}) config = [:config] || Configuration.load transformer_opts = config..merge() transformer = DataTransformer.new(repository, transformer_opts) transformer.transform end |