@mdfriday/foundry 26.4.19 → 26.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/obsidian/mobile.js +1 -1
- package/dist/cjs/worker/pool-manager.js +341 -362
- package/dist/cjs/worker/worker-node.js +110 -132
- package/dist/esm/index.js +1 -1
- package/dist/esm/obsidian/mobile.js +1 -1
- package/dist/types/internal/application/batch-task-queue.d.ts +17 -0
- package/dist/types/internal/application/container.d.ts +68 -1
- package/dist/types/internal/application/identity.d.ts +173 -0
- package/dist/types/internal/application/incremental-build-coordinator.d.ts +28 -0
- package/dist/types/internal/application/incremental-ssg.d.ts +4 -0
- package/dist/types/internal/application/index.d.ts +5 -4
- package/dist/types/internal/application/publish.d.ts +37 -0
- package/dist/types/internal/application/ssg-parallel.d.ts +6 -0
- package/dist/types/internal/application/ssg.d.ts +15 -0
- package/dist/types/internal/application/wiki-service-config.d.ts +65 -0
- package/dist/types/internal/application/wiki-service.d.ts +199 -0
- package/dist/types/internal/application/worker/pool-manager.d.ts +43 -0
- package/dist/types/internal/application/worker/worker-browser.d.ts +6 -0
- package/dist/types/internal/application/worker/worker-main.d.ts +12 -0
- package/dist/types/internal/application/worker/worker-state.d.ts +23 -0
- package/dist/types/internal/application/workspace.d.ts +98 -0
- package/dist/types/internal/domain/config/entity/config.d.ts +40 -0
- package/dist/types/internal/domain/config/entity/language.d.ts +51 -0
- package/dist/types/internal/domain/config/entity/markdown.d.ts +36 -0
- package/dist/types/internal/domain/config/entity/module.d.ts +36 -0
- package/dist/types/internal/domain/config/entity/root.d.ts +39 -0
- package/dist/types/internal/domain/config/entity/service.d.ts +36 -0
- package/dist/types/internal/domain/config/entity/social.d.ts +43 -0
- package/dist/types/internal/domain/config/entity/taxonomy.d.ts +39 -0
- package/dist/types/internal/domain/config/factory/config.d.ts +3 -0
- package/dist/types/internal/domain/config/factory/loader.d.ts +24 -0
- package/dist/types/internal/domain/config/factory/provider.d.ts +10 -0
- package/dist/types/internal/domain/config/factory/sourcedescriptor.d.ts +12 -0
- package/dist/types/internal/domain/config/type.d.ts +56 -0
- package/dist/types/internal/domain/config/vo/language.d.ts +6 -0
- package/dist/types/internal/domain/config/vo/markdown.d.ts +13 -0
- package/dist/types/internal/domain/config/vo/module.d.ts +9 -0
- package/dist/types/internal/domain/config/vo/root.d.ts +6 -0
- package/dist/types/internal/domain/config/vo/service.d.ts +6 -0
- package/dist/types/internal/domain/config/vo/social.d.ts +16 -0
- package/dist/types/internal/domain/config/vo/taxonomy.d.ts +12 -0
- package/dist/types/internal/domain/content/entity/content.d.ts +36 -0
- package/dist/types/internal/domain/content/entity/page.d.ts +23 -0
- package/dist/types/internal/domain/content/entity/pagebuilder.d.ts +83 -0
- package/dist/types/internal/domain/content/entity/pagecollector.d.ts +3 -0
- package/dist/types/internal/domain/content/entity/pagecontent.d.ts +14 -0
- package/dist/types/internal/domain/content/entity/pagemap.d.ts +69 -0
- package/dist/types/internal/domain/content/entity/pagesource.d.ts +52 -0
- package/dist/types/internal/domain/content/entity/pagetrees.d.ts +12 -0
- package/dist/types/internal/domain/content/entity/paginator.d.ts +19 -0
- package/dist/types/internal/domain/content/entity/section.d.ts +15 -0
- package/dist/types/internal/domain/content/entity/shortcode.d.ts +39 -0
- package/dist/types/internal/domain/content/entity/standalone.d.ts +9 -0
- package/dist/types/internal/domain/content/entity/taxonomy.d.ts +15 -0
- package/dist/types/internal/domain/content/entity/term.d.ts +6 -0
- package/dist/types/internal/domain/content/entity/translator.d.ts +22 -0
- package/dist/types/internal/domain/content/type.d.ts +6 -0
- package/dist/types/internal/domain/content/vo/classifier.d.ts +24 -0
- package/dist/types/internal/domain/content/vo/frontmatter.d.ts +65 -0
- package/dist/types/internal/domain/content/vo/kind.d.ts +10 -0
- package/dist/types/internal/domain/fs/entity/basefs.d.ts +23 -0
- package/dist/types/internal/domain/fs/entity/fs.d.ts +13 -0
- package/dist/types/internal/domain/fs/entity/originfs.d.ts +6 -0
- package/dist/types/internal/domain/fs/entity/overlaydir.d.ts +44 -0
- package/dist/types/internal/domain/fs/entity/overlayfs.d.ts +79 -0
- package/dist/types/internal/domain/fs/entity/service.d.ts +15 -0
- package/dist/types/internal/domain/fs/factory/fs.d.ts +4 -0
- package/dist/types/internal/domain/fs/type.d.ts +95 -0
- package/dist/types/internal/domain/fs/vo/dir.d.ts +41 -0
- package/dist/types/internal/domain/fs/vo/file.d.ts +28 -0
- package/dist/types/internal/domain/fs/vo/fileinfo.d.ts +23 -0
- package/dist/types/internal/domain/fs/vo/filemeta.d.ts +45 -0
- package/dist/types/internal/domain/fs/vo/filesystemscollector.d.ts +17 -0
- package/dist/types/internal/domain/fs/vo/filevitural.d.ts +8 -0
- package/dist/types/internal/domain/fs/vo/osfs.d.ts +12 -0
- package/dist/types/internal/domain/fs/vo/overlay-factory.d.ts +4 -0
- package/dist/types/internal/domain/fs/vo/overlayfs-factory.d.ts +42 -0
- package/dist/types/internal/domain/fs/vo/overlayoptions.d.ts +44 -0
- package/dist/types/internal/domain/fs/vo/static-copier.d.ts +22 -0
- package/dist/types/internal/domain/fs/vo/walkway.d.ts +22 -0
- package/dist/types/internal/domain/identity/entity/user.d.ts +100 -0
- package/dist/types/internal/domain/identity/factory/user-factory.d.ts +183 -0
- package/dist/types/internal/domain/identity/repository/index.d.ts +30 -0
- package/dist/types/internal/domain/identity/type.d.ts +17 -0
- package/dist/types/internal/domain/identity/value-object/device.d.ts +26 -0
- package/dist/types/internal/domain/identity/value-object/email.d.ts +29 -0
- package/dist/types/internal/domain/identity/value-object/license.d.ts +91 -0
- package/dist/types/internal/domain/identity/value-object/server-config.d.ts +37 -0
- package/dist/types/internal/domain/identity/value-object/sync-config.d.ts +47 -0
- package/dist/types/internal/domain/identity/value-object/token.d.ts +35 -0
- package/dist/types/internal/domain/markdown/entity/markdown.d.ts +41 -0
- package/dist/types/internal/domain/markdown/factory/it/config.d.ts +60 -0
- package/dist/types/internal/domain/markdown/factory/it/index.d.ts +21 -1
- package/dist/types/internal/domain/markdown/factory/it/parserresult.d.ts +3 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/callout-plugin.d.ts +40 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/latex-plugin.d.ts +23 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/mermaid-plugin.d.ts +24 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/tag-plugin.d.ts +71 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/wikilink-plugin.d.ts +28 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/wikilink.d.ts +31 -0
- package/dist/types/internal/domain/markdown/factory/it/tableofcontents.d.ts +21 -0
- package/dist/types/internal/domain/markdown/factory/it/util/path.d.ts +11 -0
- package/dist/types/internal/domain/markdown/factory/it/util/slugger-fallback.d.ts +6 -0
- package/dist/types/internal/domain/markdown/type.d.ts +159 -0
- package/dist/types/internal/domain/markdown/vo/config.d.ts +48 -0
- package/dist/types/internal/domain/markdown/vo/content.d.ts +92 -0
- package/dist/types/internal/domain/markdown/vo/context.d.ts +9 -0
- package/dist/types/internal/domain/markdown/vo/highlight.d.ts +15 -0
- package/dist/types/internal/domain/markdown/vo/pageparser.d.ts +9 -0
- package/dist/types/internal/domain/markdown/vo/parseinfo.d.ts +36 -0
- package/dist/types/internal/domain/markdown/vo/parserresult.d.ts +6 -0
- package/dist/types/internal/domain/markdown/vo/shortcode.d.ts +31 -1
- package/dist/types/internal/domain/markdown/vo/tableofcontents.d.ts +21 -0
- package/dist/types/internal/domain/module/entity/lang.d.ts +12 -0
- package/dist/types/internal/domain/module/entity/module.d.ts +73 -0
- package/dist/types/internal/domain/module/factory/module.d.ts +6 -0
- package/dist/types/internal/domain/module/type.d.ts +58 -0
- package/dist/types/internal/domain/module/vo/cache.d.ts +48 -0
- package/dist/types/internal/domain/module/vo/httpclient.d.ts +14 -0
- package/dist/types/internal/domain/module/vo/module.d.ts +76 -0
- package/dist/types/internal/domain/module/vo/mount.d.ts +39 -0
- package/dist/types/internal/domain/module/vo/themes.d.ts +38 -0
- package/dist/types/internal/domain/module/vo/zipextractor.d.ts +31 -0
- package/dist/types/internal/domain/paths/entity/path.d.ts +28 -0
- package/dist/types/internal/domain/paths/factory/pathfactory.d.ts +82 -0
- package/dist/types/internal/domain/paths/type.d.ts +133 -1
- package/dist/types/internal/domain/paths/vo/pathcomponents.d.ts +94 -0
- package/dist/types/internal/domain/paths/vo/pathparser.d.ts +77 -0
- package/dist/types/internal/domain/publish/entity/publisher.d.ts +26 -0
- package/dist/types/internal/domain/publish/factory/publisher-factory.d.ts +17 -0
- package/dist/types/internal/domain/publish/repository/http-client.d.ts +21 -0
- package/dist/types/internal/domain/publish/repository/manifest-repository.d.ts +27 -0
- package/dist/types/internal/domain/publish/type.d.ts +49 -0
- package/dist/types/internal/domain/publish/value-object/ftp-publisher.d.ts +30 -0
- package/dist/types/internal/domain/publish/value-object/mdfriday-publisher.d.ts +57 -0
- package/dist/types/internal/domain/publish/value-object/netlify-publisher.d.ts +55 -0
- package/dist/types/internal/domain/publish/value-object/publish-config.d.ts +38 -0
- package/dist/types/internal/domain/publish/value-object/publish-manifest.d.ts +50 -0
- package/dist/types/internal/domain/resources/entity/http.d.ts +11 -0
- package/dist/types/internal/domain/resources/entity/integrity.d.ts +4 -0
- package/dist/types/internal/domain/resources/entity/minifier.d.ts +4 -0
- package/dist/types/internal/domain/resources/entity/publisher.d.ts +24 -0
- package/dist/types/internal/domain/resources/entity/resource.d.ts +4 -0
- package/dist/types/internal/domain/resources/entity/resources.d.ts +40 -0
- package/dist/types/internal/domain/resources/entity/template.d.ts +4 -0
- package/dist/types/internal/domain/resources/factory/resource.d.ts +4 -0
- package/dist/types/internal/domain/site/entity/language.d.ts +55 -0
- package/dist/types/internal/domain/site/entity/menu-builder.d.ts +50 -0
- package/dist/types/internal/domain/site/entity/navigation.d.ts +8 -0
- package/dist/types/internal/domain/site/entity/page.d.ts +88 -0
- package/dist/types/internal/domain/site/entity/pagegraph.d.ts +85 -0
- package/dist/types/internal/domain/site/entity/pager.d.ts +6 -0
- package/dist/types/internal/domain/site/entity/publisher.d.ts +26 -0
- package/dist/types/internal/domain/site/entity/ref.d.ts +27 -0
- package/dist/types/internal/domain/site/entity/site.d.ts +178 -0
- package/dist/types/internal/domain/site/factory/navigation-factory.d.ts +6 -0
- package/dist/types/internal/domain/site/factory/site.d.ts +4 -0
- package/dist/types/internal/domain/site/service/html-link-processor.d.ts +44 -0
- package/dist/types/internal/domain/site/type.d.ts +100 -0
- package/dist/types/internal/domain/site/valueobject/author.d.ts +16 -0
- package/dist/types/internal/domain/site/valueobject/baseurl.d.ts +39 -0
- package/dist/types/internal/domain/site/valueobject/menu.d.ts +49 -0
- package/dist/types/internal/domain/site/valueobject/organization.d.ts +37 -0
- package/dist/types/internal/domain/site/valueobject/path.d.ts +50 -0
- package/dist/types/internal/domain/site/valueobject/version.d.ts +14 -0
- package/dist/types/internal/domain/template/entity/executor.d.ts +22 -0
- package/dist/types/internal/domain/template/entity/lookup.d.ts +55 -0
- package/dist/types/internal/domain/template/entity/parser.d.ts +40 -0
- package/dist/types/internal/domain/template/entity/template.d.ts +87 -0
- package/dist/types/internal/domain/template/factory/template.d.ts +61 -0
- package/dist/types/internal/domain/template/type.d.ts +109 -0
- package/dist/types/internal/domain/template/vo/baseof.d.ts +47 -0
- package/dist/types/internal/domain/template/vo/info.d.ts +28 -0
- package/dist/types/internal/domain/template/vo/namespace.d.ts +91 -0
- package/dist/types/internal/domain/template/vo/registry.d.ts +160 -0
- package/dist/types/internal/domain/wiki/entity/concept.d.ts +31 -0
- package/dist/types/internal/domain/wiki/entity/connection.d.ts +29 -0
- package/dist/types/internal/domain/wiki/entity/conversation.d.ts +65 -0
- package/dist/types/internal/domain/wiki/entity/embedding-index.d.ts +60 -0
- package/dist/types/internal/domain/wiki/entity/entity.d.ts +32 -0
- package/dist/types/internal/domain/wiki/entity/knowledge-base.d.ts +292 -0
- package/dist/types/internal/domain/wiki/entity/operation-log.d.ts +82 -0
- package/dist/types/internal/domain/wiki/factory/wiki-factory.d.ts +41 -0
- package/dist/types/internal/domain/wiki/index.d.ts +22 -0
- package/dist/types/internal/domain/wiki/repository/conversation-repository.interface.d.ts +29 -0
- package/dist/types/internal/domain/wiki/repository/crypto-service.d.ts +16 -0
- package/dist/types/internal/domain/wiki/repository/embedding-provider.d.ts +12 -0
- package/dist/types/internal/domain/wiki/repository/file-system.d.ts +43 -0
- package/dist/types/internal/domain/wiki/repository/index.d.ts +14 -0
- package/dist/types/internal/domain/wiki/repository/kb-repository.interface.d.ts +30 -0
- package/dist/types/internal/domain/wiki/repository/llm-http-client.d.ts +40 -0
- package/dist/types/internal/domain/wiki/repository/llm-provider.d.ts +34 -0
- package/dist/types/internal/domain/wiki/repository/path-service.d.ts +32 -0
- package/dist/types/internal/domain/wiki/repository/wiki-page-repository.interface.d.ts +49 -0
- package/dist/types/internal/domain/wiki/value-object/connection-type.d.ts +24 -0
- package/dist/types/internal/domain/wiki/value-object/content-annotator.d.ts +61 -0
- package/dist/types/internal/domain/wiki/value-object/entity-id.d.ts +17 -0
- package/dist/types/internal/domain/wiki/value-object/entity-type.d.ts +24 -0
- package/dist/types/internal/domain/wiki/value-object/extraction-parser.d.ts +27 -0
- package/dist/types/internal/domain/wiki/value-object/extraction-result.d.ts +32 -0
- package/dist/types/internal/domain/wiki/value-object/retrieval.d.ts +228 -0
- package/dist/types/internal/domain/wiki/value-object/source-record.d.ts +17 -0
- package/dist/types/internal/domain/wiki/value-object/wiki-config.d.ts +40 -0
- package/dist/types/internal/domain/wiki/value-object/wiki-index-generator.d.ts +31 -0
- package/dist/types/internal/domain/wiki/value-object/wiki-page-renderer.d.ts +42 -0
- package/dist/types/internal/domain/workspace/entity/authentication.d.ts +29 -0
- package/dist/types/internal/domain/workspace/entity/project.d.ts +173 -0
- package/dist/types/internal/domain/workspace/entity/workspace.d.ts +85 -0
- package/dist/types/internal/domain/workspace/factory/workspace-factory.d.ts +107 -0
- package/dist/types/internal/domain/workspace/repository/file-system.d.ts +241 -0
- package/dist/types/internal/domain/workspace/repository/index.d.ts +6 -0
- package/dist/types/internal/domain/workspace/repository.d.ts +72 -0
- package/dist/types/internal/domain/workspace/type.d.ts +18 -0
- package/dist/types/internal/domain/workspace/value-object/folder-structure.d.ts +41 -0
- package/dist/types/internal/domain/workspace/value-object/project-metadata.d.ts +36 -0
- package/dist/types/internal/domain/workspace/value-object/workspace-metadata.d.ts +7 -0
- package/dist/types/internal/infrastructure/embedding/embedding-provider.interface.d.ts +33 -0
- package/dist/types/internal/infrastructure/embedding/index.d.ts +5 -0
- package/dist/types/internal/infrastructure/embedding/ollama-embedding-provider.d.ts +24 -0
- package/dist/types/internal/infrastructure/http/netlify-http-client.d.ts +20 -0
- package/dist/types/internal/infrastructure/http/node-http-client.d.ts +3 -0
- package/dist/types/internal/infrastructure/index.d.ts +8 -0
- package/dist/types/internal/infrastructure/llm/fetch-http-client.d.ts +24 -0
- package/dist/types/internal/infrastructure/llm/index.d.ts +6 -0
- package/dist/types/internal/infrastructure/llm/llm-config.d.ts +80 -0
- package/dist/types/internal/infrastructure/llm/lmstudio-provider.d.ts +55 -0
- package/dist/types/internal/infrastructure/llm/node-llm-http-client.d.ts +21 -0
- package/dist/types/internal/infrastructure/llm/ollama-provider.d.ts +17 -0
- package/dist/types/internal/infrastructure/llm/openai-compatible-provider.d.ts +70 -0
- package/dist/types/internal/infrastructure/llm/provider-factory.d.ts +36 -0
- package/dist/types/internal/infrastructure/llm/provider.d.ts +77 -0
- package/dist/types/internal/infrastructure/node/index.d.ts +11 -0
- package/dist/types/internal/infrastructure/node/node-conversation-repository.d.ts +21 -0
- package/dist/types/internal/infrastructure/node/node-crypto-service.d.ts +10 -0
- package/dist/types/internal/infrastructure/node/node-file-system.d.ts +29 -0
- package/dist/types/internal/infrastructure/node/node-kb-repository.d.ts +18 -0
- package/dist/types/internal/infrastructure/node/node-path-service.d.ts +14 -0
- package/dist/types/internal/infrastructure/node/node-wiki-page-repository.d.ts +25 -0
- package/dist/types/internal/infrastructure/persistence/node-file-system.d.ts +8 -0
- package/dist/types/internal/infrastructure/persistence/node-manifest-repository.d.ts +31 -0
- package/dist/types/internal/infrastructure/persistence/node-snapshot-repository.d.ts +28 -0
- package/dist/types/internal/infrastructure/persistence/node-workspace-repository.d.ts +9 -0
- package/dist/types/pkg/cahce/cache.d.ts +56 -0
- package/dist/types/pkg/lang/data.d.ts +21 -0
- package/dist/types/pkg/lang/index.d.ts +46 -0
- package/dist/types/pkg/lang/service.d.ts +49 -0
- package/dist/types/pkg/lang/types.d.ts +29 -0
- package/dist/types/pkg/log/http.d.ts +16 -0
- package/dist/types/pkg/log/manager.d.ts +57 -0
- package/dist/types/pkg/maps/scratch.d.ts +25 -0
- package/dist/types/pkg/md/parser/item.d.ts +3 -3
- package/dist/types/pkg/media/type.d.ts +19 -0
- package/dist/types/pkg/page-filter/index.d.ts +29 -0
- package/dist/types/pkg/paths/index.d.ts +9 -0
- package/dist/types/pkg/text/index.d.ts +4 -0
- package/dist/types/pkg/web/server/livereload-server.d.ts +7 -0
- package/dist/types/pkg/web/watcher/content-file-watcher.d.ts +3 -0
- package/package.json +21 -15
- package/dist/types/index.d.ts +0 -20
- package/dist/types/internal/interfaces/obsidian/adapters/identity-adapter.d.ts +0 -5
- package/dist/types/internal/interfaces/obsidian/adapters/index.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/adapters/workspace-adapter.d.ts +0 -8
- package/dist/types/internal/interfaces/obsidian/desktop/adapters/identity-adapter.d.ts +0 -6
- package/dist/types/internal/interfaces/obsidian/desktop/adapters/index.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/desktop/adapters/workspace-adapter.d.ts +0 -12
- package/dist/types/internal/interfaces/obsidian/desktop/container.d.ts +0 -7
- package/dist/types/internal/interfaces/obsidian/desktop/index.d.ts +0 -22
- package/dist/types/internal/interfaces/obsidian/index.d.ts +0 -7
- package/dist/types/internal/interfaces/obsidian/mobile/adapters/identity-adapter.d.ts +0 -9
- package/dist/types/internal/interfaces/obsidian/mobile/adapters/index.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/mobile/adapters/workspace-adapter.d.ts +0 -13
- package/dist/types/internal/interfaces/obsidian/mobile/config-types.d.ts +0 -13
- package/dist/types/internal/interfaces/obsidian/mobile/container.d.ts +0 -6
- package/dist/types/internal/interfaces/obsidian/mobile/index.d.ts +0 -16
- package/dist/types/internal/interfaces/obsidian/mobile.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/services/auth.service.d.ts +0 -11
- package/dist/types/internal/interfaces/obsidian/services/build.service.d.ts +0 -9
- package/dist/types/internal/interfaces/obsidian/services/config.service.d.ts +0 -31
- package/dist/types/internal/interfaces/obsidian/services/domain.service.d.ts +0 -15
- package/dist/types/internal/interfaces/obsidian/services/license.service.d.ts +0 -22
- package/dist/types/internal/interfaces/obsidian/services/project.service.d.ts +0 -17
- package/dist/types/internal/interfaces/obsidian/services/publish.service.d.ts +0 -11
- package/dist/types/internal/interfaces/obsidian/services/serve.service.d.ts +0 -18
- package/dist/types/internal/interfaces/obsidian/services/workspace.service.d.ts +0 -10
- package/dist/types/internal/interfaces/obsidian/types/auth.d.ts +0 -27
- package/dist/types/internal/interfaces/obsidian/types/build.d.ts +0 -23
- package/dist/types/internal/interfaces/obsidian/types/config.d.ts +0 -16
- package/dist/types/internal/interfaces/obsidian/types/domain.d.ts +0 -46
- package/dist/types/internal/interfaces/obsidian/types/index.d.ts +0 -9
- package/dist/types/internal/interfaces/obsidian/types/license.d.ts +0 -87
- package/dist/types/internal/interfaces/obsidian/types/project.d.ts +0 -56
- package/dist/types/internal/interfaces/obsidian/types/publish.d.ts +0 -33
- package/dist/types/internal/interfaces/obsidian/types/serve.d.ts +0 -46
- package/dist/types/internal/interfaces/obsidian/types/workspace.d.ts +0 -27
- package/dist/types/pkg/log/browser-manager.d.ts +0 -20
- package/dist/types/pkg/log/browser.d.ts +0 -25
- package/dist/types/pkg/media/buildin.d.ts +0 -3
|
@@ -11,6 +11,10 @@ import { Organization } from '../valueobject/organization';
|
|
|
11
11
|
import { TaxonomyList } from "@internal/domain/site/entity/taxonomies-builder";
|
|
12
12
|
import { Menus } from "@internal/domain/site/valueobject/menu";
|
|
13
13
|
import { PageGraph } from './pagegraph';
|
|
14
|
+
/**
|
|
15
|
+
* Site - TypeScript equivalent of Go's Site entity
|
|
16
|
+
* Main site management class
|
|
17
|
+
*/
|
|
14
18
|
export declare class Site {
|
|
15
19
|
private configSvc;
|
|
16
20
|
private contentSvc;
|
|
@@ -47,18 +51,54 @@ export declare class Site {
|
|
|
47
51
|
Pages(): Promise<Page[]>;
|
|
48
52
|
RegularPages(): Promise<Page[]>;
|
|
49
53
|
constructor(configSvc: ConfigService, contentSvc: ContentService, translationSvc: TranslationService, languageSvc: LanguageService, sitemap: SitemapService, staticCopySvc: FsService, publisher: Publisher, author: Author, organization: Organization, compiler: Compiler, url: URL, ref: Ref | null, language: Language, navigation: Navigation | null, title: string);
|
|
54
|
+
/**
|
|
55
|
+
* Build site
|
|
56
|
+
* TypeScript equivalent of Build method from Go
|
|
57
|
+
*/
|
|
50
58
|
build(template: Template): Promise<void>;
|
|
51
59
|
renderAllLanguages(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Build site with progress callbacks
|
|
62
|
+
* TypeScript equivalent of Build method from Go with progress tracking
|
|
63
|
+
*/
|
|
52
64
|
buildWithProgress(template: Template, onProgress?: (progress: {
|
|
53
65
|
currentPage: number;
|
|
54
66
|
totalPages: number;
|
|
55
67
|
}) => void): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Setup site before rendering
|
|
70
|
+
* TypeScript equivalent of setup method from Go
|
|
71
|
+
*/
|
|
56
72
|
private setup;
|
|
73
|
+
/**
|
|
74
|
+
* Render all pages
|
|
75
|
+
* TypeScript equivalent of render method from Go
|
|
76
|
+
*/
|
|
57
77
|
render(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Render all pages with progress tracking
|
|
80
|
+
* TypeScript equivalent of render method from Go with progress callbacks
|
|
81
|
+
*/
|
|
58
82
|
private renderWithProgress;
|
|
83
|
+
/**
|
|
84
|
+
* Render pages for current language
|
|
85
|
+
* TypeScript equivalent of renderPages method from Go
|
|
86
|
+
* 支持增量构建:根据环境变量判断是否只渲染 stale 页面
|
|
87
|
+
*/
|
|
59
88
|
private renderPages;
|
|
89
|
+
/**
|
|
90
|
+
* Render pages for current language with progress tracking
|
|
91
|
+
* TypeScript equivalent of renderPages method from Go with progress callbacks
|
|
92
|
+
*/
|
|
60
93
|
private renderPagesWithProgress;
|
|
94
|
+
/**
|
|
95
|
+
* Get page output (simplified implementation)
|
|
96
|
+
* TypeScript equivalent of pageOutput method from Go
|
|
97
|
+
*/
|
|
61
98
|
private pageOutput;
|
|
99
|
+
/**
|
|
100
|
+
* Clear site cache (simplified implementation)
|
|
101
|
+
*/
|
|
62
102
|
private clearSiteCache;
|
|
63
103
|
translate(translationID: string): string;
|
|
64
104
|
get Home(): Page | null;
|
|
@@ -67,40 +107,178 @@ export declare class Site {
|
|
|
67
107
|
get Menus(): Menus;
|
|
68
108
|
getTitle(): string;
|
|
69
109
|
setTitle(title: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Get configuration service
|
|
112
|
+
*/
|
|
70
113
|
getConfigService(): ConfigService;
|
|
114
|
+
/**
|
|
115
|
+
* Get content service
|
|
116
|
+
*/
|
|
71
117
|
getContentService(): ContentService;
|
|
118
|
+
/**
|
|
119
|
+
* Get language service
|
|
120
|
+
*/
|
|
72
121
|
getLanguageService(): LanguageService;
|
|
122
|
+
/**
|
|
123
|
+
* Get base URL
|
|
124
|
+
* Provides the base URL service without exposing internal URL object
|
|
125
|
+
*/
|
|
73
126
|
baseURL(): string;
|
|
74
127
|
get BaseURL(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Get URL handler
|
|
130
|
+
*/
|
|
75
131
|
getURL(): URL;
|
|
132
|
+
/**
|
|
133
|
+
* Get reference handler
|
|
134
|
+
*/
|
|
76
135
|
getRef(): Ref;
|
|
136
|
+
/**
|
|
137
|
+
* Get language handler
|
|
138
|
+
*/
|
|
77
139
|
getLanguage(): Language;
|
|
78
140
|
get Language(): Language;
|
|
79
141
|
get LanguageCode(): string;
|
|
80
142
|
get Languages(): Language[];
|
|
143
|
+
/**
|
|
144
|
+
* Get navigation handler
|
|
145
|
+
*/
|
|
81
146
|
getNavigation(): Navigation;
|
|
147
|
+
/**
|
|
148
|
+
* Get publisher
|
|
149
|
+
*/
|
|
82
150
|
getPublisher(): Publisher;
|
|
151
|
+
/**
|
|
152
|
+
* Get template
|
|
153
|
+
*/
|
|
83
154
|
getTemplate(): Template | null;
|
|
84
155
|
get Author(): Author;
|
|
85
156
|
get Organization(): Organization;
|
|
157
|
+
/**
|
|
158
|
+
* Get compiler info
|
|
159
|
+
*/
|
|
86
160
|
getCompiler(): Compiler;
|
|
161
|
+
/**
|
|
162
|
+
* Get sitemap service
|
|
163
|
+
*/
|
|
87
164
|
getSitemap(): SitemapService;
|
|
165
|
+
/**
|
|
166
|
+
* Check if site is multi-language
|
|
167
|
+
*/
|
|
88
168
|
isMultipleLanguage(): boolean;
|
|
89
169
|
get IsMultilingual(): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Get current language
|
|
172
|
+
*/
|
|
90
173
|
getCurrentLanguage(): string;
|
|
174
|
+
/**
|
|
175
|
+
* Get language prefix for URLs
|
|
176
|
+
*/
|
|
91
177
|
languagePrefix(): string;
|
|
178
|
+
/**
|
|
179
|
+
* Site page factory method - convert content page to site page
|
|
180
|
+
*/
|
|
92
181
|
sitePage(target: ContentPage): Promise<Page>;
|
|
182
|
+
/**
|
|
183
|
+
* Convert array of content pages to array of site pages
|
|
184
|
+
* TypeScript equivalent of Go's sitePages method
|
|
185
|
+
*/
|
|
93
186
|
private sitePages;
|
|
187
|
+
/**
|
|
188
|
+
* Create site page from content page (synchronous version)
|
|
189
|
+
* TypeScript equivalent of Go's site page creation
|
|
190
|
+
*/
|
|
94
191
|
sitePageSync(contentPage: ContentPage): Page;
|
|
192
|
+
/**
|
|
193
|
+
* Pre-generate menus for all languages
|
|
194
|
+
* This ensures menus are cached before page rendering begins
|
|
195
|
+
*/
|
|
95
196
|
private generateNavigations;
|
|
197
|
+
/**
|
|
198
|
+
* Get page by path
|
|
199
|
+
* TypeScript equivalent of Go's GetPage method
|
|
200
|
+
* Made synchronous to match template function requirements
|
|
201
|
+
*/
|
|
96
202
|
GetPage(...ref: string[]): Page | null;
|
|
203
|
+
/**
|
|
204
|
+
* Copy static files to publish directory
|
|
205
|
+
* This is a core business capability of the Site entity
|
|
206
|
+
*/
|
|
97
207
|
copyStaticFiles(): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Create site weighted page from ordinal weight page
|
|
210
|
+
* TypeScript equivalent of Go's siteWeightedPage method
|
|
211
|
+
*/
|
|
98
212
|
siteWeightedPage(ordinalWeightPage: any): Promise<any>;
|
|
213
|
+
/**
|
|
214
|
+
* Build PageGraph from all pages and resources
|
|
215
|
+
* Called during site setup phase (before rendering)
|
|
216
|
+
*
|
|
217
|
+
* Following Quartz's approach (build.ts Line 74-82):
|
|
218
|
+
* - Collects ALL files: pages + page resources (images, videos, etc.)
|
|
219
|
+
* - Includes resource files in allSlugs
|
|
220
|
+
* - Enables "shortest" link resolution strategy for resources
|
|
221
|
+
*/
|
|
99
222
|
private buildPageGraph;
|
|
223
|
+
/**
|
|
224
|
+
* Collect resource slugs from all pages
|
|
225
|
+
* Uses existing page resources (images, videos, etc. associated with pages)
|
|
226
|
+
*
|
|
227
|
+
* @param pages - All pages to collect resources from
|
|
228
|
+
* @returns Array of resource slugs (e.g., ["images/pic.png", "videos/demo.mp4"])
|
|
229
|
+
*/
|
|
100
230
|
private collectResourceSlugs;
|
|
231
|
+
/**
|
|
232
|
+
* Process wikilinks in HTML content (ASYNC - template engine supports it!)
|
|
233
|
+
* This method is exposed to templates for wikilink resolution
|
|
234
|
+
*
|
|
235
|
+
* @param srcSlug - Source page slug (e.g., "posts/my-post")
|
|
236
|
+
* @param html - HTML content with wikilinks
|
|
237
|
+
* @returns HTML with resolved wikilinks
|
|
238
|
+
*
|
|
239
|
+
* Usage in template:
|
|
240
|
+
* {{ .Site.ProcessWikilinks .Page.Slug .Content }}
|
|
241
|
+
*
|
|
242
|
+
* Note: Foundry's template engine supports async methods, similar to
|
|
243
|
+
* other async methods on Site and Page instances.
|
|
244
|
+
*/
|
|
101
245
|
ProcessWikilinks(srcSlug: string, html: string): Promise<string>;
|
|
246
|
+
/**
|
|
247
|
+
* Get PageGraph instance (for debugging/testing)
|
|
248
|
+
*/
|
|
102
249
|
getPageGraph(): PageGraph | null;
|
|
250
|
+
/**
|
|
251
|
+
* Get backlinks for a specific page
|
|
252
|
+
* This method is exposed to templates for backlinks display
|
|
253
|
+
* Uses global cache for better performance
|
|
254
|
+
*
|
|
255
|
+
* @param targetSlug - Target page slug (e.g., "posts/my-post")
|
|
256
|
+
* @returns Array of source page slugs that link to target
|
|
257
|
+
*
|
|
258
|
+
* Usage in template:
|
|
259
|
+
* {{ $backlinks := .Site.GetBacklinks .Page.Slug }}
|
|
260
|
+
*
|
|
261
|
+
* Based on Quartz Backlinks.tsx line 27:
|
|
262
|
+
* const backlinkFiles = allFiles.filter((file) => file.links?.includes(slug))
|
|
263
|
+
*/
|
|
103
264
|
GetBacklinks(targetSlug: string): string[];
|
|
265
|
+
/**
|
|
266
|
+
* Build backlinks cache for all pages
|
|
267
|
+
* Called after wikilink processing is complete
|
|
268
|
+
*/
|
|
104
269
|
buildBacklinksCache(pages: ContentPage[]): Promise<void>;
|
|
270
|
+
/**
|
|
271
|
+
* Generate contentIndex data for Graph visualization
|
|
272
|
+
* Based on Quartz contentIndex.tsx
|
|
273
|
+
*
|
|
274
|
+
* Returns a map of slug → content details including:
|
|
275
|
+
* - slug: Full page slug
|
|
276
|
+
* - title: Page title
|
|
277
|
+
* - links: Array of outgoing links (simplified slugs)
|
|
278
|
+
* - tags: Array of page tags
|
|
279
|
+
* - content: Page plain text content (truncated for performance)
|
|
280
|
+
*
|
|
281
|
+
* This data is used by the Graph component to render the knowledge graph
|
|
282
|
+
*/
|
|
105
283
|
GetContentIndex(): Promise<Map<string, any>>;
|
|
106
284
|
}
|
|
@@ -6,6 +6,12 @@ export declare class NavigationFactory {
|
|
|
6
6
|
private readonly contentService;
|
|
7
7
|
private readonly site;
|
|
8
8
|
constructor(langService: LanguageService, contentService: ContentService, site: Site);
|
|
9
|
+
/**
|
|
10
|
+
* Create a Navigation entity with menu building capabilities
|
|
11
|
+
*/
|
|
9
12
|
createNavigation(): Navigation;
|
|
10
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Create navigation factory instance
|
|
16
|
+
*/
|
|
11
17
|
export declare function createNavigationFactory(langService: LanguageService, contentService: ContentService, site: Site): NavigationFactory;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { Site } from '../entity/site';
|
|
2
2
|
import { Services } from '../type';
|
|
3
|
+
/**
|
|
4
|
+
* Create new Site instance with enhanced Navigation (including menu building)
|
|
5
|
+
* TypeScript equivalent of New function from Go
|
|
6
|
+
*/
|
|
3
7
|
export declare function newSite(services: Services): Site;
|
|
@@ -1,20 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML Link Processor Service - Pass 2 link resolution
|
|
3
|
+
* Based on Quartz CrawlLinks transformer
|
|
4
|
+
* Source: quartz-src/quartz/plugins/transformers/links.ts
|
|
5
|
+
*
|
|
6
|
+
* This service processes HTML output from markdown rendering (Pass 1)
|
|
7
|
+
* and resolves all internal links using PageGraph knowledge.
|
|
8
|
+
*/
|
|
1
9
|
import { PageGraph } from '../entity/pagegraph';
|
|
2
10
|
import { LinkStrategy } from '../valueobject/path';
|
|
3
11
|
export interface LinkProcessorOptions {
|
|
12
|
+
/** Link resolution strategy */
|
|
4
13
|
markdownLinkResolution: LinkStrategy;
|
|
14
|
+
/** Strip folders from link display */
|
|
5
15
|
prettyLinks: boolean;
|
|
16
|
+
/** Open external links in new tab */
|
|
6
17
|
openLinksInNewTab: boolean;
|
|
18
|
+
/** Lazy load images */
|
|
7
19
|
lazyLoad: boolean;
|
|
20
|
+
/** Add icon to external links */
|
|
8
21
|
externalLinkIcon: boolean;
|
|
22
|
+
/** Base URL for resolving links (e.g., "/public" or "") */
|
|
9
23
|
baseURL?: string;
|
|
10
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* HtmlLinkProcessor - Process HTML links (Pass 2)
|
|
27
|
+
* Based on Quartz CrawlLinks plugin (lines 35-168)
|
|
28
|
+
*
|
|
29
|
+
* This processor:
|
|
30
|
+
* 1. Finds all <a> tags in HTML
|
|
31
|
+
* 2. Resolves internal links using PageGraph
|
|
32
|
+
* 3. Adds appropriate CSS classes (internal/external/broken)
|
|
33
|
+
* 4. Transforms media resource URLs (img, video, audio)
|
|
34
|
+
* 5. Optionally adds external link icons
|
|
35
|
+
* 6. Handles pretty links (show only filename)
|
|
36
|
+
*/
|
|
11
37
|
export declare class HtmlLinkProcessor {
|
|
12
38
|
private graph;
|
|
13
39
|
private options;
|
|
14
40
|
constructor(graph: PageGraph, options?: Partial<LinkProcessorOptions>);
|
|
41
|
+
/**
|
|
42
|
+
* Process all links in HTML (main entry point)
|
|
43
|
+
*
|
|
44
|
+
* @param srcSlug - Source page slug (e.g., "posts/my-post")
|
|
45
|
+
* @param html - HTML content from Pass 1
|
|
46
|
+
* @returns Object with processed HTML and outgoing links
|
|
47
|
+
*
|
|
48
|
+
* Example:
|
|
49
|
+
* ```ts
|
|
50
|
+
* const processor = new HtmlLinkProcessor(pageGraph)
|
|
51
|
+
* const html = '<a data-slug="page">Page</a>'
|
|
52
|
+
* const result = await processor.processLinks("posts/a", html)
|
|
53
|
+
* // result: { html: '<a href="../page" class="internal">Page</a>', outgoingLinks: ['page'] }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
15
56
|
processLinks(srcSlug: string, html: string): Promise<{
|
|
16
57
|
html: string;
|
|
17
58
|
outgoingLinks: string[];
|
|
18
59
|
}>;
|
|
19
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Factory function to create HtmlLinkProcessor
|
|
63
|
+
*/
|
|
20
64
|
export declare function createHtmlLinkProcessor(graph: PageGraph, options?: Partial<LinkProcessorOptions>): HtmlLinkProcessor;
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { Page as ContentPage, PageSource, WalkTaxonomyFunc } from '../content/type';
|
|
2
2
|
import { ReadableStream } from 'stream/web';
|
|
3
3
|
import { Fs } from '../fs/type';
|
|
4
|
+
/**
|
|
5
|
+
* Services - TypeScript equivalent of Go's Services interface
|
|
6
|
+
* Main service aggregation interface
|
|
7
|
+
*/
|
|
4
8
|
export interface Services extends ContentService, TranslationService, ResourceService, LanguageService, FsService, URLService, ConfigService, SitemapService {
|
|
5
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* ConfigService - TypeScript equivalent of Go's ConfigService
|
|
12
|
+
*/
|
|
6
13
|
export interface ConfigService {
|
|
7
14
|
configParams(): Record<string, any>;
|
|
8
15
|
siteTitle(): string;
|
|
@@ -19,6 +26,9 @@ export interface ConfigService {
|
|
|
19
26
|
getSocialLink(platformId: string): string;
|
|
20
27
|
getSocialTitle(platformId: string): string;
|
|
21
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* ContentService - TypeScript equivalent of Go's ContentService
|
|
31
|
+
*/
|
|
22
32
|
export interface ContentService {
|
|
23
33
|
walkPages(langIndex: number, walker: WalkFunc): Promise<void>;
|
|
24
34
|
getPageSources(page: ContentPage): Promise<PageSource[]>;
|
|
@@ -30,19 +40,31 @@ export interface ContentService {
|
|
|
30
40
|
getPageFromPathSync(langIndex: number, path: string): ContentPage | null;
|
|
31
41
|
getPageRef(context: ContentPage, ref: string, home: ContentPage): Promise<ContentPage | null>;
|
|
32
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* TranslationService - TypeScript equivalent of Go's TranslationService
|
|
45
|
+
*/
|
|
33
46
|
export interface TranslationService {
|
|
34
47
|
translate(lang: string, translationID: string): string;
|
|
35
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* ResourceService - TypeScript equivalent of Go's ResourceService
|
|
51
|
+
*/
|
|
36
52
|
export interface ResourceService {
|
|
37
53
|
getResource(path: string): Promise<Resource | null>;
|
|
38
54
|
getResourceWithOpener(path: string, opener: OpenReadSeekCloser): Promise<Resource>;
|
|
39
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* LanguageService - TypeScript equivalent of Go's LanguageService
|
|
58
|
+
*/
|
|
40
59
|
export interface LanguageService {
|
|
41
60
|
defaultLanguage(): string;
|
|
42
61
|
languageKeys(): string[];
|
|
43
62
|
getLanguageIndex(lang: string): number;
|
|
44
63
|
getLanguageName(lang: string): string;
|
|
45
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* SitemapService - TypeScript equivalent of Go's SitemapService
|
|
67
|
+
*/
|
|
46
68
|
export interface SitemapService {
|
|
47
69
|
changeFreq(): string;
|
|
48
70
|
priority(): number;
|
|
@@ -50,72 +72,126 @@ export interface SitemapService {
|
|
|
50
72
|
urls: any[];
|
|
51
73
|
}>;
|
|
52
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Walk function types
|
|
77
|
+
*/
|
|
53
78
|
export type WalkFunc = (page: ContentPage) => Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Menu - TypeScript equivalent of Go's Menu interface
|
|
81
|
+
*/
|
|
54
82
|
export interface Menu {
|
|
55
83
|
name(): string;
|
|
56
84
|
url(): string;
|
|
57
85
|
weight(): number;
|
|
58
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Resource interface
|
|
89
|
+
*/
|
|
59
90
|
export interface Resource {
|
|
60
91
|
name(): string;
|
|
61
92
|
readSeekCloser(): Promise<ReadableStream<Uint8Array>>;
|
|
62
93
|
targetPath(): string;
|
|
63
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* OpenReadSeekCloser - TypeScript equivalent of Go's io.OpenReadSeekCloser
|
|
97
|
+
*/
|
|
64
98
|
export type OpenReadSeekCloser = () => Promise<ReadableStream<Uint8Array>>;
|
|
99
|
+
/**
|
|
100
|
+
* FsService - TypeScript equivalent of Go's FsService
|
|
101
|
+
*/
|
|
65
102
|
export interface FsService {
|
|
66
103
|
publishFs(): Fs;
|
|
67
104
|
staticFs(): Fs;
|
|
68
105
|
copyStaticFiles(from: Fs, to: Fs): Promise<void>;
|
|
69
106
|
workingDir(): string;
|
|
70
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* URLService - TypeScript equivalent of Go's URLService
|
|
110
|
+
*/
|
|
71
111
|
export interface URLService {
|
|
72
112
|
baseUrl(): string;
|
|
73
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Author interface
|
|
116
|
+
*/
|
|
74
117
|
export interface Author {
|
|
75
118
|
name(): string;
|
|
76
119
|
email(): string;
|
|
77
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Organization interface
|
|
123
|
+
*/
|
|
78
124
|
export interface Organization {
|
|
79
125
|
name(): string;
|
|
80
126
|
description(): string;
|
|
81
127
|
website(): string;
|
|
82
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Compiler interface
|
|
131
|
+
*/
|
|
83
132
|
export interface Compiler {
|
|
84
133
|
version(): string;
|
|
85
134
|
environment(): string;
|
|
86
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Site interface - minimal implementation for dependencies
|
|
138
|
+
*/
|
|
87
139
|
export interface Site {
|
|
88
140
|
currentLanguage: string;
|
|
89
141
|
baseURL(): string;
|
|
90
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* RefArgs interface - TypeScript equivalent of valueobject.RefArgs
|
|
145
|
+
*/
|
|
91
146
|
export interface RefArgs {
|
|
92
147
|
path: string;
|
|
93
148
|
outputFormat: string;
|
|
94
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* RefSite interface for Ref dependencies
|
|
152
|
+
*/
|
|
95
153
|
export interface RefSite {
|
|
96
154
|
home: {
|
|
97
155
|
page: ContentPage;
|
|
98
156
|
};
|
|
99
157
|
sitePage(target: ContentPage): Promise<SitePage>;
|
|
100
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* SitePage interface with permalink methods
|
|
161
|
+
*/
|
|
101
162
|
export interface SitePage {
|
|
102
163
|
relPermalink(): string;
|
|
103
164
|
permalink(): string;
|
|
104
165
|
path?(): string;
|
|
105
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* PageWrapper interface
|
|
169
|
+
*/
|
|
106
170
|
export interface PageWrapper {
|
|
107
171
|
unwrapPage(): ContentPage;
|
|
108
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Position interface for error reporting
|
|
175
|
+
*/
|
|
109
176
|
export interface Position {
|
|
110
177
|
isValid(): boolean;
|
|
111
178
|
toString(): string;
|
|
112
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Positioner interface
|
|
182
|
+
*/
|
|
113
183
|
export interface Positioner {
|
|
114
184
|
position(): Position;
|
|
115
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Menus interface - TypeScript equivalent of valueobject.Menus
|
|
188
|
+
*/
|
|
116
189
|
export interface Menus {
|
|
117
190
|
[key: string]: any;
|
|
118
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* BaseURL interface
|
|
194
|
+
*/
|
|
119
195
|
export interface BaseURL {
|
|
120
196
|
protocol(): string;
|
|
121
197
|
host(): string;
|
|
@@ -126,6 +202,9 @@ export interface BaseURL {
|
|
|
126
202
|
getRoot(path: string): string;
|
|
127
203
|
basePathNoTrailingSlash: string;
|
|
128
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* URLSite interface
|
|
207
|
+
*/
|
|
129
208
|
export interface URLSite {
|
|
130
209
|
baseURL(): BaseURL;
|
|
131
210
|
absURL(input: string): string;
|
|
@@ -134,19 +213,31 @@ export interface URLSite {
|
|
|
134
213
|
languagePrefix(): string;
|
|
135
214
|
isMultipleLanguage(): boolean;
|
|
136
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Language - TypeScript equivalent of Go's Language interface
|
|
218
|
+
*/
|
|
137
219
|
export interface Language {
|
|
138
220
|
location(): string;
|
|
139
221
|
collator(): Collator;
|
|
140
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* Collator interface for string comparison
|
|
225
|
+
*/
|
|
141
226
|
export interface Collator {
|
|
142
227
|
compare(a: string, b: string): number;
|
|
143
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* URL - TypeScript equivalent of Go's URL interface
|
|
231
|
+
*/
|
|
144
232
|
export interface URL {
|
|
145
233
|
base: string;
|
|
146
234
|
absURL(input: string): string;
|
|
147
235
|
relURL(input: string): string;
|
|
148
236
|
urlize(uri: string): string;
|
|
149
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Template - TypeScript equivalent of Go's Template interface
|
|
240
|
+
*/
|
|
150
241
|
export interface Template {
|
|
151
242
|
lookupLayout(names: string[]): Promise<{
|
|
152
243
|
preparer: TemplatePreparer;
|
|
@@ -154,12 +245,21 @@ export interface Template {
|
|
|
154
245
|
}>;
|
|
155
246
|
executeWithContext(preparer: TemplatePreparer, data: any): Promise<string>;
|
|
156
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* TemplatePreparer interface
|
|
250
|
+
*/
|
|
157
251
|
export interface TemplatePreparer {
|
|
158
252
|
name(): string;
|
|
159
253
|
execute(data: any): Promise<string>;
|
|
160
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* ContentSpec - TypeScript equivalent of Go's ContentSpec
|
|
257
|
+
*/
|
|
161
258
|
export interface ContentSpec {
|
|
162
259
|
preparePages(): Promise<void>;
|
|
163
260
|
renderPages(handler: RenderHandler): Promise<void>;
|
|
164
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* RenderHandler function type
|
|
264
|
+
*/
|
|
165
265
|
export type RenderHandler = (kind: string, sections: string[], dir: string, name: string, content: string) => Promise<void>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Author as ContentAuthor } from '@internal/domain/content';
|
|
2
|
+
/**
|
|
3
|
+
* Social link item with ID and Link properties
|
|
4
|
+
*/
|
|
2
5
|
export interface SocialLink {
|
|
3
6
|
ID: string;
|
|
4
7
|
Link: string;
|
|
@@ -8,13 +11,26 @@ export declare class Author {
|
|
|
8
11
|
private readonly _email;
|
|
9
12
|
private _homeAuthor;
|
|
10
13
|
constructor(name: string, email: string);
|
|
14
|
+
/**
|
|
15
|
+
* Get author name
|
|
16
|
+
*/
|
|
11
17
|
name(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get author email
|
|
20
|
+
*/
|
|
12
21
|
email(): string;
|
|
13
22
|
author(author: ContentAuthor | undefined): Author;
|
|
14
23
|
get Name(): string;
|
|
15
24
|
get Description(): string;
|
|
16
25
|
get Avatar(): string;
|
|
17
26
|
get Twitter(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Get all social links as array of objects with ID and Link properties
|
|
29
|
+
*/
|
|
18
30
|
get Socials(): SocialLink[];
|
|
19
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Factory function to create new Author
|
|
34
|
+
* TypeScript equivalent of NewAuthor function from Go
|
|
35
|
+
*/
|
|
20
36
|
export declare function newAuthor(name: string, email: string): Author;
|
|
@@ -7,18 +7,57 @@ export declare class BaseURL {
|
|
|
7
7
|
readonly basePathNoTrailingSlash: string;
|
|
8
8
|
readonly isRelative: boolean;
|
|
9
9
|
private constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new BaseURL instance from a string.
|
|
12
|
+
* Supports various formats:
|
|
13
|
+
* - Absolute URLs: https://example.com/, https://example.com/public/
|
|
14
|
+
* - Relative paths: /public/, /
|
|
15
|
+
* - Protocol-relative URLs: //example.com/
|
|
16
|
+
*/
|
|
10
17
|
static fromString(baseUrl: string): BaseURL;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the appropriate root URL based on the path.
|
|
20
|
+
*/
|
|
11
21
|
getRoot(path: string): string;
|
|
12
22
|
toString(): string;
|
|
13
23
|
path(): string;
|
|
14
24
|
port(): number;
|
|
25
|
+
/**
|
|
26
|
+
* Returns the URL to the host root without any path elements.
|
|
27
|
+
*/
|
|
15
28
|
hostURL(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the protocol (scheme) of the URL.
|
|
31
|
+
*/
|
|
16
32
|
protocol(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the host (hostname + port) of the URL.
|
|
35
|
+
*/
|
|
17
36
|
host(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the hostname of the URL.
|
|
39
|
+
*/
|
|
18
40
|
hostname(): string;
|
|
41
|
+
/**
|
|
42
|
+
* Returns a copy of the internal URL.
|
|
43
|
+
* The copy can be safely used and modified.
|
|
44
|
+
*/
|
|
19
45
|
getURL(): URL;
|
|
46
|
+
/**
|
|
47
|
+
* Returns the BaseURL prefixed with the given protocol.
|
|
48
|
+
* The Protocol is normally of the form "scheme://", i.e. "webcal://".
|
|
49
|
+
*/
|
|
20
50
|
withProtocol(protocol: string): BaseURL;
|
|
51
|
+
/**
|
|
52
|
+
* Returns a new BaseURL with the specified port.
|
|
53
|
+
*/
|
|
21
54
|
withPort(port: number): BaseURL;
|
|
55
|
+
/**
|
|
56
|
+
* Checks if this BaseURL is relative (path-only).
|
|
57
|
+
*/
|
|
22
58
|
isRelativeURL(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Checks if this BaseURL is absolute (has protocol and host).
|
|
61
|
+
*/
|
|
23
62
|
isAbsoluteURL(): boolean;
|
|
24
63
|
}
|