UNPKG

marp2pptx

Version:

Convert Marp markdown presentations to theme-compatible, editable PowerPoint files. Single command, zero Python dependencies, fully editable output.

61 lines (51 loc) 1.38 kB
/** * Marp to PowerPoint Converter * Main library entry point */ const fs = require('fs'); const path = require('path'); const { parseMarpSlides } = require('./parser'); const { createSlideHTML } = require('./converter'); const { generatePPTX } = require('./generator'); /** * Convert Marp markdown file to PowerPoint * @param {string} inputFile - Path to Marp markdown file * @param {Object} options - Conversion options * @returns {Promise} Promise that resolves when conversion is complete */ async function convertMarpToPPTX(inputFile, options = {}) { const { outputFile = 'output.pptx', primaryColor = '#E67E22', accentColor = '#16A085', bgColor = '#FFFFFF', textColor = '#2C3E50' } = options; // Read input file const content = fs.readFileSync(inputFile, 'utf-8'); // Parse Marp slides const slides = parseMarpSlides(content); // Convert each slide to HTML const htmlSlides = slides.map(slide => { return createSlideHTML(slide, { primaryColor, accentColor, bgColor, textColor }); }); // Generate PPTX const result = await generatePPTX(htmlSlides, outputFile); return result; } /** * Get version from package.json */ function getVersion() { const packageJson = require('../package.json'); return packageJson.version; } module.exports = { convertMarpToPPTX, getVersion };