Library #
Library is the reactive wrapper around a LibraryJson. It's
constructed from the package.json subset 'virtual:pkg.json' served by vite_plugin_pkg_json plus the analyzed modules from virtual:svelte-docinfo.
import {library_json_from_modules} from '@fuzdev/fuz_util/library_json.js';
import {Library} from '@fuzdev/fuz_ui/library.svelte.js';
import {modules} from 'virtual:svelte-docinfo';
import pkg_json from 'virtual:pkg.json';
const library_json = library_json_from_modules(pkg_json, modules);
const library = new Library(library_json); Set it into library_context at the docs layout. Docs reads it for
navigation, and LibraryDetail and LibrarySummary render
it:
<!-- src/routes/docs/+layout.svelte -->
<script lang="ts">
import {Library, library_context} from '@fuzdev/fuz_ui/library.svelte.js';
import {library_json} from '$routes/library.js';
library_context.set(new Library(library_json));
</script> These docs you're reading are the live example. fuz_ui sets its own Library as described above. See Docs for the surrounding layout, and LibraryDetail/LibrarySummary for the components that render it.