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
JavaScript
/**
* 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
};