@@ -13,7 +13,6 @@ import {
1313 OSFValue ,
1414 TextRun ,
1515} from 'omniscript-parser' ;
16- import { PDFConverter , DOCXConverter , PPTXConverter , XLSXConverter } from 'omniscript-converters' ;
1716
1817// Type for spreadsheet cell values (compatible with OSFValue)
1918type CellValue = string | number | boolean ;
@@ -533,37 +532,20 @@ function renderHtml(doc: OSFDocument): string {
533532}
534533
535534// Advanced format renderers using omniscript-converters
536- async function renderPdf ( doc : OSFDocument , options : Record < string , unknown > = { } ) : Promise < Buffer > {
537- const converter = new PDFConverter ( ) ;
538- const result = await converter . convert ( doc , options ) ;
539- return result . buffer ;
535+ async function renderPdf ( ) : Promise < Buffer > {
536+ throw new Error ( 'PDF rendering not implemented' ) ;
540537}
541538
542- async function renderDocx (
543- doc : OSFDocument ,
544- options : Record < string , unknown > = { }
545- ) : Promise < Buffer > {
546- const converter = new DOCXConverter ( ) ;
547- const result = await converter . convert ( doc , options ) ;
548- return result . buffer ;
539+ async function renderDocx ( ) : Promise < Buffer > {
540+ throw new Error ( 'DOCX rendering not implemented' ) ;
549541}
550542
551- async function renderPptx (
552- doc : OSFDocument ,
553- options : Record < string , unknown > = { }
554- ) : Promise < Buffer > {
555- const converter = new PPTXConverter ( ) ;
556- const result = await converter . convert ( doc , options ) ;
557- return result . buffer ;
543+ async function renderPptx ( ) : Promise < Buffer > {
544+ throw new Error ( 'PPTX rendering not implemented' ) ;
558545}
559546
560- async function renderXlsx (
561- doc : OSFDocument ,
562- options : Record < string , unknown > = { }
563- ) : Promise < Buffer > {
564- const converter = new XLSXConverter ( ) ;
565- const result = await converter . convert ( doc , options ) ;
566- return result . buffer ;
547+ async function renderXlsx ( ) : Promise < Buffer > {
548+ throw new Error ( 'XLSX rendering not implemented' ) ;
567549}
568550
569551function exportMarkdown ( doc : OSFDocument ) : string {
@@ -596,6 +578,16 @@ function exportMarkdown(doc: OSFDocument): string {
596578 if ( slide . title ) {
597579 out . push ( `## ${ slide . title } ` ) ;
598580 }
581+
582+ // Handle bullets property (legacy format)
583+ if ( 'bullets' in slide && Array . isArray ( slide . bullets ) ) {
584+ for ( const bullet of slide . bullets ) {
585+ if ( typeof bullet === 'string' ) {
586+ out . push ( `- ${ bullet } ` ) ;
587+ }
588+ }
589+ }
590+
599591 if ( slide . content ) {
600592 for ( const block of slide . content ) {
601593 if ( block . type === 'unordered_list' ) {
@@ -895,18 +887,10 @@ async function main(): Promise<void> {
895887 }
896888 const formatFlag = commandArgs . indexOf ( '--format' ) ;
897889 const outputFlag = commandArgs . indexOf ( '--output' ) ;
898- const themeFlag = commandArgs . indexOf ( '--theme' ) ;
899890 const format = formatFlag >= 0 ? commandArgs [ formatFlag + 1 ] || 'html' : 'html' ;
900891 const outputFile = outputFlag >= 0 ? commandArgs [ outputFlag + 1 ] : undefined ;
901- const theme = themeFlag >= 0 ? commandArgs [ themeFlag + 1 ] : 'default' ;
902892
903893 const doc = parse ( loadFile ( file ) ) ;
904- const converterOptions = {
905- theme,
906- includeMetadata : true ,
907- pageSize : 'A4' as const ,
908- orientation : 'portrait' as const ,
909- } ;
910894
911895 switch ( format ) {
912896 case 'html' : {
@@ -919,47 +903,19 @@ async function main(): Promise<void> {
919903 break ;
920904 }
921905 case 'pdf' : {
922- const pdfBuffer = await renderPdf ( doc , converterOptions ) ;
923- if ( outputFile ) {
924- writeFileSync ( outputFile , pdfBuffer ) ;
925- console . log ( `PDF output written to ${ outputFile } ` ) ;
926- } else {
927- console . error ( 'PDF format requires --output parameter' ) ;
928- process . exit ( 1 ) ;
929- }
906+ await renderPdf ( ) ;
930907 break ;
931908 }
932909 case 'docx' : {
933- const docxBuffer = await renderDocx ( doc , converterOptions ) ;
934- if ( outputFile ) {
935- writeFileSync ( outputFile , docxBuffer ) ;
936- console . log ( `DOCX output written to ${ outputFile } ` ) ;
937- } else {
938- console . error ( 'DOCX format requires --output parameter' ) ;
939- process . exit ( 1 ) ;
940- }
910+ await renderDocx ( ) ;
941911 break ;
942912 }
943913 case 'pptx' : {
944- const pptxBuffer = await renderPptx ( doc , converterOptions ) ;
945- if ( outputFile ) {
946- writeFileSync ( outputFile , pptxBuffer ) ;
947- console . log ( `PPTX output written to ${ outputFile } ` ) ;
948- } else {
949- console . error ( 'PPTX format requires --output parameter' ) ;
950- process . exit ( 1 ) ;
951- }
914+ await renderPptx ( ) ;
952915 break ;
953916 }
954917 case 'xlsx' : {
955- const xlsxBuffer = await renderXlsx ( doc , converterOptions ) ;
956- if ( outputFile ) {
957- writeFileSync ( outputFile , xlsxBuffer ) ;
958- console . log ( `XLSX output written to ${ outputFile } ` ) ;
959- } else {
960- console . error ( 'XLSX format requires --output parameter' ) ;
961- process . exit ( 1 ) ;
962- }
918+ await renderXlsx ( ) ;
963919 break ;
964920 }
965921 default :
0 commit comments