@ng-doc/core
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
53 lines (52 loc) • 1.98 kB
TypeScript
import { Component, Type } from '@angular/core';
import { NgDocBaseEntity } from './base-entity';
import { NgDocCategory } from './category';
import { NgDocPlaygroundConfig } from './playground-config';
/**
* Page configuration interface, that should be used to describe configuration of the page
*/
export interface NgDocPage extends NgDocBaseEntity {
/**
* Path to the page markdown file
*/
mdFile: string | string[];
/**
* The page category
*/
category?: NgDocCategory;
/**
* Render the page only for specific build configuration
*/
onlyForTags?: string[];
/**
* Any custom data that you can provide for the page and use on it via `NgDocPage.data`
*/
data?: unknown;
/**
* Import Angular dependencies for the page.
* If you are using standalone components for demos and playgrounds, you don't need to import anything.
*/
imports?: Component['imports'];
/**
* List of providers for the page they will be available for all components on the page
*/
providers?: Component['providers'];
/**
* The page demo components should be on object where key it's
* the component's class name and value it's class constructor
*/
demos?: Record<string, Type<unknown> | any>;
/**
* The page playgrounds should be on object where key it's the
* playground's name and value its playground configuration
*/
playgrounds?: Record<string, NgDocPlaygroundConfig>;
/**
* By default, the child routes of a page are shown in a fullscreen dialog.
* Set disableFullscreenRoutes to false to handle them yourself with a <router-outlet />.
* It can be used for example in a demo that requires to show nested routes.
* Be careful however, only 1 router-outlet is allowed level, that can lead to collisions if
* multiple demos on the same page require nested routes.
*/
disableFullscreenRoutes?: boolean;
}