gitea源码

123456789101112131415161718192021
  1. import type {FileRenderPlugin} from '../plugin.ts';
  2. export function newRenderPluginPdfViewer(): FileRenderPlugin {
  3. return {
  4. name: 'pdf-viewer',
  5. canHandle(filename: string, _mimeType: string): boolean {
  6. return filename.toLowerCase().endsWith('.pdf');
  7. },
  8. async render(container: HTMLElement, fileUrl: string): Promise<void> {
  9. const PDFObject = await import(/* webpackChunkName: "pdfobject" */'pdfobject');
  10. // TODO: the PDFObject library does not support dynamic height adjustment,
  11. container.style.height = `${window.innerHeight - 100}px`;
  12. if (!PDFObject.default.embed(fileUrl, container)) {
  13. throw new Error('Unable to render the PDF file');
  14. }
  15. },
  16. };
  17. }