@@ -19,14 +19,12 @@ import path from 'path';
1919import * as fs from 'fs' ;
2020import { XmlHelper } from './helper/xml-helper' ;
2121import ModifyPresentationHelper from './helper/modify-presentation-helper' ;
22- import {
23- contentTracker as Tracker ,
24- ContentTracker ,
25- } from './helper/content-tracker' ;
22+ import { contentTracker as Tracker , ContentTracker } from './helper/content-tracker' ;
2623import JSZip from 'jszip' ;
2724import { ISlide } from './interfaces/islide' ;
2825import { IMaster } from './interfaces/imaster' ;
2926import { ContentTypeExtension } from './enums/content-type-map' ;
27+ import slugify from 'slugify' ;
3028
3129/**
3230 * Automizer
@@ -502,14 +500,17 @@ export default class Automizer implements IPresentationProps {
502500 * Write all media files to archive.
503501 */
504502 public async writeMediaFiles ( ) : Promise < void > {
503+ const mediaDir = 'ppt/media/' ;
505504 for ( const file of this . rootTemplate . mediaFiles ) {
506505 const data = fs . readFileSync ( file . filepath ) ;
507- let archiveFilename = 'ppt/media/' + file . file ;
506+ let archiveFilename = file . file ;
508507 if ( file . prefix ) {
509- archiveFilename = 'ppt/media/' + file . prefix + file . file ;
508+ archiveFilename = file . prefix + file . file ;
510509 }
511510
512- await this . rootTemplate . archive . write ( archiveFilename , data ) ;
511+ archiveFilename = slugify ( archiveFilename ) ;
512+
513+ await this . rootTemplate . archive . write ( mediaDir + archiveFilename , data ) ;
513514 await XmlHelper . appendImageExtensionToContentType (
514515 this . rootTemplate . archive ,
515516 file . extension ,
0 commit comments