diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..a4dd9dba --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.7.4 diff --git a/Gemfile b/Gemfile index a9d35d69..a47551c0 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,3 @@ source 'https://rubygems.org' - # Specify your gem's dependencies in powerpoint.gemspec -gemspec \ No newline at end of file +gemspec diff --git a/README.rdoc b/README.rdoc index f65f80f6..c5947477 100644 --- a/README.rdoc +++ b/README.rdoc @@ -2,6 +2,9 @@ 'powerpoint' is a Ruby gem that can generate PowerPoint files(pptx). +This fork has been modified for FF powerpoint generation from the page builder. It also includes use of SF htmltoooxml to enable display of basic html markup in pptx docs. + + == Installation @@ -19,63 +22,28 @@ To use it in Rails, add this line to your Gemfile: 'powerpoint' gem can generate a PowerPoint presentaion based on a standard template: require 'powerpoint' - + @deck = Powerpoint::Presentation.new # Creating an introduction slide: - title = 'Bicycle Of the Mind' - subtitle = 'created by Steve Jobs' - @deck.add_intro title, subtitle - - # Creating a text-only slide: - # Title must be a string. - # Content must be an array of strings that will be displayed as bullet items. - title = 'Why Mac?' - content = ['Its cool!', 'Its light.'] - @deck.add_textual_slide title, content - - # Creating an image Slide: - # It will contain a title as string. - # and an embeded image - title = 'Everyone loves Macs:' - image_path = 'samples/images/sample_gif.gif' - @deck.add_pictorial_slide title, image_path - - # Specifying coordinates and image size for an embeded image. - # x and y values define the position of the image on the slide. - # cx and cy define the width and height of the image. - # x, y, cx, cy are in points. Each pixel is 12700 points. - # coordinates parameter is optional. - coords = {x: 124200, y: 3356451, cx: 2895600, cy: 1013460} - @deck.add_pictorial_slide title, image_path, coords - - # Saving the pptx file to the current directory. - @deck.save('test.pptx') - -== Compatibility + title = 'Title of the trend' + subtitle = 'trend subtitle' + image_path = '/local/file/path/to/featured/image.png' -'powerpoint' gem has been tested with LibreOffice(4.2.1.1) and Apache OpenOffice(4.0.1) on Mac OS X Mavericks, Microsoft PowerPoint 2010 on Windows 7 and Google Docs(latest version as of March 2014). + @deck.add_ff_trend_intro_slide title, subtitle, image_path -== Contributing + # now use the various slide methods seen in spec/test_spec.rb to interface with the page_builder.json to build out the pptx -Contributions are welcomed. You can fork a repository, add your code changes to the forked branch, ensure all existing unit tests pass, create new unit tests cover your new changes and finally create a pull request. + @deck.save('test.pptx') -After forking and then cloning the repository locally, install Bundler and then use it -to install the development gem dependecies: +== Compatibility - gem install bundler - bundle install +'powerpoint' gem has been tested with LibreOffice(4.2.1.1) and Apache OpenOffice(4.0.1) on Mac OS X Mavericks, Microsoft PowerPoint 2010 on Windows 7 and Google Docs(latest version as of March 2014). -Once this is complete, you should be able to run the test suite: +== Tests - rake +You can see sample output by runnign the tests +> rake == Bug Reporting - -Please use the {Issues}[https://github.com/pythonicrubyist/powerpoint/issues] page to report bugs or suggest new enhancements. - - -== License - -Powerpoint has been published under {MIT License}[https://github.com/pythonicrubyist/powerpoint/blob/master/LICENSE.txt] diff --git a/dev/create.sh b/dev/create.sh new file mode 100755 index 00000000..fd81417b --- /dev/null +++ b/dev/create.sh @@ -0,0 +1 @@ +bundle exec rspec --format doc && open samples/pptx/test-output.pptx diff --git a/dev/inspect.sh b/dev/inspect.sh new file mode 100755 index 00000000..43a0d2d3 --- /dev/null +++ b/dev/inspect.sh @@ -0,0 +1 @@ +cd samples/pptx && rm -rf unzip && mkdir unzip && cp test-output.pptx unzip && cd unzip && unzip test-output.pptx && code . && cd ../../../ diff --git a/lib/powerpoint.rb b/lib/powerpoint.rb index 71fb5f68..5fbca440 100644 --- a/lib/powerpoint.rb +++ b/lib/powerpoint.rb @@ -7,9 +7,32 @@ require 'powerpoint/slide/picture_description' require 'powerpoint/compression' require 'powerpoint/presentation' +require 'powerpoint/read_presentation' +require 'powerpoint/read_slide' + +require 'powerpoint/slide/ff_trend_intro' +require 'powerpoint/slide/ff_trend_what_next' +require 'powerpoint/slide/ff_trend_heading_text' +require 'powerpoint/slide/ff_trend_three_row_text' +require 'powerpoint/slide/ff_trend_sector_impact' +require 'powerpoint/slide/ff_trend_text_with_image' +require 'powerpoint/slide/ff_embeded_slide' +require 'powerpoint/slide/ff_trend_outro' +require 'powerpoint/slide/ff_trend_list' +require 'powerpoint/slide/ff_trend_text_left_chart_right' +require 'powerpoint/slide/ff_trend_text_right_chart_left' +require 'powerpoint/slide/ff_trend_text_right_image_left' +require 'powerpoint/slide/ff_trend_text_left_image_right' +require 'powerpoint/slide/ff_trend_two_column_chart' +require 'powerpoint/slide/ff_trend_two_column_text' +require 'powerpoint/slide/ff_trend_summary' module Powerpoint ROOT_PATH = File.expand_path("../..", __FILE__) - TEMPLATE_PATH = "#{ROOT_PATH}/template/" - VIEW_PATH = "#{ROOT_PATH}/lib/powerpoint/views/" + TEMPLATE_PATH = "#{ROOT_PATH}/templates/collision-2025-template" + VIEW_PATH = "#{ROOT_PATH}/lib/powerpoint/views/collision-2025" + # TEMPLATE_PATH = "#{ROOT_PATH}/templates/collision-ux2022-template" + # VIEW_PATH = "#{ROOT_PATH}/lib/powerpoint/views/collision" + # TEMPLATE_PATH = "#{ROOT_PATH}/templates/nvision-template" + # VIEW_PATH = "#{ROOT_PATH}/lib/powerpoint/views/new" end diff --git a/lib/powerpoint/presentation.rb b/lib/powerpoint/presentation.rb index c8a75d98..5888eed9 100644 --- a/lib/powerpoint/presentation.rb +++ b/lib/powerpoint/presentation.rb @@ -6,17 +6,29 @@ module Powerpoint class Presentation include Powerpoint::Util - attr_reader :slides + attr_reader :slides, :masters, :layouts, :notes_masters, :themes, :rel_index, :layout_index, :theme_index, :extract_path, :master_rel def initialize + @extract_path + @dir + @rel_index = 0 + @layout_index = 0 @slides = [] + @masters = [] + @notes_masters = [] + @notes + @layouts = [] + @themes = [] + @theme_index = 0 + @master_rel + init_files end def add_intro(title, subtitile = nil) existing_intro_slide = @slides.select {|s| s.class == Powerpoint::Slide::Intro}[0] slide = Powerpoint::Slide::Intro.new(presentation: self, title: title, subtitile: subtitile) if existing_intro_slide - @slides[@slides.index(existing_intro_slide)] = slide + @slides[@slides.index(existing_intro_slide)] = slide else @slides.insert 0, slide end @@ -38,39 +50,379 @@ def add_picture_description_slide(title, image_path, content = []) @slides << Powerpoint::Slide::DescriptionPic.new(presentation: self, title: title, image_path: image_path, content: content) end - def save(path) - Dir.mktmpdir do |dir| - extract_path = "#{dir}/extract_#{Time.now.strftime("%Y-%m-%d-%H%M%S")}" + def add_ff_trend_intro_slide(title, subtitle, image_path, trend_number, coords = {}) + @slides << Powerpoint::Slide::FFTrendIntro.new(presentation: self, title: title, subtitle: subtitle, image_path: image_path, trend_number: trend_number, coords: {}) + end - # Copy template to temp path - FileUtils.copy_entry(TEMPLATE_PATH, extract_path) + def add_ff_what_next_slide(title, content = {}, links = []) + @slides << Powerpoint::Slide::FFTrendWhatNext.new(presentation: self, title: title, content: content, links: links) + end - # Remove keep files - Dir.glob("#{extract_path}/**/.keep").each do |keep_file| - FileUtils.rm_rf(keep_file) + def add_ff_heading_text_slide(title, content, image_paths, links = []) + @slides << if image_paths&.any? + if content.length > 0 + Powerpoint::Slide::FFTrendTextLeftImageRight.new( + presentation: self, + title: title, + content: content, + image_path: image_paths[0], + links: links + ) + else + Powerpoint::Slide::FFTrendTextWithImage.new( + presentation: self, + title: title, + content: "", + image_paths: image_paths, + links: links + ) end + else + Powerpoint::Slide::FFTrendHeadingText.new( + presentation: self, + title: title, + content: content, + image_paths: [], + links: links + ) + end + end - # Render/save generic stuff - render_view('content_type.xml.erb', "#{extract_path}/[Content_Types].xml") - render_view('presentation.xml.rel.erb', "#{extract_path}/ppt/_rels/presentation.xml.rels") - render_view('presentation.xml.erb', "#{extract_path}/ppt/presentation.xml") - render_view('app.xml.erb', "#{extract_path}/docProps/app.xml") + def add_ff_text_with_image_slide(title, content, source, image_path, links = []) + @slides << Powerpoint::Slide::FFTrendTextWithImage.new(presentation: self, title: title, content: content || '', source: source, image_path: image_path, links: links) + end + + def add_ff_three_row_text_slide(title, content, links = []) + @slides << Powerpoint::Slide::FFTrendThreeRowText.new(presentation: self, title: title, content: content, links: links) + end + + def add_ff_sector_impact_slide(title, content, image_path, links = []) + raise NotImplementedError, 'This slide has been removed' + @slides << Powerpoint::Slide::FFTrendSectorImpact.new(presentation: self, title: title, content: content, image_path: image_path, links: links) + end + + def add_ff_associated_content_slide(title, subtitle, image_path, coords = {}, link_path = nil) + @slides << Powerpoint::Slide::FFTrendIntro.new(presentation: self, title: title, subtitle: subtitle, image_path: image_path, coords: {}, link_path: link_path) + end + + def add_ff_text_left_chart_right_slide(title, content, question_title, question_subtitle, image_path, links = []) + @slides << Powerpoint::Slide::FFTrendTextLeftChartRight.new( + presentation: self, + title: title, + content: content, + question_title: question_title, + question_subtitle: question_subtitle, + image_path: image_path, + links: links + ) + end + + def add_ff_text_right_chart_left_slide(title, content, question_title, question_subtitle, image_path, links = []) + @slides << Powerpoint::Slide::FFTrendTextRightChartLeft.new( + presentation: self, + title: title, + content: content, + question_title: question_title, + question_subtitle: question_subtitle, + image_path: image_path, + links: links + ) + end + + def add_ff_text_right_image_left_slide(title, content, image_path, links = []) + @slides << Powerpoint::Slide::FFTrendTextRightImageLeft.new( + presentation: self, + title: title, + content: content, + image_path: image_path, + links: links + ) + end + + def add_ff_text_left_image_right_slide(title, content, image_path, links = []) + @slides << Powerpoint::Slide::FFTrendTextLeftImageRight.new( + presentation: self, + title: title, + content: content, + image_path: image_path, + links: links + ) + end - # Save slides - slides.each_with_index do |slide, index| - slide.save(extract_path, index + 1) + def add_ff_two_column_chart_slide(title, content, question_titles, question_subtitles, images, links = []) + @slides << Powerpoint::Slide::FFTrendTwoColumnChart.new( + presentation: self, + title: title, + content: content, + question_titles: question_titles, + question_subtitles: question_subtitles, + images: images, + links: links + ) + end + + def add_ff_two_column_text_slide(title, left_col_title, right_col_title, left_col_content, right_col_content,links = []) + @slides << Powerpoint::Slide::FFTrendTwoColumnText.new( + presentation: self, + title: title, + left_col_title: left_col_title, + right_col_title: right_col_title, + left_col_content: left_col_content, + right_col_content: right_col_content, + links: links + ) + end + + def add_ff_embeded_slide(slide_title, slide_content, slide_rel_content, images, charts, embeddings, notes, tags, drawings, master, notes_master, layout, theme_overrides, chart_images, chart_styles, chart_color_styles) + @slides << Powerpoint::Slide::FFEmbededSlide.new( + presentation: self, title: slide_title, + content: slide_content, + rel_content: slide_rel_content, + images: images, + charts: charts, + chart_images: chart_images, + embeddings: embeddings, + theme_overrides: theme_overrides, + notes: notes, + tags: tags, + drawings: drawings, + master: master, + notes_master: notes_master, + layout: layout, + chart_styles: chart_styles, + chart_color_styles: chart_color_styles + ) + end + + def add_ff_trend_outro_slide() + @slides << Powerpoint::Slide::FFTrendOutro.new(presentation: self) + end + + def add_ff_trend_list_slide(title, contents = [], links = [], trend_list_start_num = 4) + @slides << Powerpoint::Slide::FFTrendList.new(presentation: self, title: title, contents: contents, links: links, trend_list_start_num: trend_list_start_num) + end + + def add_ff_trend_summary_slide(title, content, image_path, link) + @slides << Powerpoint::Slide::FFTrendSummary.new( + presentation: self, + title: title, + content: content, + image_path: image_path, + link: link + ) + end + + def init_files + @dir = Dir.mktmpdir + @extract_path = "#{@dir}/extract_#{Time.now.strftime("%Y-%m-%d-%H%M%S")}" + + # Copy template to temp path + FileUtils.copy_entry(TEMPLATE_PATH, extract_path) + + # Remove keep files + Dir.glob("#{extract_path}/**/.keep").each do |keep_file| + FileUtils.rm_rf(keep_file) + end + + # Read in our template slide masters + Dir.glob("#{extract_path}/ppt/slideMasters/*.xml").each do |master| + @rel_index += 1 + master_rel_xml = Nokogiri::XML::Document.parse(File.open(master.gsub('ppt/slideMasters','ppt/slideMasters/_rels').gsub('.xml','.xml.rels'))) + theme_path = master_rel_xml.css('Relationship').select{ |node| node['Type'].include? 'relationships/theme'}.first['Target'] + @masters << { id: rel_index, file_path: master.gsub("#{extract_path}/ppt/slideMasters",'../slideMasters'), layouts: [], theme: theme_path, embeds: []} + if !@themes.find{ |theme| theme[:file_path] == theme_path } + @theme_index += 1 + theme_xml = Nokogiri::XML::Document.parse(File.open("#{extract_path}/#{theme_path}".gsub('..','ppt'))) + theme_name = theme_xml.xpath('//a:theme').first['name'] + @themes << { id: theme_index, file_path: theme_path, name: theme_name, xml: theme_xml } end + end - # Create .pptx file - File.delete(path) if File.exist?(path) - Powerpoint.compress_pptx(extract_path, path) + # Read in our notes template slide masters + Dir.glob("#{extract_path}/ppt/notesMasters/*.xml").each do |master| + @rel_index += 1 + @notes_masters << { id: rel_index, file_path: master.gsub("#{extract_path}/ppt/notesMasters",'../notesMasters') } + notes_rel_xml = Nokogiri::XML::Document.parse(File.open(master.gsub('ppt/notesMasters','ppt/notesMasters/_rels').gsub('.xml','.xml.rels'))) + theme_path = notes_rel_xml.css('Relationship').select{ |node| node['Type'].include? 'relationships/theme'}.first['Target'] + if !@themes.find{ |theme| theme[:file_path] == theme_path } + @theme_index += 1 + theme_xml = Nokogiri::XML::Document.parse(File.open("#{extract_path}/#{theme_path}".gsub('..','ppt'))) + theme_name = theme_xml.xpath('//a:theme').first['name'] + @themes << { id: theme_index, file_path: theme_path, name: theme_name, xml: theme_xml } + end end + # Read in our layout templates + Dir.glob("#{extract_path}/ppt/slideLayouts/*.xml").each do |layout| + @layout_index += 1 + layout_rel_xml = Nokogiri::XML::Document.parse(File.open(layout.gsub('ppt/slideLayouts','ppt/slideLayouts/_rels').gsub('.xml','.xml.rels'))) + master_path = layout_rel_xml.css('Relationship').select{ |node| node['Type'].include? 'slideMaster'}.first['Target'] + new_layout = { id: layout_index, file_path: layout.gsub("#{extract_path}/ppt/slideLayouts",'../slideLayouts'), master: master_path } + @layouts << new_layout + @masters.find{ |master| master[:file_path] == master_path }[:layouts] << new_layout + end + end + + def save(path) + # Save slides + slides.each_with_index do |slide, index| + slide.save(extract_path, index + 1) + end + + # render master rels + masters.each do |master_ref| + @master_rel = master_ref + render_view('slide_master.xml.rel.erb', extract_path + "/" + master_ref[:file_path].gsub('../slideMasters','ppt/slideMasters/_rels').gsub('.xml','.xml.rels')) + end + + # render notes master rels + notes_masters.each do |master| + @master_rel = master + #render_view('notes_master.xml.rel.erb',extract_path + "/" + master[:file_path].gsub('../notesMasters','ppt/notesMasters/_rels').gsub('.xml','.xml.rels')) + end + + # Render/save generic stuff + render_view('content_type.xml.erb', "#{extract_path}/[Content_Types].xml") + render_view('presentation.xml.rel.erb', "#{extract_path}/ppt/_rels/presentation.xml.rels") + render_view('presentation.xml.erb', "#{extract_path}/ppt/presentation.xml") + render_view('view_props.xml.erb', "#{extract_path}/ppt/viewProps.xml") + render_view('table_styles.xml.erb', "#{extract_path}/ppt/tableStyles.xml") + render_view('pres_props.xml.erb', "#{extract_path}/ppt/presProps.xml") + render_view('app.xml.erb', "#{extract_path}/docProps/app.xml") + render_view('core.xml.erb', "#{extract_path}/docProps/core.xml") + + # Create .pptx file + File.delete(path) if File.exist?(path) + Powerpoint.compress_pptx(extract_path, path) + cleanup path end def file_types - slides.map {|slide| slide.file_type if slide.respond_to? :file_type }.compact.uniq + slides.map {|slide| slide.file_type if slide.respond_to? :file_type }.compact.flatten.uniq + end + + def notes_slides + slides.map {|slide| slide.notes_slides if slide.respond_to? :notes_slides }.compact.flatten + end + + def add_master(xml, master_theme, master_layouts = [], master_embeds = []) + @rel_index += 1 + + master_embeds = add_master_embeds(master_embeds) + File.open("#{extract_path}/ppt/slideMasters/slideMaster#{rel_index}.xml", "wb") do |f| + f.write xml.to_xml.gsub('smtClean="0"','') + end + + new_master = { + id: rel_index, + file_path: "../slideMasters/slideMaster#{rel_index}.xml", + layouts: master_layouts, + theme: master_theme, + embeds: master_embeds + } + @masters << new_master + @masters.uniq! + new_master + end + + def add_notes_master(xml) + @rel_index += 1 + File.open("#{extract_path}/ppt/notesMasters/notesMaster#{rel_index}.xml", "wb") do |f| + f.write xml.gsub('smtClean="0"','') + end + new_master = { id: rel_index, file_path: "../notesMasters/notesMaster#{rel_index}.xml" } + @notes_masters << new_master + @notes_masters.uniq! + new_master + end + + def add_layout(xml, rel_xml, layout_master, files) + @layout_index += 1 + rel_xml.css('Relationship').each do |node| + if node['Target'].include? 'image' + FileUtils::mkdir_p "#{extract_path}/ppt/media/layout_#{layout_index}" + image = files.file.open node['Target'].gsub('..', 'ppt') rescue nil + image.rewind + file = node['Target'].gsub('../media',"../media/layout_#{layout_index}") + File.open("#{extract_path}/" + file.gsub('..','ppt'), "wb") do |f| + f.write image.read + end + image.close + node['Target'] = node['Target'].gsub('../media',"../media/layout_#{layout_index}") + end + end + File.open("#{extract_path}/ppt/slideLayouts/_rels/slideLayout#{layout_index}.xml.rels", "wb") do |f| + f.write rel_xml + end + File.open("#{extract_path}/ppt/slideLayouts/slideLayout#{layout_index}.xml", "wb") do |f| + f.write xml.to_xml.gsub('smtClean="0"','') + end + new_layout = { id: layout_index, file_path: "../slideLayouts/slideLayout#{layout_index}.xml", master: layout_master } + @masters.find{ |master_ref| master_ref[:file_path] == layout_master }[:layouts] << new_layout + @layouts << new_layout + @layouts.uniq! + new_layout + end + + def add_theme(xml) + @theme_index += 1 + # write the theme xml with the correct file name + File.open("#{extract_path}/ppt/theme/theme#{theme_index}.xml", "wb") do |f| + f.write xml + end + theme_name = xml.xpath('//a:theme').first['name'] + new_theme = { id: theme_index, name: theme_name, file_path: "../theme/theme#{theme_index}.xml", xml: xml} + @themes << new_theme + new_theme + end + + def update_slide_masters + masters.each do |master_ref| + # open the xml + master_xml = Nokogiri::XML::Document.parse(File.open("#{extract_path}/" + master_ref[:file_path].gsub('..','ppt'))) + master_xml.search('//p:sldLayoutIdLst').first.children.remove + master_layouts = layouts.select{ |layout| layout[:master] == master_ref[:file_path] } + master_layouts.each do |layout| + node = Nokogiri::XML::Node.new 'p:sldLayoutId', master_xml + node['r:id'] = "rId#{layout[:id]}" + master_xml.search('//p:sldLayoutIdLst').first.add_child(node) + end + + # update embed id's in slide master to match what will be in the rel file + master_xml_as_string = master_xml.to_xml + if master_ref.key?(:embeds) + master_ref[:embeds].each do |embed| + master_xml_as_string.gsub!("embed=\"#{embed[:rid]}\"", "embed=\"rId#{embed[:id]}\"") + end + end + # save the file + File.open("#{extract_path}/" + master_ref[:file_path].gsub('..','ppt'), 'wb') do |f| + f.write master_xml_as_string.gsub('smtClean="0"','') + end + end + end + + def add_master_embeds(embeds) + # open a new folder in the media directory for this master + FileUtils::mkdir_p "#{extract_path}/ppt/media/master_#{rel_index}" + @layout_index +=1 + # open the package file and copy to presentation path + embeds.each do |embed| + embed[:id] = layout_index + resource = embed[:files].file.open embed[:file_path].gsub('..', 'ppt') rescue nil + resource.rewind + embed[:file_path].gsub!('../media',"../media/master_#{rel_index}") + File.open("#{extract_path}/" + embed[:file_path].gsub('..','ppt'), "wb") do |f| + f.write resource.read + end + resource.close + end + embeds + end + + def cleanup + FileUtils.remove_entry(@dir) end end end diff --git a/lib/powerpoint/read_presentation.rb b/lib/powerpoint/read_presentation.rb new file mode 100644 index 00000000..c1c40ac5 --- /dev/null +++ b/lib/powerpoint/read_presentation.rb @@ -0,0 +1,75 @@ +require 'zip/filesystem' +require 'nokogiri' + +module Powerpoint + + class Powerpoint::ReadPresentation + + attr_reader :files + + def initialize path + raise 'Not a valid file format.' unless (['.pptx'].include? File.extname(path).downcase) + @files = Zip::File.open path + end + + def slides + slides = Array.new + return slides unless @files + @files.each do |f| + if f.name.include? 'ppt/slides/slide' + slides.push Powerpoint::ReadSlide.new(self, f.name) + end + end + slides.sort{|a,b| a.slide_num <=> b.slide_num} + end + + def media + match_files 'ppt/media' + end + + def charts + match_files 'ppt/charts' + end + + def embeddings + match_files 'ppt/embeddings' + end + + def masters + match_files('ppt/slideMasters').select{ |file_name| file_name unless file_name.include? 'rels' } + end + + def master_rels + match_files('ppt/slideMasters/rels').select{ |file_name| file_name if file_name.include? 'rels' } + end + + def notes_masters + match_files('ppt/notesMasters').select{ |file_name| file_name unless file_name.include? 'rels' } + end + + def layouts + match_files('ppt/slideLayouts').select{ |file_name| file_name unless file_name.include? 'rels' } + end + + def themes + match_files('ppt/theme').select{ |file_name| file_name unless file_name.include? 'rels'} + end + + def close + @files.close + end + + private + + def match_files(pattern) + matches = Array.new + return matches unless @files + @files.each do |f| + if f.name.include?(pattern) && f.name.include?(".") + matches.push(f.name) + end + end + matches + end + end +end diff --git a/lib/powerpoint/read_slide.rb b/lib/powerpoint/read_slide.rb new file mode 100644 index 00000000..4e41a8a4 --- /dev/null +++ b/lib/powerpoint/read_slide.rb @@ -0,0 +1,331 @@ +require 'zip/filesystem' +require 'nokogiri' + +module Powerpoint + class Powerpoint::ReadSlide + + attr_reader :presentation, + :slide_number, + :slide_number, + :slide_file_name, + :chart_images, + :chart_styles, + :chart_color_styles + + def initialize presentation, slide_xml_path + @presentation = presentation + @slide_xml_path = slide_xml_path + @slide_number = extract_slide_number_from_path slide_xml_path + @slide_file_name = extract_slide_file_name_from_path slide_xml_path + @chart_images = [] + @chart_styles = [] + @chart_color_styles = [] + parse_slide + parse_relation + node = note_elements(@relation_xml).first + @slide_notes_xml_path = node['Target'] if node + parse_slide_notes + end + + def parse_slide + slide_doc = @presentation.files.file.open @slide_xml_path + @slide_xml = Nokogiri::XML::Document.parse slide_doc if slide_doc + slide_doc.close if slide_doc + end + + def parse_slide_notes + slide_notes_doc = open_package_file @slide_notes_xml_path rescue nil + @slide_notes_xml = Nokogiri::XML::Document.parse(slide_notes_doc) if slide_notes_doc + slide_notes_doc.close if slide_notes_doc + end + + def parse_relation + @relation_xml_path = "ppt/slides/_rels/#{@slide_file_name}.rels" + if @presentation.files.file.exist? @relation_xml_path + relation_doc = @presentation.files.file.open @relation_xml_path rescue nil + @relation_xml = Nokogiri::XML::Document.parse relation_doc if relation_doc + relation_doc.close if relation_doc + end + end + + def content + row_elements @slide_xml + end + + def raw_content + @slide_xml + end + + def raw_relation_content + @relation_xml + end + + def notes_content + content_elements @slide_notes_xml + end + + def title + title_elements = title_elements(@slide_xml) + title_elements.join(" ") if title_elements.length > 0 + end + + def layout + @relation_xml.css('Relationship').select{ |node| node_is?(node,'slideLayout') }.first['Target'] + end + + def master + node = layout + master_doc = @presentation.files.file.open(node['Target'].gsub('..','ppt').gsub('slideLayouts','slideLayouts/_rels').gsub('xml','xml.rels')) rescue nil + if master_doc + layout_rel_xml = Nokogiri::XML::Document.parse master_doc + master = layout_rel_xml.css('Relationship').select{ |node| node_is?(node, 'slideMaster') }.first['Target'] if layout_rel_xml + master_doc.close + return master + end + end + + def notes_master + master_doc = @presentation.files.file.open(@slide_notes_xml_path.gsub('..','ppt').gsub('notesSlides','notesSlides/_rels').gsub('xml','xml.rels')) rescue nil + if master_doc + notes_rel_xml = Nokogiri::XML::Document.parse master_doc + master = notes_rel_xml.css('Relationship').select{ |node| node_is?(node, 'notesMaster') }.first['Target'] if notes_rel_xml + master_doc.close + return master + end + end + + def layout_file + open_package_file layout + end + + def master_file + node = master + open_package_file master + end + + + def images + image_elements(@relation_xml) + .map.each do |node| + open_package_file node['Target'] + end + end + + def charts + files = chart_elements(@relation_xml) + .map.each do |node| + open_package_file node['Target'] + end + files += chart_elements(@relation_xml) + .map.each do |node| + open_package_file( + node['Target'].gsub('charts','charts/_rels').gsub('xml','xml.rels')) + end + files.compact + end + + # def chart_styles + # chart_style_elements(@relation_xml) + # .map.each do |node| + # open_package_file node['Target'] + # end + # end + + # def chart_color_styles + # chart_color_elements(@relation_xml) + # .map.each do |node| + # open_package_file node['Target'] + # end + # end + + def embeddings + embeds = nil + chart_elements(@relation_xml).each do |node| + rel_file = @presentation.files.file.open( + node['Target'].gsub('..','ppt').gsub('charts','charts/_rels').gsub('xml','xml.rels')) + zip_entry = rel_file.rewind + relation_doc = @presentation.files.file.open zip_entry.name + embed_xml = Nokogiri::XML::Document.parse relation_doc + relation_doc.close + if embeds.nil? + embeds = embedding_elements(embed_xml) + .map.each do |node| + open_package_file node['Target'] + end + else + embeds += embedding_elements(embed_xml) + .map.each do |node| + open_package_file node['Target'] + end + end + @chart_images += image_elements(embed_xml) + .map.each do |node| + open_package_file node['Target'] + end + + @chart_styles += chart_style_elements(embed_xml) + .map.each do |node| + open_package_file "../charts/#{node['Target']}" + end + + @chart_color_styles += chart_color_elements(embed_xml) + .map.each do |node| + open_package_file "../charts/#{node['Target']}" + end + + rel_file.close + end + embeds + end + + + def tags + tag_elements(@relation_xml) + .map.each do |node| + open_package_file( + node['Target']) + end + end + + def drawings + drawings = nil + chart_elements(@relation_xml).each do |node| + rel_file = @presentation.files.file.open( + node['Target'].gsub('..','ppt').gsub('charts','charts/_rels').gsub('xml','xml.rels')) + zip_entry = rel_file.rewind + relation_doc = @presentation.files.file.open zip_entry.name + drawings_xml = Nokogiri::XML::Document.parse relation_doc + relation_doc.close + if drawings.nil? + drawings = drawing_elements(drawings_xml) + .map.each do |node| + open_package_file node['Target'] + end + else + drawings += drawing_elements(drawings_xml) + .map.each do |node| + open_package_file node['Target'] + end + end + rel_file.close + end + drawings + end + + def theme_overrides + theme_overrides = nil + chart_elements(@relation_xml).each do |node| + rel_file = @presentation.files.file.open( + node['Target'].gsub('..','ppt').gsub('charts','charts/_rels').gsub('xml','xml.rels')) + zip_entry = rel_file.rewind + relation_doc = @presentation.files.file.open zip_entry.name + embed_xml = Nokogiri::XML::Document.parse relation_doc + relation_doc.close + if theme_overrides.nil? + theme_overrides = theme_override_elements(embed_xml) + .map.each do |node| + open_package_file node['Target'] + end + else + theme_overrides += theme_override_elements(embed_xml) + .map.each do |node| + open_package_file node['Target'] + end + end + rel_file.close + end + theme_overrides + end + + def notes + files = note_elements(@relation_xml) + .map.each do |node| + open_package_file node['Target'] + end + files += note_elements(@relation_xml) + .map.each do |node| + open_package_file( + node['Target'].gsub('notesSlides','notesSlides/_rels').gsub('xml','xml.rels')) + end + files.compact + end + + def slide_num + @slide_xml_path.match(/slide([0-9]*)\.xml$/)[1].to_i + end + + private + + def extract_slide_number_from_path path + path.gsub('ppt/slides/slide', '').gsub('.xml', '').to_i + end + + def extract_slide_file_name_from_path path + path.gsub('ppt/slides/', '') + end + + def title_elements(xml) + shape_elements(xml).select{ |shape| element_is_title(shape) } + end + + def row_elements(xml) + xml.xpath('//a:p').collect{ |node| node.text } + end + + def content_elements(xml) + xml.xpath('//a:t').collect{ |node| node.text } + end + + def image_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'image') } + end + + def chart_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'chart') } + end + + def chart_style_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'chartStyle') } + end + + def chart_color_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'chartColorStyle') } + end + + def embedding_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'package')} + end + + def theme_override_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'themeOverride') } + end + + def tag_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'tags')} + end + + def drawing_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'chartUserShapes')} + end + + def note_elements(xml) + xml.css('Relationship').select{ |node| node_is?(node, 'notesSlide') } + end + + def shape_elements(xml) + xml.xpath('//p:sp') + end + + def element_is_title(shape) + shape.xpath('.//p:nvSpPr/p:nvPr/p:ph').select{ |prop| prop['type'] == 'title' || prop['type'] == 'ctrTitle' }.length > 0 + end + + def node_is?(node, pattern) + node['Type'].include? pattern + end + + def open_package_file(file) + @presentation.files.file.open file.gsub('..', 'ppt') rescue nil + end + end +end diff --git a/lib/powerpoint/slide/ff_embeded.rb b/lib/powerpoint/slide/ff_embeded.rb new file mode 100644 index 00000000..d6342686 --- /dev/null +++ b/lib/powerpoint/slide/ff_embeded.rb @@ -0,0 +1,39 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' + +module Powerpoint + module Slide + class FFEmbededSlide + include Powerpoint::Util + + attr_reader :content + attr_reader :rel_content + + def initialize(options={}) + require_arguments [:presentation, :content, :rel_content], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + end + + def save(extract_path, index) + save_rel_xml(content, extract_path, index) + save_slide_xml(rel_content, extract_path, index) + end + + def file_type + nil + end + + def save_rel_xml(extract_path, index) + render_view('ff_embeded_slide_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_embeded_slide_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/ff_embeded_slide.rb b/lib/powerpoint/slide/ff_embeded_slide.rb new file mode 100644 index 00000000..6adabe60 --- /dev/null +++ b/lib/powerpoint/slide/ff_embeded_slide.rb @@ -0,0 +1,330 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFEmbededSlide + include Powerpoint::Util + + attr_reader :content + attr_reader :rel_content + attr_reader :title + attr_reader :images + attr_reader :charts + attr_reader :embeddings + attr_reader :theme_overrides + attr_reader :notes + attr_reader :tags + attr_reader :drawings + attr_reader :notes_slides + attr_reader :master + attr_reader :notes_master + attr_reader :layouts + attr_reader :layout + attr_reader :file_types + attr_reader :chart_images + attr_reader :chart_styles + attr_reader :chart_color_styles + + def initialize(options={}) + require_arguments [ + :presentation, + :title, :content, + :rel_content, + :images, + :charts, + :embeddings, + :notes, + :tags, + :drawings, + :master, + :notes_master, + :layout, + :theme_overrides, + :chart_images, + :chart_styles, + :chart_color_styles + ], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @file_types = [] + @notes_slides = [] + end + + def save(extract_path, index) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + save_images(extract_path, index, images) if images && images.length> 0 + save_theme_overrides(extract_path, index) if theme_overrides && theme_overrides.length > 0 + save_charts(extract_path, index) if charts && charts.length > 0 + save_embeddings(extract_path, index) if embeddings && embeddings.length > 0 + save_chart_color_styles(extract_path, index) if chart_color_styles && chart_color_styles.length > 0 + save_chart_styles(extract_path, index) if chart_styles && chart_styles.length > 0 + save_images(extract_path,index, chart_images) if chart_images && chart_images.length > 0 + save_notes(extract_path, index) if notes && notes.length > 0 + save_tags(extract_path, index) if tags && tags.length > 0 + save_drawings(extract_path, index) if drawings && drawings.length > 0 + end + + def file_type + file_types + end + + private + + def save_rel_xml(extract_path, index) + @index = index + @tmp_content = rel_content.to_s + @tmp_content.gsub!('charts',"charts/slide_#{@index}") + @tmp_content.gsub!('media',"media/slide_#{@index}") + @tmp_content.gsub!('embeddings',"embeddings/slide_#{@index}") + @tmp_content.gsub!('../tags',"../tags/slide_#{@index}") + xml = Nokogiri::XML::Document.parse @tmp_content + xml.css('Relationship').select{ |node| + if node['Type'].include? 'relationships/notesSlide' + node['Target'] = "../notesSlides/notesSlide#{index}.xml" + elsif node['Type'].include? 'relationships/masterSlide' + node['Target'] = master[:file_path] if master && master[:file_path] + elsif node['Type'].include? 'relationships/slideLayout' + node['Target'] = layout[:file_path] if layout && layout[:file_path] + end + } + @tmp_content = xml.to_s + render_view('ff_embeded_slide_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + + def save_slide_xml(extract_path, index) + @index = index + render_view('ff_embeded_slide_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + + def save_images(extract_path, index, images) + images.each do |image| + FileUtils::mkdir_p "#{extract_path}/ppt/media/slide_#{index}" + zip_entry = image.rewind + file_path = zip_entry.name.to_s.gsub('media',"media/slide_#{index}").gsub('jpg','jpeg') + begin + File.open("#{extract_path}/" + file_path, 'wb') do |f| + f.write zip_entry.get_input_stream.read + end + @file_types << { type: MimeMagic.by_magic(File.open("#{extract_path}/" + file_path)).type, path: "/#{file_path}" } unless file_path.include? "rels" + rescue Exception => e + puts "Error writing file #{e}" + end + image.close + end + end + + def save_charts(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/charts/slide_#{index}/_rels" + charts.each do |chart| + zip_entry = chart.rewind + file_path = zip_entry.name.to_s.gsub('charts',"charts/slide_#{index}") + if zip_entry.name.include? "rels" + begin + File.open("#{extract_path}/" + file_path, 'wb') do |f| + f.write zip_entry.get_input_stream.read + .gsub('../embeddings',"../../embeddings/slide_#{index}") + .gsub('../drawings',"../../drawings/slide_#{index}") + .gsub('../theme',"../../theme/slide_#{index}") + .gsub('../media',"../../media/slide_#{index}") + .gsub('smtClean="0"','') + end + rescue Exception => e + puts "Error writing file #{e}" + end + else + chart_xml = Nokogiri::XML::Document.parse zip_entry.get_input_stream.read + + #chart_xml.search('//c:chartSpace/c:lang').first.add_next_sibling('') + #chart_xml.search('//c:chartSpace/c:externalData').first.add_child '' + + if chart_xml.namespaces['xmlns:c'] + # bar_xml = chart_xml.search('//c:barChart/c:ser/c:spPr') + # if bar_xml.count > 0 + # data_label_xml = <<~XML + # + # + # + # + # + # + # + # + # + # XML + # bar_xml.each do |node| + # #node.add_next_sibling(data_label_xml) unless chart_xml.search('//c:barChart/c:ser').count > 0 + # end + # end + + cat_ax_xml = chart_xml.search('//c:catAx/c:delete') + if cat_ax_xml.count < 1 + chart_xml.search('//c:catAx/c:scaling').each do |node| + node.add_next_sibling '' + end + end + val_ax_xml = chart_xml.search('//c:valAx/c:delete') + if val_ax_xml.count < 1 + chart_xml.search('//c:valAx/c:scaling').each do |node| + node.add_next_sibling '' + end + end + end + + begin + File.open("#{extract_path}/" + file_path , 'wb:UTF-8') do |f| + f.write chart_xml.to_xml.gsub('smtClean="0"','').strip + end + rescue Exception => e + puts "Error writing file #{e}" + end + @file_types << { type: "application/vnd.openxmlformats-officedocument.drawingml.chart+xml" , path: "/#{file_path}" } + end + chart.close + end + end + + def save_embeddings(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/embeddings/slide_#{index}" + embeddings.each do |embedding| + begin + zip_entry = embedding.rewind + File.open("#{extract_path}/" + zip_entry.name.to_s.gsub('embeddings',"embeddings/slide_#{index}"), 'wb') do |f| + f.write zip_entry.get_input_stream.read + end + embedding.close + rescue Exception => e + puts "Error writing file #{e}" + end + + end + end + + def save_chart_styles(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/charts/slide_#{index}" + chart_styles.each do |file| + begin + zip_entry = file.rewind + File.open("#{extract_path}/" + zip_entry.name.to_s.gsub('charts',"charts/slide_#{index}"), 'wb') do |f| + f.write zip_entry.get_input_stream.read + end + file.close + rescue Exception => e + puts "Error writing file #{e}" + end + + end + end + + def save_chart_color_styles(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/charts/slide_#{index}" + chart_color_styles.each do |file| + begin + zip_entry = file.rewind + File.open("#{extract_path}/" + zip_entry.name.to_s.gsub('charts',"charts/slide_#{index}"), 'wb') do |f| + f.write zip_entry.get_input_stream.read + end + file.close + rescue Exception => e + puts "Error writing file #{e}" + end + + end + end + + + + def save_drawings(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/drawings/slide_#{index}" + drawings.each do |drawing| + begin + zip_entry = drawing.rewind + file_path = zip_entry.name.to_s.gsub('drawings/',"drawings/slide_#{index}/") + File.open("#{extract_path}/" + file_path, 'wb') do |f| + f.write zip_entry.get_input_stream.read + .gsub('smtClean="0"','') + end + @file_types << { type: "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", path: "/#{file_path}" } unless file_path.include? "rels" + drawing.close + rescue Exception => e + puts "Error writing file #{e}" + end + + end + end + + def save_theme_overrides(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/theme/slide_#{index}" + theme_overrides.each do |theme_override| + zip_entry = theme_override.rewind + file_path = zip_entry.name.to_s.gsub('ppt/theme/',"ppt/theme/slide_#{index}/") + begin + File.open("#{extract_path}/" + file_path, 'wb') do |f| + f.write zip_entry.get_input_stream.read + end + rescue Exception => e + puts "Error writing file #{e}" + end + @file_types << { type: "application/vnd.openxmlformats-officedocument.themeOverride+xml", path: "/#{file_path}" } unless file_path.include? "rels" + theme_override.close + end + end + + def save_tags(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/tags/slide_#{index}" + tags.each do |tag| + zip_entry = tag.rewind + file_path = zip_entry.name.to_s.gsub('ppt/tags/',"ppt/tags/slide_#{index}/") + begin + File.open("#{extract_path}/" + file_path, 'wb') do |f| + f.write zip_entry.get_input_stream.read + end + rescue Exception => e + puts "Error writing file #{e}" + end + @file_types << { type: "application/vnd.openxmlformats-officedocument.presentationml.tags+xml", path: "/#{file_path}" } unless file_path.include? "rels" + tag.close + end + end + + def save_notes(extract_path, index) + FileUtils::mkdir_p "#{extract_path}/ppt/notesSlides/_rels" + notes.each do |note| + zip_entry = note.rewind + if zip_entry.name.include? "rels" + notes_xml = Nokogiri::XML::Document.parse zip_entry.get_input_stream.read + notes_xml.css('Relationship').select{ |node| + if node['Type'].include? 'relationships/slide' + node['Target'] = "../slides/slide#{index}.xml" + elsif node['Type'].include? 'relationships/notesMaster' + node['Target'] = notes_master[:file_path] + end + } + begin + File.open("#{extract_path}/ppt/notesSlides/_rels/notesSlide#{index}.xml.rels", 'wb') do |f| + f.write notes_xml + end + rescue Exception => e + puts "Error writing file #{e}" + end + else + file_path = "ppt/notesSlides/notesSlide#{index}.xml" + @notes_slides << { type: "application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", path: "#{file_path}" } + notes_xml = Nokogiri::XML::Document.parse zip_entry.get_input_stream.read + begin + File.open("#{extract_path}/" + file_path , 'wb') do |f| + f.write notes_xml.to_xml.gsub('smtClean="0"','') + end + rescue Exception => e + puts "Error writing file #{e}" + end + end + note.close + end + end + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_heading_text.rb b/lib/powerpoint/slide/ff_trend_heading_text.rb new file mode 100644 index 00000000..bc3c54b1 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_heading_text.rb @@ -0,0 +1,45 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' +require 'nokogiri' + +module Powerpoint + module Slide + class FFTrendHeadingText + include Powerpoint::Util + + attr_reader :title, :content, :image_paths, :images, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :image_paths, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @images = image_paths.each.map { |image_path| [ File.basename(image_path), image_path ] } + end + + def file_type + @images.map{ |image_name, image_path| { type: MimeMagic.by_magic(File.open(image_path)).type, path: "/ppt/media/#{image_name.gsub('jpg','jpeg')}" } } + end + + def save(extract_path, index) + @images.each do |image_name, image_path| + copy_media(extract_path, image_path) if image_path != nil + end + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_heading_text_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_heading_text_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_intro.rb b/lib/powerpoint/slide/ff_trend_intro.rb new file mode 100644 index 00000000..65424616 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_intro.rb @@ -0,0 +1,70 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendIntro + include Powerpoint::Util + + attr_reader :image_name, :title, :subtitle, :image_path, :trend_number + + def initialize(options={}) + require_arguments [:presentation, :title, :subtitle, :image_path], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + resize_image! + @image_name = File.basename(@image_path) if @image_path != nil && @image_path != "" + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil && @image_name != "" + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(image_path)).type, path: "/ppt/media/#{image_name}" }] + end + + def resize_image! + unless image_path && File.file?(image_path) + return nil + end + + # See presentation.xml.erb p:sldSz cx/cy + slide_width = pt_to_pixle 12192000 + slide_height = pt_to_pixle 6858000 + + image = Magick::ImageList.new(image_path).first + image_height = image.rows + image_width = image.columns + image_ratio = image_width / image_height.to_f + + width = slide_width + height = slide_width / image_ratio + + if height < slide_height + height = slide_height + width = slide_height * image_ratio + end + + image.resize!(width, height) + image.crop!(Magick::CenterGravity, slide_width, slide_height) + image.write(image_path) + end + private :resize_image! + + def save_rel_xml(extract_path, index) + render_view('ff_trend_intro_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_trend_intro_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_list.rb b/lib/powerpoint/slide/ff_trend_list.rb new file mode 100644 index 00000000..03cbfc92 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_list.rb @@ -0,0 +1,36 @@ +require 'fileutils' +require 'erb' + +module Powerpoint + module Slide + class FFTrendList + include Powerpoint::Util + + attr_reader :title, :contents, :links, :trend_list_start_num + + def initialize(options={}) + require_arguments [:title, :contents, :links, :trend_list_start_num], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + end + + def save(extract_path, index) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def file_type + nil + end + + def save_rel_xml(extract_path, index) + render_view('ff_trend_list_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_trend_list_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_outro.rb b/lib/powerpoint/slide/ff_trend_outro.rb new file mode 100644 index 00000000..a1f1de94 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_outro.rb @@ -0,0 +1,37 @@ +require 'zip/filesystem' +require 'fileutils' +require 'erb' + +module Powerpoint + module Slide + class FFTrendOutro + include Powerpoint::Util + + attr_reader :title + + def initialize(options={}) + require_arguments [:presentation], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + end + + def save(extract_path, index) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def file_type + nil + end + + def save_rel_xml(extract_path, index) + render_view('ff_outro_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_outro_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_sector_impact.rb b/lib/powerpoint/slide/ff_trend_sector_impact.rb new file mode 100644 index 00000000..f628b0f1 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_sector_impact.rb @@ -0,0 +1,40 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' + +module Powerpoint + module Slide + class FFTrendSectorImpact + include Powerpoint::Util + + attr_reader :title, :content, :image_path, :image_name, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :image_path, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @image_name = File.basename(@image_path) if @image_path != nil + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(image_path)).type, path: "/ppt/media/#{image_name}" }] + end + + def save_rel_xml(extract_path, index) + render_view('ff_trend_sector_impact_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_trend_sector_impact_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_summary.rb b/lib/powerpoint/slide/ff_trend_summary.rb new file mode 100644 index 00000000..fcd548c4 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_summary.rb @@ -0,0 +1,42 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendSummary + include Powerpoint::Util + + attr_reader :title, :content, :image_path, :link + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :image_path, :link], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @image_name = File.basename(@image_path) if @image_path != nil && @image_path != "" + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(@image_path)).type, path: "/ppt/media/#{@image_name}" }] + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil && @image_name != "" + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_trend_summary_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_trend_summary_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_text_left_chart_right.rb b/lib/powerpoint/slide/ff_trend_text_left_chart_right.rb new file mode 100644 index 00000000..312fdabf --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_text_left_chart_right.rb @@ -0,0 +1,42 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendTextLeftChartRight + include Powerpoint::Util + + attr_reader :title, :content, :question_title, :question_subtitle, :image_path, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :question_title, :question_subtitle, :image_path, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @image_name = File.basename(@image_path) if @image_path != nil && @image_path != "" + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(@image_path)).type, path: "/ppt/media/#{@image_name}" }] + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil && @image_name != "" + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_text_left_chart_right_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_text_left_chart_right_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_text_left_image_right.rb b/lib/powerpoint/slide/ff_trend_text_left_image_right.rb new file mode 100644 index 00000000..7572c439 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_text_left_image_right.rb @@ -0,0 +1,42 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendTextLeftImageRight + include Powerpoint::Util + + attr_reader :title, :content, :image_path, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :image_path, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @image_name = File.basename(@image_path) if @image_path != nil && @image_path != "" + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(@image_path)).type, path: "/ppt/media/#{@image_name}" }] + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil && @image_name != "" + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_text_left_image_right_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_text_left_image_right_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_text_right_chart_left.rb b/lib/powerpoint/slide/ff_trend_text_right_chart_left.rb new file mode 100644 index 00000000..4684898f --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_text_right_chart_left.rb @@ -0,0 +1,42 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendTextRightChartLeft + include Powerpoint::Util + + attr_reader :title, :content, :question_title, :question_subtitle, :image_path, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :question_title, :question_subtitle, :image_path, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @image_name = File.basename(@image_path) if @image_path != nil && @image_path != "" + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(@image_path)).type, path: "/ppt/media/#{@image_name}" }] + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil && @image_name != "" + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_text_right_chart_left_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_text_right_chart_left_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_text_right_image_left.rb b/lib/powerpoint/slide/ff_trend_text_right_image_left.rb new file mode 100644 index 00000000..ba48b382 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_text_right_image_left.rb @@ -0,0 +1,42 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendTextRightImageLeft + include Powerpoint::Util + + attr_reader :title, :content, :image_path, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :image_path, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @image_name = File.basename(@image_path) if @image_path != nil && @image_path != "" + end + + def file_type + [{ type: MimeMagic.by_magic(File.open(@image_path)).type, path: "/ppt/media/#{@image_name}" }] + end + + def save(extract_path, index) + copy_media(extract_path, @image_path) if @image_path != nil && @image_name != "" + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_text_right_image_left_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_text_right_image_left_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_text_with_image.rb b/lib/powerpoint/slide/ff_trend_text_with_image.rb new file mode 100644 index 00000000..a25aa414 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_text_with_image.rb @@ -0,0 +1,56 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' +require 'nokogiri' + +module Powerpoint + module Slide + class FFTrendTextWithImage + include Powerpoint::Util + + attr_reader :title, :content, :image_path, :image, :links, :source + + def initialize(options={}) + require_arguments [:presentation], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + + @image = [File.basename(image_path), image_path] if image_path + end + + def file_type + if image + image_name, image_path = image + [ + { + type: MimeMagic.by_magic(File.open(image_path)).type, + path: "/ppt/media/#{image_name}" + } + ] + else + [] + end + end + + def save(extract_path, index) + if image + copy_media(extract_path, image[1]) + end + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_text_with_image_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_text_with_image_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_three_row_text.rb b/lib/powerpoint/slide/ff_trend_three_row_text.rb new file mode 100644 index 00000000..701503a3 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_three_row_text.rb @@ -0,0 +1,79 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' + +module Powerpoint + module Slide + class FFTrendThreeRowText + include Powerpoint::Util + + attr_reader :title, :content, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + + html_guard_blank = -> (html) do + if ooxml_blank?(html) + html = <<~HTML +

 

+ HTML + end + + html_to_ooxml(html) + end + + format_text = -> (text) do + text = text&.strip + if text.nil? || text.empty? + "\u00A0" + else + text + end.encode(:xml => :text) + end + + @main_heading_text = format_text.call( + content.dig('headingInput', 'value') + ) + @heading_one_text = format_text.call( + content.dig('column1', 'items', 'headingInput', 'value') + ) + @text_one = html_guard_blank.call( + content.dig('column1', 'items', 'textInput', 'value') + ) + @heading_two_text = format_text.call( + content.dig('column2', 'items', 'headingInput', 'value') + ) + @text_two = html_guard_blank.call( + content.dig('column2', 'items', 'textInput', 'value') + ) + @heading_three_text = format_text.call( + content.dig('column3', 'items', 'headingInput', 'value') + ) + @text_three = html_guard_blank.call( + content.dig('column3', 'items', 'textInput', 'value') + ) + end + + def save(extract_path, index) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def file_type + nil + end + + def save_rel_xml(extract_path, index) + render_view('ff_three_row_text_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_three_row_text_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_two_column_chart.rb b/lib/powerpoint/slide/ff_trend_two_column_chart.rb new file mode 100644 index 00000000..5d06afaf --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_two_column_chart.rb @@ -0,0 +1,44 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendTwoColumnChart + include Powerpoint::Util + + attr_reader :title, :content, :question, :images, :links + + def initialize(options={}) + require_arguments [:presentation, :title, :content, :question_titles, :question_subtitles, :images, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + @images = images.each.map { |image_path| [ File.basename(image_path), image_path ] } + end + + def file_type + @images.map{ |image_name, image_path| { type: MimeMagic.by_magic(File.open(image_path)).type, path: "/ppt/media/#{image_name.gsub('jpg','jpeg')}" } } + end + + def save(extract_path, index) + @images.each do |image_name, image_path| + copy_media(extract_path, image_path) if image_path != nil + end + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_two_column_chart_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_two_column_chart_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_two_column_text.rb b/lib/powerpoint/slide/ff_trend_two_column_text.rb new file mode 100644 index 00000000..02be6802 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_two_column_text.rb @@ -0,0 +1,36 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'mimemagic' + +module Powerpoint + module Slide + class FFTrendTwoColumnText + include Powerpoint::Util + + attr_reader :title, :left_col_title, :right_col_title, :left_col_content, :right_col_content, :links + + def initialize(options={}) + require_arguments [:presentation, :left_col_title, :right_col_title, :left_col_content, :right_col_content, :links], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + end + + def save(extract_path, index) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def save_rel_xml(extract_path, index) + render_view('ff_two_column_text_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_two_column_text_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + + end + end +end diff --git a/lib/powerpoint/slide/ff_trend_what_next.rb b/lib/powerpoint/slide/ff_trend_what_next.rb new file mode 100644 index 00000000..61939631 --- /dev/null +++ b/lib/powerpoint/slide/ff_trend_what_next.rb @@ -0,0 +1,67 @@ +require 'zip/filesystem' +require 'fileutils' +require 'fastimage' +require 'erb' +require 'sanitize' + +module Powerpoint + module Slide + class FFTrendWhatNext + include Powerpoint::Util + + attr_reader :title, :content, :cols + + def initialize(options={}) + require_arguments [:presentation, :title, :content], options + options.each {|k, v| instance_variable_set("@#{k}", v)} + + format_content = -> (html) { + case html + when String + text = Sanitize.clean(html).strip + text.empty? ? nil : text + else + nil + end + } + + @cols = content["rowsManagerInput"]["value"].each_with_index.map do |(row, row_num)| + columns = row['item']['items'] + + (0..2).map do |col_num| + format_content.call columns["textInput#{col_num + 1}"].dig('value') + end + end.transpose + + default_headers = [ + 'Previously', + 'Now', + 'In the future', + ] + @headers = (1..3).map do |i| + header = content.dig('headers', 'items', "headerInput#{i}", 'value')&.strip + header.nil? || header.empty? ? default_headers[i - 1] : header + end + end + + def save(extract_path, index) + save_rel_xml(extract_path, index) + save_slide_xml(extract_path, index) + end + + def file_type + nil + end + + def save_rel_xml(extract_path, index) + render_view('ff_what_next_rel.xml.erb', "#{extract_path}/ppt/slides/_rels/slide#{index}.xml.rels") + end + private :save_rel_xml + + def save_slide_xml(extract_path, index) + render_view('ff_what_next_slide.xml.erb', "#{extract_path}/ppt/slides/slide#{index}.xml") + end + private :save_slide_xml + end + end +end diff --git a/lib/powerpoint/slide/pictorial.rb b/lib/powerpoint/slide/pictorial.rb index c13051b9..2924e795 100644 --- a/lib/powerpoint/slide/pictorial.rb +++ b/lib/powerpoint/slide/pictorial.rb @@ -11,10 +11,10 @@ class Pictorial attr_reader :image_name, :title, :coords, :image_path def initialize(options={}) - require_arguments [:presentation, :title, :image_path], options - options.each {|k, v| instance_variable_set("@#{k}", v)} + require_arguments [:presentation, :title, :image_path], options + options.each {|k, v| instance_variable_set("@#{k}", v)} @coords = default_coords unless @coords.any? - @image_name = File.basename(@image_path) + @image_name = File.basename(@image_path) end def save(extract_path, index) diff --git a/lib/powerpoint/util.rb b/lib/powerpoint/util.rb index 200bccea..3b453da0 100644 --- a/lib/powerpoint/util.rb +++ b/lib/powerpoint/util.rb @@ -1,24 +1,64 @@ +require 'htmltoooxml' +require 'rmagick' +require 'pry' + module Powerpoint module Util + PT_CONVERSION_FACTOR = 12700 def pixle_to_pt(px) - px * 12700 + px * PT_CONVERSION_FACTOR + end + + def pt_to_pixle(pt) + pt / PT_CONVERSION_FACTOR + end + + # Get largest dimensions that maintain image aspect ratio and fit inside max + # Returns x and y such that element is centered in container + def size_and_position_image(image_path, x:, y:, max_height:, max_width:) + image = Magick::ImageList.new(image_path).first + image_height = image.rows + image_width = image.columns + image_ratio = image_width / image_height.to_f + # Maximise image height + target_height = max_height + target_width = target_height * image_ratio + + # Image height is less constrained than width, swap to maximise width + if target_width > max_width + target_width = max_width + target_height = target_width / image_ratio + end + + Struct.new(:height, :width, :y, :x, keyword_init: true).new( + height: target_height.round, + width: target_width.round, + # Half of remaining height (Round down) + y: y + ((max_height - target_height) / 2.0).floor, + # Half of remaining width (Round down) + x: x + ((max_width - target_width) / 2.0).floor, + ) end def render_view(template_name, path) view_contents = read_template(template_name) renderer = ERB.new(view_contents) data = renderer.result(binding) + File.open(path, 'wb:UTF-8') { |f| f << data } + end - File.open(path, 'w') { |f| f << data } + def render_raw(data, path) + File.open(path, 'wb:UTF-8') { |f| f << data } end def read_template(filename) File.read("#{Powerpoint::VIEW_PATH}/#{filename}") end - def require_arguments(required_argements, argements) - raise ArgumentError unless required_argements.all? {|required_key| argements.keys.include? required_key} + def require_arguments(required_arguments, arguments) + missing = required_arguments - arguments.keys + raise ArgumentError, "Missing required arguments: #{missing.join(', ')}" unless missing.empty? end def copy_media(extract_path, image_path) @@ -26,5 +66,44 @@ def copy_media(extract_path, image_path) dest_path = "#{extract_path}/ppt/media/#{image_name}" FileUtils.copy_file(image_path, dest_path) unless File.exist?(dest_path) end + + def html_to_ooxml(html) + source = Nokogiri::HTML(html.gsub(/>\s+<')) + result = Htmltoooxml::Document.new().transform_doc_xml(source, false) + result.gsub!(/\s*\s*/m, '') + result = remove_declaration(result) + result = remove_whitespace(result) + result = remove_newlines(result) + end + + def ooxml_blank?(ooxml) + if ooxml.nil? + true + else + is_blank_node = -> (node) do + case node + when Nokogiri::XML::Text + /\A[[:space:]]*\z/ =~ node.content + else + node.children.all?(&is_blank_node) + end + end + + Nokogiri::XML.parse(ooxml).children.all?(&is_blank_node) + end + end + + # Remove whitespace at start of paragraphs while preserving attributes + def remove_whitespace(ooxml) + ooxml.gsub(/]*)>[\s\t\n\r]*/,'') + end + + def remove_declaration(ooxml) + ooxml.sub(/<\?xml (.*?)>/, '').gsub(/\s*xmlns:(\w+)="(.*?)\s*"/, '') + end + + def remove_newlines(ooxml) + ooxml.gsub("\n","") + end end end diff --git a/lib/powerpoint/version.rb b/lib/powerpoint/version.rb index 94f0e551..f70ba537 100644 --- a/lib/powerpoint/version.rb +++ b/lib/powerpoint/version.rb @@ -1,3 +1,3 @@ module Powerpoint - VERSION = "1.8" + VERSION = "2.9.18" end diff --git a/lib/powerpoint/views/app.xml.erb b/lib/powerpoint/views/collision-2025/app.xml.erb old mode 100755 new mode 100644 similarity index 56% rename from lib/powerpoint/views/app.xml.erb rename to lib/powerpoint/views/collision-2025/app.xml.erb index 28b9fe30..430410f4 --- a/lib/powerpoint/views/app.xml.erb +++ b/lib/powerpoint/views/collision-2025/app.xml.erb @@ -1,51 +1,54 @@ - - - 0 - 43 - Microsoft Macintosh PowerPoint - On-screen Show (4:3) - 15 - <%= slides.length %> - 0 - 0 - 0 - false - - - - Fonts Used - - - 2 - - - Theme - - - 1 - - - Slide Titles - - - <%= slides.length %> - - - - - - Arial - Calibri - Office Theme - <% slides.each do |slide| %> - <%= slide.title %> - <% end %> - - - - false - false - false - 15.0000 - \ No newline at end of file + + + 313 + 3106 + Microsoft Office PowerPoint + Widescreen + 141 + <%= slides.length %> + <%= notes_slides.length %> + 0 + 0 + false + + + + Theme + + + <%= themes.length %> + + + Slide Titles + + + <%= slides.length %> + + + Fonts Used + + + 3 + + + + + + <% themes.each do |theme| %> + <%= theme[:name] %> + <% end %> + <% slides.each do |slide| %> + <%= slide.title.nil? ? "PowerPoint Presentation" : slide.title.strip.encode(:xml => :text) %> + <% end %> + Aptos + Arial + Wingdings + + + + false + false + false + 16.0000 + diff --git a/lib/powerpoint/views/collision-2025/content_type.xml.erb b/lib/powerpoint/views/collision-2025/content_type.xml.erb new file mode 100644 index 00000000..66c0bba5 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/content_type.xml.erb @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + <% masters.each_with_index do |master,index| %> + + <% end %> + <% notes_masters.each_with_index do |master,index| %> + + <% end %> + <% slides.each_with_index do |slide, index| %> + + <% end %> + + + <% themes.each_with_index do |theme, index| %> + + <% end %> + + + + <% layouts.each_with_index do |layout,index| %> + + <% end %> + <% file_types.each do |file| %> + <% next if file[:type].include? 'image' %> + + <% end %> + <% notes_slides.each do |note| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision-2025/core.xml.erb b/lib/powerpoint/views/collision-2025/core.xml.erb new file mode 100644 index 00000000..a0e331ba --- /dev/null +++ b/lib/powerpoint/views/collision-2025/core.xml.erb @@ -0,0 +1,13 @@ + + + Collision Presentation + Foresight Factory + Foresight Factory + 21 + <%= Time.now.strftime('%FT%TZ') %> + <%= Time.now.strftime('%FT%TZ') %> + diff --git a/lib/powerpoint/views/collision-2025/ff_embeded_slide_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_embeded_slide_rel.xml.erb new file mode 100644 index 00000000..2284d4ab --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_embeded_slide_rel.xml.erb @@ -0,0 +1 @@ +<%= @tmp_content %> diff --git a/lib/powerpoint/views/collision-2025/ff_embeded_slide_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_embeded_slide_slide.xml.erb new file mode 100644 index 00000000..414f002f --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_embeded_slide_slide.xml.erb @@ -0,0 +1 @@ +<%= content.to_xml.gsub('smtClean="0"','') %> diff --git a/lib/powerpoint/views/collision-2025/ff_heading_text_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_heading_text_rel.xml.erb new file mode 100644 index 00000000..0f385452 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_heading_text_rel.xml.erb @@ -0,0 +1,12 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + diff --git a/lib/powerpoint/views/collision-2025/ff_heading_text_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_heading_text_slide.xml.erb new file mode 100644 index 00000000..89df868a --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_heading_text_slide.xml.erb @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title ? title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_outro_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_outro_rel.xml.erb new file mode 100644 index 00000000..610e70b5 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_outro_rel.xml.erb @@ -0,0 +1,9 @@ + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_outro_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_outro_slide.xml.erb new file mode 100644 index 00000000..25411308 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_outro_slide.xml.erb @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Let’s talk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contact us today at + + + + + + + + + + + + clientpartners@foresightfactory.co + + + + for any questions or further guidance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This content is copyright of Foresight Factory International + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + © Foresight Factory 2025. All rights reserved. + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_left_chart_right_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_left_chart_right_rel.xml.erb new file mode 100644 index 00000000..b87913e5 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_left_chart_right_rel.xml.erb @@ -0,0 +1,15 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_left_chart_right_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_left_chart_right_slide.xml.erb new file mode 100644 index 00000000..734799f8 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_left_chart_right_slide.xml.erb @@ -0,0 +1,724 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= question_title ? question_title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= question_subtitle ? question_subtitle.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = pt_to_pixle(5463992) + min_y = pt_to_pixle(3480436) + max_width = pt_to_pixle(5729902) + max_height = pt_to_pixle(3126419) + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_left_image_right_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_left_image_right_rel.xml.erb new file mode 100644 index 00000000..7ec31301 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_left_image_right_rel.xml.erb @@ -0,0 +1,15 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_left_image_right_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_left_image_right_slide.xml.erb new file mode 100644 index 00000000..6f99d6fb --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_left_image_right_slide.xml.erb @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = pt_to_pixle(6095999) + min_y = pt_to_pixle(780756) + max_width = pt_to_pixle(6096000) + max_height = pt_to_pixle(5769356) + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content || html_to_ooxml(' ') %> + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_right_chart_left_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_right_chart_left_rel.xml.erb new file mode 100644 index 00000000..b87913e5 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_right_chart_left_rel.xml.erb @@ -0,0 +1,15 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_right_chart_left_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_right_chart_left_slide.xml.erb new file mode 100644 index 00000000..8da89af3 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_right_chart_left_slide.xml.erb @@ -0,0 +1,711 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= question_subtitle ? question_title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= question_subtitle ? question_subtitle.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = pt_to_pixle(565026) + min_y = pt_to_pixle(3480436) + max_width = pt_to_pixle(6187575) + max_height = pt_to_pixle(3126419) + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_right_image_left_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_right_image_left_rel.xml.erb new file mode 100644 index 00000000..7ec31301 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_right_image_left_rel.xml.erb @@ -0,0 +1,15 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_right_image_left_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_right_image_left_slide.xml.erb new file mode 100644 index 00000000..533c8c35 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_right_image_left_slide.xml.erb @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = pt_to_pixle(1) + min_y = pt_to_pixle(780756) + max_width = pt_to_pixle(6096000) + max_height = pt_to_pixle(5769356) + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content || html_to_ooxml(' ') %> + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_with_image_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_with_image_rel.xml.erb new file mode 100644 index 00000000..413cfece --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_with_image_rel.xml.erb @@ -0,0 +1,15 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + + diff --git a/lib/powerpoint/views/collision-2025/ff_text_with_image_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_text_with_image_slide.xml.erb new file mode 100644 index 00000000..abfabcd1 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_text_with_image_slide.xml.erb @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 327025 + min_y = 1955800 + max_width = 11537950 + max_height = 4454525 + + if ooxml_blank?(content) + new_min_y = 1349679 + max_height += min_y - new_min_y + min_y = new_min_y + end + + image_position_data = size_and_position_image( + image.last, + x: pt_to_pixle(min_x), + y: pt_to_pixle(min_y), + max_height: pt_to_pixle(max_height), + max_width: pt_to_pixle(max_width) + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content.length > 0 ? content : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title || "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= source || "\u00A0" %> + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_three_row_text_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_three_row_text_rel.xml.erb new file mode 100644 index 00000000..45b3b7e8 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_three_row_text_rel.xml.erb @@ -0,0 +1,12 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + diff --git a/lib/powerpoint/views/collision-2025/ff_three_row_text_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_three_row_text_slide.xml.erb new file mode 100644 index 00000000..9b20072c --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_three_row_text_slide.xml.erb @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @main_heading_text || "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @text_one || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @text_two || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @text_three || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @heading_two_text || "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @heading_three_text || "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @heading_one_text || "\u00A0" %> + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_trend_intro_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_trend_intro_rel.xml.erb new file mode 100644 index 00000000..88987ec8 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_trend_intro_rel.xml.erb @@ -0,0 +1,15 @@ + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_trend_intro_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_trend_intro_slide.xml.erb new file mode 100644 index 00000000..7255ccaf --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_trend_intro_slide.xml.erb @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title ? title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= subtitle ? subtitle.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + We’re here to help, get in touch: + + + + + + + + + + + + + + + + + + + clientpartners@foresightfactory.co + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% if trend_number != nil %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= trend_number || "\u00A0" %> + + + + + <% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_trend_list_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_trend_list_rel.xml.erb new file mode 100644 index 00000000..db6ca694 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_trend_list_rel.xml.erb @@ -0,0 +1,7 @@ + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision-2025/ff_trend_list_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_trend_list_slide.xml.erb new file mode 100644 index 00000000..02ad0bf3 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_trend_list_slide.xml.erb @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + <% @contents.each_with_index do |data,idx| %> + <% idx_lookup = [5,6,10] %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% data.each_with_index do |item,item_idx| %> + + + + + + + + + + + + + + + <%= item[:title] || "\u00A0" %> + + + + : + + + + + + + <%= item[:summary] || "\u00A0" %> + + + + <% end %> + + + + + + + <% end %> + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_trend_summary_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_trend_summary_rel.xml.erb new file mode 100644 index 00000000..c45b39f9 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_trend_summary_rel.xml.erb @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-2025/ff_trend_summary_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_trend_summary_slide.xml.erb new file mode 100644 index 00000000..b6fda1a5 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_trend_summary_slide.xml.erb @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + View the full trend + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = pt_to_pixle(1) + min_y = pt_to_pixle(780756) + max_width = pt_to_pixle(6096000) + max_height = pt_to_pixle(5769356) + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Trends to activate + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-2025/ff_two_column_chart_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_two_column_chart_rel.xml.erb new file mode 100644 index 00000000..7514b4b1 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_two_column_chart_rel.xml.erb @@ -0,0 +1,11 @@ + + + <% images.each_with_index do |image, index| %> + + <% end %> + + diff --git a/lib/powerpoint/views/collision-2025/ff_two_column_chart_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_two_column_chart_slide.xml.erb new file mode 100644 index 00000000..9409bbd3 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_two_column_chart_slide.xml.erb @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_subtitles[1] ? @question_subtitles[1].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_subtitles[0] ? @question_titles[0].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_subtitles[1] ? @question_titles[1].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_subtitles[0] ? @question_subtitles[0].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + image_position_data = size_and_position_image( + images[0].last, + x: pt_to_pixle(6467475), + y: pt_to_pixle(3581400), + max_height: pt_to_pixle(2849563), + max_width: pt_to_pixle(5219700), + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + image_position_data = size_and_position_image( + images[1].last, + x: pt_to_pixle(539750), + y: pt_to_pixle(3581400), + max_height: pt_to_pixle(2849563), + max_width: pt_to_pixle(5219700), + ) + %> + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_two_column_text_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_two_column_text_rel.xml.erb new file mode 100644 index 00000000..5804e899 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_two_column_text_rel.xml.erb @@ -0,0 +1,12 @@ + + + <% @links.each_with_index do |link, index| %> + + <% end %> + + diff --git a/lib/powerpoint/views/collision-2025/ff_two_column_text_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_two_column_text_slide.xml.erb new file mode 100644 index 00000000..2799df82 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_two_column_text_slide.xml.erb @@ -0,0 +1,707 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @left_col_title ? @left_col_title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @left_col_content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @right_col_title ? @right_col_title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @right_col_content || html_to_ooxml(' ') %> + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_what_next_rel.xml.erb b/lib/powerpoint/views/collision-2025/ff_what_next_rel.xml.erb new file mode 100644 index 00000000..6ee59d2e --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_what_next_rel.xml.erb @@ -0,0 +1,6 @@ + + + + diff --git a/lib/powerpoint/views/collision-2025/ff_what_next_slide.xml.erb b/lib/powerpoint/views/collision-2025/ff_what_next_slide.xml.erb new file mode 100644 index 00000000..dcb8cd40 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/ff_what_next_slide.xml.erb @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @headers[0] ? @headers[0].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @headers[1] ? @headers[1].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @headers[2] ? @headers[2].strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= cols[0][0] ? html_to_ooxml(cols[0][0]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= cols[1][0] ? html_to_ooxml(cols[1][0]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= cols[2][0] ? html_to_ooxml(cols[2][0]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= cols[0][1] ? html_to_ooxml(cols[0][1]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= cols[1][1] ? html_to_ooxml(cols[1][1]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + <%= cols[2][1] ? html_to_ooxml(cols[2][1]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= cols[0][2] ? html_to_ooxml(cols[0][2]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + <%= cols[1][2] ? html_to_ooxml(cols[1][2]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + <%= cols[2][2] ? html_to_ooxml(cols[2][2]) : html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title ? title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/pres_props.xml.erb b/lib/powerpoint/views/collision-2025/pres_props.xml.erb new file mode 100644 index 00000000..c340b7dc --- /dev/null +++ b/lib/powerpoint/views/collision-2025/pres_props.xml.erb @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/presentation.xml.erb b/lib/powerpoint/views/collision-2025/presentation.xml.erb new file mode 100644 index 00000000..59f3a774 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/presentation.xml.erb @@ -0,0 +1,144 @@ + + + <% masters.each_with_index do |master,index| %><% end %> + <% if notes_masters.length > 0 %><% notes_masters.each_with_index do |master,index| %><% end %><% end %> + <% slides.each_with_index do |slide, index| %><% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/presentation.xml.rel.erb b/lib/powerpoint/views/collision-2025/presentation.xml.rel.erb new file mode 100644 index 00000000..bdc82018 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/presentation.xml.rel.erb @@ -0,0 +1,13 @@ + + +<% masters.each_with_index do |master,index| %><% end %> +<% notes_masters.each_with_index do |master,index| %><% end %> +<% slides.each_with_index do |slide, index| %><% id = rel_index + (index+1) %><% end %> + + + + + + + + diff --git a/lib/powerpoint/views/collision-2025/slide_master.xml.rel.erb b/lib/powerpoint/views/collision-2025/slide_master.xml.rel.erb new file mode 100644 index 00000000..14a9f687 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/slide_master.xml.rel.erb @@ -0,0 +1,19 @@ + + + <% master_rel[:layouts].each do |layout| %> + <% @last_layout_id = layout[:id] %> + + <% end %> + <% master_rel[:embeds].each do |embed| %> + <% @last_embed_id = embed[:id] %> + + <% end %> + + + diff --git a/lib/powerpoint/views/collision-2025/table_styles.xml.erb b/lib/powerpoint/views/collision-2025/table_styles.xml.erb new file mode 100644 index 00000000..2fc68c16 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/table_styles.xml.erb @@ -0,0 +1,3 @@ + + diff --git a/lib/powerpoint/views/collision-2025/view_props.xml.erb b/lib/powerpoint/views/collision-2025/view_props.xml.erb new file mode 100644 index 00000000..0bfaf463 --- /dev/null +++ b/lib/powerpoint/views/collision-2025/view_props.xml.erb @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/app.xml.erb b/lib/powerpoint/views/collision-wide/app.xml.erb new file mode 100644 index 00000000..5bcce9a6 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/app.xml.erb @@ -0,0 +1,60 @@ + + + + 8815 + 2046 + Microsoft Macintosh PowerPoint + Widescreen + 70 + <%= slides.length %> + <%= notes_slides.length %> + 0 + 0 + false + + + + Fonts Used + + + 7 + + + Theme + + + 1 + + + Slide Titles + + + 15 + + + + + + <% themes.each do |theme| %> + <%= theme[:name] %> + <% end %> + <% slides.each do |slide| %> + <%= slide.title.nil? ? "PowerPoint Presentation" : slide.title.strip.encode(:xml => :text) %> + <% end %> + Arial + Calibri + Georgia + Times New Roman + Helvetica Neue Medium + Wingdings + Wingdings 3 + 1_FF2018 + PowerPoint Presentation + + + false + false + false + 16.0000 + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/content_type.xml.erb b/lib/powerpoint/views/collision-wide/content_type.xml.erb new file mode 100644 index 00000000..1a4e57fc --- /dev/null +++ b/lib/powerpoint/views/collision-wide/content_type.xml.erb @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + <% masters.each_with_index do |master,index| %> + + <% end %> + <% notes_masters.each_with_index do |master,index| %> + + <% end %> + <% slides.each_with_index do |slide, index| %> + + <% end %> + + + <% themes.each_with_index do |theme, index| %> + + <% end %> + + + + <% layouts.each_with_index do |layout,index| %> + + <% end %> + <% file_types.each do |file| %> + <% next if file[:type].include? 'image' %> + + <% end %> + <% notes_slides.each do |note| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/core.xml.erb b/lib/powerpoint/views/collision-wide/core.xml.erb new file mode 100644 index 00000000..d1d0fa82 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/core.xml.erb @@ -0,0 +1,13 @@ + + + Collision Presentation + Foresight Factory + Foresight Factory + 15 + <%= Time.now.strftime('%FT%TZ') %> + <%= Time.now.strftime('%FT%TZ') %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_embeded_slide_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_embeded_slide_rel.xml.erb new file mode 100644 index 00000000..78307cd9 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_embeded_slide_rel.xml.erb @@ -0,0 +1 @@ +<%= @tmp_content %> \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_embeded_slide_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_embeded_slide_slide.xml.erb new file mode 100644 index 00000000..414f002f --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_embeded_slide_slide.xml.erb @@ -0,0 +1 @@ +<%= content.to_xml.gsub('smtClean="0"','') %> diff --git a/lib/powerpoint/views/collision-wide/ff_trend_heading_text_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_heading_text_rel.xml.erb new file mode 100644 index 00000000..e97a1f0b --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_heading_text_rel.xml.erb @@ -0,0 +1,10 @@ + + + + <% @images.each_with_index do |image, index| %> + + <% end %> + <% links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_heading_text_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_heading_text_slide.xml.erb new file mode 100644 index 00000000..105c847f --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_heading_text_slide.xml.erb @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= ooxml_blank?(@content) ? html_to_ooxml(' ') : @content %> + + + <% @images.each_with_index do |path, index| %> + + + + + + + + + + + + + + + + + + <% + min_x = 30 + min_y = 180 + max_height = 280 + max_width = 907 + + if ooxml_blank?(@content) + max_height = 365 + min_y = 136 + end + + image_position_data = size_and_position_image( + path.last, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + <% end %> + + + + + + + + + + + + + + + + + + + + + + + + <%= (@title.nil? || @title.empty?) ? html_to_ooxml(' ') : @title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_intro_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_intro_rel.xml.erb new file mode 100644 index 00000000..201f9872 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_intro_rel.xml.erb @@ -0,0 +1,5 @@ + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_intro_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_intro_slide.xml.erb new file mode 100644 index 00000000..ab68bf4e --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_intro_slide.xml.erb @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= subtitle.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + <% if trend_number != nil %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= trend_number %> + + + + + <% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_list_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_list_rel.xml.erb new file mode 100644 index 00000000..42fb615a --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_list_rel.xml.erb @@ -0,0 +1,7 @@ + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_list_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_list_slide.xml.erb new file mode 100644 index 00000000..01a1eba4 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_list_slide.xml.erb @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title.strip.encode(:xml => :text) %> + + + + + + <% @contents.each_with_index do |data,idx| %> + <% idx_lookup = [5,6,10] %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% data.each_with_index do |item,item_idx| %> + + + + + + + + + + + + + + + <%= item[:title] %> + + + + : + + + + + + + <%= item[:summary] %> + + + + <% end %> + + + + + + + <% end %> + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_outro_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_outro_rel.xml.erb new file mode 100644 index 00000000..650fafc1 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_outro_rel.xml.erb @@ -0,0 +1,5 @@ + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_outro_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_outro_slide.xml.erb new file mode 100644 index 00000000..60bc8995 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_outro_slide.xml.erb @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_sector_impact_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_sector_impact_rel.xml.erb new file mode 100644 index 00000000..eb2c4cff --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_sector_impact_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_sector_impact_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_sector_impact_slide.xml.erb new file mode 100644 index 00000000..c2c58a93 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_sector_impact_slide.xml.erb @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + What this means for: + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_left_chart_right_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_left_chart_right_rel.xml.erb new file mode 100644 index 00000000..7f541bcf --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_left_chart_right_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_left_chart_right_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_left_chart_right_slide.xml.erb new file mode 100644 index 00000000..1cf0eb76 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_left_chart_right_slide.xml.erb @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source: Foresight Factory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 490 + min_y = 180 + max_height = 280 + max_width = 444 + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= !question_title.nil? ? question_title.strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= !question_subtitle.nil? ? question_subtitle.strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_left_image_right_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_left_image_right_rel.xml.erb new file mode 100644 index 00000000..39b0be87 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_left_image_right_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_left_image_right_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_left_image_right_slide.xml.erb new file mode 100644 index 00000000..f5e93b7e --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_left_image_right_slide.xml.erb @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 490 + min_y = 110 + max_height = 400 + max_width = 444 + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_right_chart_left_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_right_chart_left_rel.xml.erb new file mode 100644 index 00000000..37d357e7 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_right_chart_left_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_right_chart_left_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_right_chart_left_slide.xml.erb new file mode 100644 index 00000000..cca3402b --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_right_chart_left_slide.xml.erb @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source: Foresight Factory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 30 + min_y = 180 + max_height = 280 + max_width = 444 + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= !question_title.nil? ? question_title.strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= !question_subtitle.nil? ? question_subtitle.strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_right_image_left_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_right_image_left_rel.xml.erb new file mode 100644 index 00000000..39b0be87 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_right_image_left_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_text_right_image_left_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_text_right_image_left_slide.xml.erb new file mode 100644 index 00000000..da44f9e4 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_text_right_image_left_slide.xml.erb @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title ? @title.strip.encode(:xml => :text) : "\u00A0" %> + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 30 + min_y = 110 + max_height = 400 + max_width = 444 + + image_position_data = size_and_position_image( + @image_path, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_three_row_text_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_three_row_text_rel.xml.erb new file mode 100644 index 00000000..38840953 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_three_row_text_rel.xml.erb @@ -0,0 +1,9 @@ + + + + <% @links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_three_row_text_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_three_row_text_slide.xml.erb new file mode 100644 index 00000000..5265d771 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_three_row_text_slide.xml.erb @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @main_heading_text %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @heading_one_text %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @heading_two_text %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @heading_three_text %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @text_one %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @text_two %> + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @text_three %> + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_two_column_chart_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_two_column_chart_rel.xml.erb new file mode 100644 index 00000000..7ce42d3c --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_two_column_chart_rel.xml.erb @@ -0,0 +1,9 @@ + + + <% @images.each_with_index do |image, index| %> + + <% end %> + <% links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_two_column_chart_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_two_column_chart_slide.xml.erb new file mode 100644 index 00000000..8258ceb1 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_two_column_chart_slide.xml.erb @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 30 + min_y = 180 + max_height = 280 + max_width = 374 + + image_position_data = size_and_position_image( + @images[0][1], + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_titles[0].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_subtitles[0].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_titles[1].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @question_subtitles[1].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + <% + min_x = 490 + min_y = 180 + max_height = 280 + max_width = 374 + + image_position_data = size_and_position_image( + @images[1][1], + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_two_column_text_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_two_column_text_rel.xml.erb new file mode 100644 index 00000000..b4500c13 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_two_column_text_rel.xml.erb @@ -0,0 +1,7 @@ + + + + <% @links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_two_column_text_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_two_column_text_slide.xml.erb new file mode 100644 index 00000000..a2d38ceb --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_two_column_text_slide.xml.erb @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + <%= @left_col_content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @left_col_title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= @right_col_title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + <%= @right_col_content || html_to_ooxml(' ') %> + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/ff_trend_what_next_rel.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_what_next_rel.xml.erb new file mode 100644 index 00000000..9f142c1c --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_what_next_rel.xml.erb @@ -0,0 +1,4 @@ + + + + diff --git a/lib/powerpoint/views/collision-wide/ff_trend_what_next_slide.xml.erb b/lib/powerpoint/views/collision-wide/ff_trend_what_next_slide.xml.erb new file mode 100644 index 00000000..90c41b84 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/ff_trend_what_next_slide.xml.erb @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput1']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= (title.nil? || title.empty?) ? html_to_ooxml(' ') : title.strip.encode(:xml => :text) %> + + + + + <% cols.each_with_index do |block, i| %> + + + + + + + + + + + + + + + + + + <%= block[0].nil? ? html_to_ooxml(' ') : block[0].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= block[1].nil? ? html_to_ooxml(' ') : block[1].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= block[2].nil? ? html_to_ooxml(' ') : block[2].strip.encode(:xml => :text) %> + + + + + <% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision-wide/notes_master.xml.rel.erb b/lib/powerpoint/views/collision-wide/notes_master.xml.rel.erb new file mode 100644 index 00000000..5f29e81b --- /dev/null +++ b/lib/powerpoint/views/collision-wide/notes_master.xml.rel.erb @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/pres_props.xml.erb b/lib/powerpoint/views/collision-wide/pres_props.xml.erb new file mode 100644 index 00000000..b9c131e3 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/pres_props.xml.erb @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/presentation.xml.erb b/lib/powerpoint/views/collision-wide/presentation.xml.erb new file mode 100644 index 00000000..4885699c --- /dev/null +++ b/lib/powerpoint/views/collision-wide/presentation.xml.erb @@ -0,0 +1,327 @@ + + + <% masters.each_with_index do |master,index| %><% end %> + <% if notes_masters.length > 0 %><% notes_masters.each_with_index do |master,index| %><% end %><% end %> + <% slides.each_with_index do |slide, index| %><% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/presentation.xml.rel.erb b/lib/powerpoint/views/collision-wide/presentation.xml.rel.erb new file mode 100644 index 00000000..728f8677 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/presentation.xml.rel.erb @@ -0,0 +1,13 @@ + + +<% masters.each_with_index do |master,index| %><% end %> +<% notes_masters.each_with_index do |master,index| %><% end %> +<% slides.each_with_index do |slide, index| %><% id = rel_index + (index+1) %><% end %> + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/slide_master.xml.rel.erb b/lib/powerpoint/views/collision-wide/slide_master.xml.rel.erb new file mode 100644 index 00000000..84ce86a0 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/slide_master.xml.rel.erb @@ -0,0 +1,12 @@ + + + <% master_rel[:layouts].each do |layout| %> + <% @last_layout_id = layout[:id] %> + + <% end %> + <% master_rel[:embeds].each do |embed| %> + <% @last_embed_id = embed[:id] %> + + <% end %> + + diff --git a/lib/powerpoint/views/collision-wide/table_styles.xml.erb b/lib/powerpoint/views/collision-wide/table_styles.xml.erb new file mode 100644 index 00000000..0dd0dff2 --- /dev/null +++ b/lib/powerpoint/views/collision-wide/table_styles.xml.erb @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/lib/powerpoint/views/text_picture_split_rel.xml.erb b/lib/powerpoint/views/collision-wide/textual_rel.xml.erb similarity index 61% rename from lib/powerpoint/views/text_picture_split_rel.xml.erb rename to lib/powerpoint/views/collision-wide/textual_rel.xml.erb index 5f57d3dc..10700ed8 100644 --- a/lib/powerpoint/views/text_picture_split_rel.xml.erb +++ b/lib/powerpoint/views/collision-wide/textual_rel.xml.erb @@ -1,5 +1,4 @@ - - + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/textual_slide.xml.erb b/lib/powerpoint/views/collision-wide/textual_slide.xml.erb new file mode 100644 index 00000000..75ac9dec --- /dev/null +++ b/lib/powerpoint/views/collision-wide/textual_slide.xml.erb @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% content.each_with_index do |c, index| %> + + + + <%= c %> + + <% if content.length == (index + 1) %> + + <% end %> + + <% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision-wide/view_props.xml.erb b/lib/powerpoint/views/collision-wide/view_props.xml.erb new file mode 100644 index 00000000..9ddde6fc --- /dev/null +++ b/lib/powerpoint/views/collision-wide/view_props.xml.erb @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/collision/app.xml.erb b/lib/powerpoint/views/collision/app.xml.erb new file mode 100644 index 00000000..f45ed6e4 --- /dev/null +++ b/lib/powerpoint/views/collision/app.xml.erb @@ -0,0 +1,59 @@ + + + 741 + 100 + Microsoft Office PowerPoint + On-screen Show (4:3) + 100 + <%= slides.length %> + <%= notes_slides.length %> + 0 + 0 + false + + + + Fonts Used + + + 6 + + + Theme + + + <%= themes.length %> + + + Slide Titles + + + <%= slides.length %> + + + + + + <% themes.each do |theme| %> + <%= theme[:name] %> + <% end %> + <% slides.each do |slide| %> + <%= slide.title.nil? ? "PowerPoint Presentation" : slide.title.strip.encode(:xml => :text) %> + <% end %> + Arial + Calibri + Georgia + Times New Roman + Wingdings + Wingdings 3 + FF2018 + PowerPoint Presentation + + + false + false + false + 16.0000 + diff --git a/lib/powerpoint/views/collision/content_type.xml.erb b/lib/powerpoint/views/collision/content_type.xml.erb new file mode 100644 index 00000000..f83f7a87 --- /dev/null +++ b/lib/powerpoint/views/collision/content_type.xml.erb @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + <% masters.each_with_index do |master,index| %> + + <% end %> + <% notes_masters.each_with_index do |master,index| %> + + <% end %> + <% slides.each_with_index do |slide, index| %> + + <% end %> + + + <% themes.each_with_index do |theme, index| %> + + <% end %> + + + + <% layouts.each_with_index do |layout,index| %> + + <% end %> + <% file_types.each do |file| %> + <% next if file[:type].include? 'image' %> + + <% end %> + <% notes_slides.each do |note| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision/core.xml.erb b/lib/powerpoint/views/collision/core.xml.erb new file mode 100644 index 00000000..c9caa649 --- /dev/null +++ b/lib/powerpoint/views/collision/core.xml.erb @@ -0,0 +1,14 @@ + + + Collision + Foresight Factory + Philip Smith + 82 + <%= Time.now.strftime('%FT%TZ') %> + <%= Time.now.strftime('%FT%TZ') %> + diff --git a/lib/powerpoint/views/collision/ff_embeded_slide_rel.xml.erb b/lib/powerpoint/views/collision/ff_embeded_slide_rel.xml.erb new file mode 100644 index 00000000..78307cd9 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_embeded_slide_rel.xml.erb @@ -0,0 +1 @@ +<%= @tmp_content %> \ No newline at end of file diff --git a/lib/powerpoint/views/collision/ff_embeded_slide_slide.xml.erb b/lib/powerpoint/views/collision/ff_embeded_slide_slide.xml.erb new file mode 100644 index 00000000..414f002f --- /dev/null +++ b/lib/powerpoint/views/collision/ff_embeded_slide_slide.xml.erb @@ -0,0 +1 @@ +<%= content.to_xml.gsub('smtClean="0"','') %> diff --git a/lib/powerpoint/views/collision/ff_trend_heading_text_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_heading_text_rel.xml.erb new file mode 100644 index 00000000..22688eda --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_heading_text_rel.xml.erb @@ -0,0 +1,10 @@ + + + + <% @images.each_with_index do |image, index| %> + + <% end %> + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision/ff_trend_heading_text_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_heading_text_slide.xml.erb new file mode 100644 index 00000000..65925904 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_heading_text_slide.xml.erb @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content.presence || html_to_ooxml(' ') %> + + + <% if @images.count > 0 %><% @images.each_with_index do |path, index| %> + + + + + + + + + + + + + + + + + + <% + min_x = 80 + min_y = 193 + max_height = 287 + max_width = 542 + + if content.blank? + max_height = pt_to_pixle(4645026) + min_y = pt_to_pixle(1736725) + + if title.blank? + max_height += pt_to_pixle(886397) + min_y = pt_to_pixle(727200) + end + end + + image_position_data = size_and_position_image( + path.last, + x: min_x, + y: min_y, + max_height: max_height, + max_width: max_width + ) + %> + + + + + + + + + <% end %><% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_intro_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_intro_rel.xml.erb new file mode 100644 index 00000000..201f9872 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_intro_rel.xml.erb @@ -0,0 +1,5 @@ + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_intro_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_intro_slide.xml.erb new file mode 100644 index 00000000..2a2936a3 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_intro_slide.xml.erb @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= subtitle.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= title.length > 30 ? title.strip.encode(:xml => :text)[0..30].gsub(/\s\w+\s*$/,'...') : title.strip.encode(:xml => :text) %> + + + + + <% if trend_number != nil %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= trend_number %> + + + + + <% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_list_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_list_rel.xml.erb new file mode 100644 index 00000000..66a23512 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_list_rel.xml.erb @@ -0,0 +1,7 @@ + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision/ff_trend_list_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_list_slide.xml.erb new file mode 100644 index 00000000..01d35cdb --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_list_slide.xml.erb @@ -0,0 +1,297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source: Foresight Factory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% contents.each_with_index do |data,idx| %> + <% idx_lookup = [11,14,15] %> + + + + + + + + + + + + + + + + + + + + + <% data.each_with_index do |item,item_idx| %> + + + + + + + + + + + + + + + <%= item[:title] %> + + + + : + + + + + + + <%= item[:summary] %> + + + + <% end %> + + + + + + <% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_outro_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_outro_rel.xml.erb new file mode 100644 index 00000000..510f6b5d --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_outro_rel.xml.erb @@ -0,0 +1,6 @@ + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_outro_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_outro_slide.xml.erb new file mode 100644 index 00000000..1155c4bb --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_outro_slide.xml.erb @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + collision-help@foresightfactory.co + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_sector_impact_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_sector_impact_rel.xml.erb new file mode 100644 index 00000000..dfeff34b --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_sector_impact_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision/ff_trend_sector_impact_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_sector_impact_slide.xml.erb new file mode 100644 index 00000000..21bfba22 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_sector_impact_slide.xml.erb @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content) %> + + + + + + + + + + + + + + + + + + + + What this means for: + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_three_row_text_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_three_row_text_rel.xml.erb new file mode 100644 index 00000000..bd9d0e5b --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_three_row_text_rel.xml.erb @@ -0,0 +1,8 @@ + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision/ff_trend_three_row_text_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_three_row_text_slide.xml.erb new file mode 100644 index 00000000..b2d428c9 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_three_row_text_slide.xml.erb @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content['headingInput']['value'].empty? ? ' ' : content['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['column1']['items']['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['column2']['items']['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['column3']['items']['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content['column1']['items']['textInput']['value']) %> + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content['column2']['items']['textInput']['value']) %> + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content['column3']['items']['textInput']['value']) %> + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_three_rows_text_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_three_rows_text_rel.xml.erb new file mode 100644 index 00000000..bd9d0e5b --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_three_rows_text_rel.xml.erb @@ -0,0 +1,8 @@ + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/collision/ff_trend_what_next_rel.xml.erb b/lib/powerpoint/views/collision/ff_trend_what_next_rel.xml.erb new file mode 100644 index 00000000..e0272193 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_what_next_rel.xml.erb @@ -0,0 +1,4 @@ + + + + diff --git a/lib/powerpoint/views/collision/ff_trend_what_next_slide.xml.erb b/lib/powerpoint/views/collision/ff_trend_what_next_slide.xml.erb new file mode 100644 index 00000000..fd8d9440 --- /dev/null +++ b/lib/powerpoint/views/collision/ff_trend_what_next_slide.xml.erb @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput1']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput2']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput3']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.empty? ? ' ' : title.strip.encode(:xml => :text) %> + + + + + <% cols.each_with_index do |block, i| %> + <% next if block[i].nil? %> + + + + + + + + + + + + + + + + + + <%= block.count > 0 ? block[0].strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + <%= block.count > 1 ? block[1].strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + <%= block.count > 2 ? block[2].strip.encode(:xml => :text) : '' %> + + + + + <% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/notes_master.xml.rel.erb b/lib/powerpoint/views/collision/notes_master.xml.rel.erb new file mode 100644 index 00000000..718a8860 --- /dev/null +++ b/lib/powerpoint/views/collision/notes_master.xml.rel.erb @@ -0,0 +1,5 @@ + + + + diff --git a/lib/powerpoint/views/collision/pres_props.xml.erb b/lib/powerpoint/views/collision/pres_props.xml.erb new file mode 100644 index 00000000..1c7e52e6 --- /dev/null +++ b/lib/powerpoint/views/collision/pres_props.xml.erb @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/presentation.xml.erb b/lib/powerpoint/views/collision/presentation.xml.erb new file mode 100644 index 00000000..c5a5b47c --- /dev/null +++ b/lib/powerpoint/views/collision/presentation.xml.erb @@ -0,0 +1,116 @@ + + + <% masters.each_with_index do |master,index| %><% end %> + <% if notes_masters.length > 0 %><% notes_masters.each_with_index do |master,index| %><% end %><% end %> + <% slides.each_with_index do |slide, index| %><% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/collision/presentation.xml.rel.erb b/lib/powerpoint/views/collision/presentation.xml.rel.erb new file mode 100644 index 00000000..bdc82018 --- /dev/null +++ b/lib/powerpoint/views/collision/presentation.xml.rel.erb @@ -0,0 +1,13 @@ + + +<% masters.each_with_index do |master,index| %><% end %> +<% notes_masters.each_with_index do |master,index| %><% end %> +<% slides.each_with_index do |slide, index| %><% id = rel_index + (index+1) %><% end %> + + + + + + + + diff --git a/lib/powerpoint/views/collision/slide_master.xml.rel.erb b/lib/powerpoint/views/collision/slide_master.xml.rel.erb new file mode 100644 index 00000000..84ce86a0 --- /dev/null +++ b/lib/powerpoint/views/collision/slide_master.xml.rel.erb @@ -0,0 +1,12 @@ + + + <% master_rel[:layouts].each do |layout| %> + <% @last_layout_id = layout[:id] %> + + <% end %> + <% master_rel[:embeds].each do |embed| %> + <% @last_embed_id = embed[:id] %> + + <% end %> + + diff --git a/lib/powerpoint/views/collision/table_styles.xml.erb b/lib/powerpoint/views/collision/table_styles.xml.erb new file mode 100644 index 00000000..a03b8a8f --- /dev/null +++ b/lib/powerpoint/views/collision/table_styles.xml.erb @@ -0,0 +1,2 @@ + + diff --git a/lib/powerpoint/views/textual_rel.xml.erb b/lib/powerpoint/views/collision/textual_rel.xml.erb similarity index 79% rename from lib/powerpoint/views/textual_rel.xml.erb rename to lib/powerpoint/views/collision/textual_rel.xml.erb index bc0fe29f..b4fd8eee 100644 --- a/lib/powerpoint/views/textual_rel.xml.erb +++ b/lib/powerpoint/views/collision/textual_rel.xml.erb @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/lib/powerpoint/views/textual_slide.xml.erb b/lib/powerpoint/views/collision/textual_slide.xml.erb similarity index 97% rename from lib/powerpoint/views/textual_slide.xml.erb rename to lib/powerpoint/views/collision/textual_slide.xml.erb index 5bea44e7..2177d556 100644 --- a/lib/powerpoint/views/textual_slide.xml.erb +++ b/lib/powerpoint/views/collision/textual_slide.xml.erb @@ -55,7 +55,7 @@ <% content.each_with_index do |c, index| %> - + <%= c %> <% if content.length == (index + 1) %> diff --git a/lib/powerpoint/views/collision/view_props.xml.erb b/lib/powerpoint/views/collision/view_props.xml.erb new file mode 100644 index 00000000..0ff02eeb --- /dev/null +++ b/lib/powerpoint/views/collision/view_props.xml.erb @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/powerpoint/views/content_type.xml.erb b/lib/powerpoint/views/content_type.xml.erb deleted file mode 100644 index 2798d86d..00000000 --- a/lib/powerpoint/views/content_type.xml.erb +++ /dev/null @@ -1,30 +0,0 @@ - - - - - <% file_types.each do |type| %> - - <% end %> - - - <% slides.each_with_index do |slide, index| %> - - <% end %> - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/app.xml.erb b/lib/powerpoint/views/ffonline/app.xml.erb new file mode 100755 index 00000000..f1f5e34e --- /dev/null +++ b/lib/powerpoint/views/ffonline/app.xml.erb @@ -0,0 +1,41 @@ + + + 0 + Microsoft Office PowerPoint + On-screen Show (4:3) + 100 + 10 + <%= slides.length %> + <%= notes_slides.length %> + 0 + 0 + false + + + + Theme + + + <%= themes.length %> + + + Slide Titles + + + <%= slides.length %> + + + + + + <% themes.each do |theme| %> + <%= theme[:name] %> + <% end %> + <% slides.each do |slide| %><%= slide.title.nil? ? "PowerPoint Presentation" : slide.title.strip.encode(:xml => :text) %><% end %> + + + false + false + false + 14.0000 + \ No newline at end of file diff --git a/lib/powerpoint/views/pictorial_rel.xml.erb b/lib/powerpoint/views/ffonline/backup/ff_trend_intro_rel.xml.erb similarity index 65% rename from lib/powerpoint/views/pictorial_rel.xml.erb rename to lib/powerpoint/views/ffonline/backup/ff_trend_intro_rel.xml.erb index 4cb8784a..ed8b8d7e 100644 --- a/lib/powerpoint/views/pictorial_rel.xml.erb +++ b/lib/powerpoint/views/ffonline/backup/ff_trend_intro_rel.xml.erb @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/backup/ff_trend_intro_slide.xml.erb b/lib/powerpoint/views/ffonline/backup/ff_trend_intro_slide.xml.erb new file mode 100644 index 00000000..081080b2 --- /dev/null +++ b/lib/powerpoint/views/ffonline/backup/ff_trend_intro_slide.xml.erb @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title %> + + + + + + + + + + + + + + + + + + + + + + <%= subtitle %> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/content_type.xml.erb b/lib/powerpoint/views/ffonline/content_type.xml.erb new file mode 100644 index 00000000..bcaff3d0 --- /dev/null +++ b/lib/powerpoint/views/ffonline/content_type.xml.erb @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + <% masters.each_with_index do |master,index| %> + + <% end %> + <% notes_masters.each_with_index do |master,index| %> + + <% end %> + <% slides.each_with_index do |slide, index| %> + + <% end %> + + + <% themes.each_with_index do |theme, index| %> + + <% end %> + + + + <% layouts.each_with_index do |layout,index| %> + + <% end %> + <% file_types.each do |file| %> + <% next if file[:type].include? 'image' %> + + <% end %> + <% notes_slides.each do |note| %> + + <% end %> + diff --git a/lib/powerpoint/views/ffonline/core.xml.erb b/lib/powerpoint/views/ffonline/core.xml.erb new file mode 100644 index 00000000..067e71b2 --- /dev/null +++ b/lib/powerpoint/views/ffonline/core.xml.erb @@ -0,0 +1,9 @@ + + + FFonline + Foresight Factory + Foresight Factory + 1 + <%= Time.now.strftime('%FT%TZ') %> + <%= Time.now.strftime('%FT%TZ') %> + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_embeded_slide_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_embeded_slide_rel.xml.erb new file mode 100644 index 00000000..78307cd9 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_embeded_slide_rel.xml.erb @@ -0,0 +1 @@ +<%= @tmp_content %> \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_embeded_slide_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_embeded_slide_slide.xml.erb new file mode 100644 index 00000000..414f002f --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_embeded_slide_slide.xml.erb @@ -0,0 +1 @@ +<%= content.to_xml.gsub('smtClean="0"','') %> diff --git a/lib/powerpoint/views/ffonline/ff_trend_heading_text_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_heading_text_rel.xml.erb new file mode 100644 index 00000000..d2baba6d --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_heading_text_rel.xml.erb @@ -0,0 +1,10 @@ + + + + <% @images.each_with_index do |image, index| %> + + <% end %> + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/ffonline/ff_trend_heading_text_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_heading_text_slide.xml.erb new file mode 100644 index 00000000..deb91fd8 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_heading_text_slide.xml.erb @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + + <%= content %> + + <% if @images.count > 0 %><% @images.each_with_index do |path, index| %> + + + + + + + + + + + + + + + + + + + + + + + + + + <% end %><% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/ffonline/ff_trend_intro_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_intro_rel.xml.erb new file mode 100644 index 00000000..15159d7a --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_intro_rel.xml.erb @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_intro_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_intro_slide.xml.erb new file mode 100644 index 00000000..18a4e94c --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_intro_slide.xml.erb @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.length > 30 ? title.strip.encode(:xml => :text)[0..30].gsub(/\s\w+\s*$/,'...') : title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= subtitle.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_outro_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_outro_rel.xml.erb new file mode 100644 index 00000000..e3130ac4 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_outro_rel.xml.erb @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_outro_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_outro_slide.xml.erb new file mode 100644 index 00000000..d26c7147 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_outro_slide.xml.erb @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For more information please contact your account team. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_sector_impact_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_sector_impact_rel.xml.erb new file mode 100644 index 00000000..82fd8843 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_sector_impact_rel.xml.erb @@ -0,0 +1,8 @@ + + + + + <% links.each_with_index do |link,index| %> + + <% end %> + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_sector_impact_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_sector_impact_slide.xml.erb new file mode 100644 index 00000000..43347b12 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_sector_impact_slide.xml.erb @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sector Impact + + + + + + + + + + + + + + + + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + <%= html_to_ooxml(content) %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_three_row_text_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_three_row_text_rel.xml.erb new file mode 100644 index 00000000..805223a0 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_three_row_text_rel.xml.erb @@ -0,0 +1,8 @@ + + + + <% links.each_with_index do |link,index| %> + + <% end %> + diff --git a/lib/powerpoint/views/ffonline/ff_trend_three_row_text_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_three_row_text_slide.xml.erb new file mode 100644 index 00000000..e7f4363f --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_three_row_text_slide.xml.erb @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= content['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['column1']['items']['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['column2']['items']['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['column3']['items']['headingInput']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content['column1']['items']['textInput']['value']) %> + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content['column2']['items']['textInput']['value']) %> + + + + + + + + + + + + + + + + + <%= html_to_ooxml(content['column3']['items']['textInput']['value']) %> + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_three_rows_text_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_three_rows_text_rel.xml.erb new file mode 100644 index 00000000..e73e8ad8 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_three_rows_text_rel.xml.erb @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_what_next_rel.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_what_next_rel.xml.erb new file mode 100644 index 00000000..cc7f152c --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_what_next_rel.xml.erb @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/ff_trend_what_next_slide.xml.erb b/lib/powerpoint/views/ffonline/ff_trend_what_next_slide.xml.erb new file mode 100644 index 00000000..1716c787 --- /dev/null +++ b/lib/powerpoint/views/ffonline/ff_trend_what_next_slide.xml.erb @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%= title.strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput1']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput2']['value'].strip.encode(:xml => :text) %> + + + + + + + + + + + + + + + + + + + + + + <%= content['headers']['items']['headerInput3']['value'].strip.encode(:xml => :text) %> + + + + + <% cols.each_with_index do |block, i| %> + <% next if block[i].nil? %> + + + + + + + + + + + + + + + + + + <%= block.count > 0 ? block[0].strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + + <%= block.count > 1 ? block[1].strip.encode(:xml => :text) : '' %> + + + + + + + + + + + + + + + + + + + + + + + <%= block.count > 2 ? block[2].strip.encode(:xml => :text) : '' %> + + + + + + <% end %> + + + + + + + + + + + diff --git a/lib/powerpoint/views/ffonline/notes_master.xml.rel.erb b/lib/powerpoint/views/ffonline/notes_master.xml.rel.erb new file mode 100644 index 00000000..d0630a63 --- /dev/null +++ b/lib/powerpoint/views/ffonline/notes_master.xml.rel.erb @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/template/ppt/presProps.xml b/lib/powerpoint/views/ffonline/pres_props.xml.erb old mode 100755 new mode 100644 similarity index 93% rename from template/ppt/presProps.xml rename to lib/powerpoint/views/ffonline/pres_props.xml.erb index aa252673..d712e04b --- a/template/ppt/presProps.xml +++ b/lib/powerpoint/views/ffonline/pres_props.xml.erb @@ -1,14 +1,14 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/presentation.xml.erb b/lib/powerpoint/views/ffonline/presentation.xml.erb new file mode 100644 index 00000000..b975c7fa --- /dev/null +++ b/lib/powerpoint/views/ffonline/presentation.xml.erb @@ -0,0 +1,154 @@ + + +<% masters.each_with_index do |master,index| %><% end %> +<% if notes_masters.length > 0 %><% notes_masters.each_with_index do |master,index| %><% end %><% end %> +<% slides.each_with_index do |slide, index| %><% end %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/presentation.xml.rel.erb b/lib/powerpoint/views/ffonline/presentation.xml.rel.erb new file mode 100644 index 00000000..728f8677 --- /dev/null +++ b/lib/powerpoint/views/ffonline/presentation.xml.rel.erb @@ -0,0 +1,13 @@ + + +<% masters.each_with_index do |master,index| %><% end %> +<% notes_masters.each_with_index do |master,index| %><% end %> +<% slides.each_with_index do |slide, index| %><% id = rel_index + (index+1) %><% end %> + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/slide_master.xml.rel.erb b/lib/powerpoint/views/ffonline/slide_master.xml.rel.erb new file mode 100644 index 00000000..23d9896d --- /dev/null +++ b/lib/powerpoint/views/ffonline/slide_master.xml.rel.erb @@ -0,0 +1,12 @@ + + + <% master_rel[:layouts].each do |layout| %> + <% @last_layout_id = layout[:id] %> + + <% end %> + <% master_rel[:embeds].each do |embed| %> + <% @last_embed_id = embed[:id] %> + + <% end %> + + \ No newline at end of file diff --git a/lib/powerpoint/views/ffonline/table_styles.xml.erb b/lib/powerpoint/views/ffonline/table_styles.xml.erb new file mode 100644 index 00000000..0dd0dff2 --- /dev/null +++ b/lib/powerpoint/views/ffonline/table_styles.xml.erb @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/lib/powerpoint/views/picture_description_rels.xml.erb b/lib/powerpoint/views/ffonline/textual_rel.xml.erb similarity index 68% rename from lib/powerpoint/views/picture_description_rels.xml.erb rename to lib/powerpoint/views/ffonline/textual_rel.xml.erb index 779f7073..b4fd8eee 100644 --- a/lib/powerpoint/views/picture_description_rels.xml.erb +++ b/lib/powerpoint/views/ffonline/textual_rel.xml.erb @@ -1,5 +1,4 @@ - \ No newline at end of file diff --git a/lib/powerpoint/views/intro_slide.xml.erb b/lib/powerpoint/views/ffonline/textual_slide.xml.erb similarity index 80% rename from lib/powerpoint/views/intro_slide.xml.erb rename to lib/powerpoint/views/ffonline/textual_slide.xml.erb index c77d3631..2177d556 100644 --- a/lib/powerpoint/views/intro_slide.xml.erb +++ b/lib/powerpoint/views/ffonline/textual_slide.xml.erb @@ -22,7 +22,7 @@ - + @@ -40,31 +40,35 @@ - + - + + <% content.each_with_index do |c, index| %> - - <%= subtitile %> + + <%= c %> - + <% if content.length == (index + 1) %> + + <% end %> + <% end %> - + diff --git a/lib/powerpoint/views/ffonline/view_props.xml.erb b/lib/powerpoint/views/ffonline/view_props.xml.erb new file mode 100644 index 00000000..e130bdeb --- /dev/null +++ b/lib/powerpoint/views/ffonline/view_props.xml.erb @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/powerpoint/views/pictorial_slide.xml.erb b/lib/powerpoint/views/pictorial_slide.xml.erb deleted file mode 100644 index 38c5ad82..00000000 --- a/lib/powerpoint/views/pictorial_slide.xml.erb +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <%= title %> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <% if coords.any? %> - - - - - - - - - - <% else %> - - <% end %> - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/powerpoint/views/picture_description_slide.xml.erb b/lib/powerpoint/views/picture_description_slide.xml.erb deleted file mode 100644 index f1721803..00000000 --- a/lib/powerpoint/views/picture_description_slide.xml.erb +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <%= title %> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <% if coords.any? %> - - - - - - - - - - <% else %> - - <% end %> - - - - - - - - - - - - - - - - <% content.each_with_index do |c, index| %> - - - - <%= c %> - - <% if content.length == (index + 1) %> - - <% end %> - - <% end %> - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/powerpoint/views/presentation.xml.erb b/lib/powerpoint/views/presentation.xml.erb deleted file mode 100644 index b3f3be07..00000000 --- a/lib/powerpoint/views/presentation.xml.erb +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - <% slides.each_with_index do |slide, index| %> - - <% end %> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/powerpoint/views/presentation.xml.rel.erb b/lib/powerpoint/views/presentation.xml.rel.erb deleted file mode 100644 index e970d24e..00000000 --- a/lib/powerpoint/views/presentation.xml.rel.erb +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - <% slides.each_with_index do |slide, index| %> - <% id = 5 + (index+1) %> - - <% end %> - \ No newline at end of file diff --git a/lib/powerpoint/views/text_picture_split_slide.xml.erb b/lib/powerpoint/views/text_picture_split_slide.xml.erb deleted file mode 100644 index 4c992875..00000000 --- a/lib/powerpoint/views/text_picture_split_slide.xml.erb +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <%= title %> - - - - - - - - - - - - - - - - - - - - <% content.each_with_index do |c, index| %> - - - - <%= c %> - - <% if content.length == (index + 1) %> - - <% end %> - - <% end %> - - - - - - - - - - - - - - - - - - - - - - - - - <% if coords.any? %> - - - - - - - - - - <% else %> - - <% end %> - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/validator.rb b/lib/validator.rb new file mode 100755 index 00000000..5d121f36 --- /dev/null +++ b/lib/validator.rb @@ -0,0 +1,25 @@ +#! /usr/bin/ruby + +load 'powerpoint' + +presentation = Powerpoint::ReadPresentation.new "~/Downloads/beyond-human_full_trend 3.pptx" +content_types_xml = Nokogiri::XML::Document.parse(presentation.files.file.open presentation.content_types_file) +presentation_rels_xml = Nokogiri::XML::Document.parse(presentation.files.file.open presentation.presentation_rels_file) + +puts "Checking content type definitions exist" +content_types_xml.css('Override').each do |part| + puts "#{part['PartName']} missing" unless presentation.files.file.open part['PartName'].gsub('/ppt','ppt') +end + +puts "Checking presentation elements exist" +presentation_rels_xml.css('Relationship').each do |node| + puts node['Target'] + puts "#{node['Target']}" unless presentation.files.file.open "ppt/#{node['Target']}" +end + +puts "Checking slide rels" +presentation.slides.each do |slide| + slide.raw_relation_content.css('Relationship').each do |node| + puts "#{node['Target']}" unless presentation.files.file.open node['Target'].gsub('../','ppt/') + end +end \ No newline at end of file diff --git a/powerpoint.gemspec b/powerpoint.gemspec index 2277e79c..97535a8c 100644 --- a/powerpoint.gemspec +++ b/powerpoint.gemspec @@ -6,11 +6,11 @@ require 'powerpoint/version' Gem::Specification.new do |spec| spec.name = "powerpoint" spec.version = Powerpoint::VERSION - spec.authors = ["pythonicrubyist"] - spec.email = ["pythonicrubyist@gmail.com"] + spec.authors = ["spicerack", "pythonicrubyist"] + spec.email = ["justin.boynton@spicerack.co.uk"] spec.description = %q{A Ruby gem that can create a PowerPoint presentation.} spec.summary = %q{powerpoint is a Ruby gem that can create a PowerPoint presentation based on a standard pptx template.} - spec.homepage = "https://github.com/pythonicrubyist/powerpoint" + spec.homepage = "https://github.com/stylefoundry/powerpoint" spec.license = "MIT" spec.files = `git ls-files`.split($/) @@ -20,12 +20,16 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 1.9.2' - spec.add_development_dependency "bundler", "~> 1.3" + spec.add_development_dependency "bundler", ">= 1.3" spec.add_development_dependency "rake" spec.add_development_dependency 'rspec', '~> 2.13.0' spec.add_development_dependency 'pry' - - spec.add_dependency 'rubyzip', '~> 1' - spec.add_dependency 'fastimage', '~> 1' + spec.add_dependency 'rubyzip' + spec.add_dependency 'fastimage', '~> 2' + spec.add_dependency 'nokogiri' + spec.add_dependency 'htmltoooxml' + spec.add_dependency 'sanitize' + spec.add_dependency 'mimemagic' + spec.add_dependency 'rmagick' end diff --git a/samples/images/image1.png b/samples/images/image1.png new file mode 100644 index 00000000..1e33a4d9 Binary files /dev/null and b/samples/images/image1.png differ diff --git a/samples/images/image2.png b/samples/images/image2.png new file mode 100644 index 00000000..bafe8fb9 Binary files /dev/null and b/samples/images/image2.png differ diff --git a/samples/images/image3.png b/samples/images/image3.png new file mode 100644 index 00000000..125ccd99 Binary files /dev/null and b/samples/images/image3.png differ diff --git a/samples/images/image4.jpeg b/samples/images/image4.jpeg new file mode 100644 index 00000000..bf37b2be Binary files /dev/null and b/samples/images/image4.jpeg differ diff --git a/samples/images/image5.jpeg b/samples/images/image5.jpeg new file mode 100644 index 00000000..40a68f3f Binary files /dev/null and b/samples/images/image5.jpeg differ diff --git a/samples/images/sample_jpg.jpg b/samples/images/sample_jpg.jpg old mode 100755 new mode 100644 diff --git a/samples/images/sector_leisure.jpeg b/samples/images/sector_leisure.jpeg new file mode 100644 index 00000000..232a0352 Binary files /dev/null and b/samples/images/sector_leisure.jpeg differ diff --git a/samples/images/sector_leisure.jpg b/samples/images/sector_leisure.jpg new file mode 100644 index 00000000..232a0352 Binary files /dev/null and b/samples/images/sector_leisure.jpg differ diff --git a/samples/images/white.jpeg b/samples/images/white.jpeg new file mode 100644 index 00000000..fba72836 Binary files /dev/null and b/samples/images/white.jpeg differ diff --git a/samples/pptx/35051.pptx b/samples/pptx/35051.pptx new file mode 100644 index 00000000..19badad8 Binary files /dev/null and b/samples/pptx/35051.pptx differ diff --git a/samples/pptx/35848.pptx b/samples/pptx/35848.pptx new file mode 100644 index 00000000..391ad17a Binary files /dev/null and b/samples/pptx/35848.pptx differ diff --git a/samples/pptx/41209.pptx b/samples/pptx/41209.pptx new file mode 100644 index 00000000..8387d8b8 Binary files /dev/null and b/samples/pptx/41209.pptx differ diff --git a/samples/pptx/43366.pptx b/samples/pptx/43366.pptx new file mode 100644 index 00000000..4e03941d Binary files /dev/null and b/samples/pptx/43366.pptx differ diff --git a/samples/pptx/TR_EU_Reasons_for_going_on_a_holiday_eb2016_2016.pptx b/samples/pptx/TR_EU_Reasons_for_going_on_a_holiday_eb2016_2016.pptx new file mode 100644 index 00000000..8a8dd841 Binary files /dev/null and b/samples/pptx/TR_EU_Reasons_for_going_on_a_holiday_eb2016_2016.pptx differ diff --git a/samples/pptx/latest_master.pptx b/samples/pptx/latest_master.pptx new file mode 100644 index 00000000..7209bf39 Binary files /dev/null and b/samples/pptx/latest_master.pptx differ diff --git a/samples/pptx/sample.pptx b/samples/pptx/sample.pptx index 1221afc4..117a7988 100644 Binary files a/samples/pptx/sample.pptx and b/samples/pptx/sample.pptx differ diff --git a/samples/pptx/sr-ff-master-template.pptx b/samples/pptx/sr-ff-master-template.pptx new file mode 100644 index 00000000..aae4b458 Binary files /dev/null and b/samples/pptx/sr-ff-master-template.pptx differ diff --git a/samples/pptx/test-broken-chart.pptx b/samples/pptx/test-broken-chart.pptx new file mode 100644 index 00000000..a56c86f1 Binary files /dev/null and b/samples/pptx/test-broken-chart.pptx differ diff --git a/samples/pptx/test-output - Repaired.pptx b/samples/pptx/test-output - Repaired.pptx new file mode 100644 index 00000000..4e75b0b1 Binary files /dev/null and b/samples/pptx/test-output - Repaired.pptx differ diff --git a/samples/pptx/test-output.pptx b/samples/pptx/test-output.pptx new file mode 100644 index 00000000..be646598 Binary files /dev/null and b/samples/pptx/test-output.pptx differ diff --git a/samples/pptx/test_embed.pptx b/samples/pptx/test_embed.pptx new file mode 100644 index 00000000..8d037fd1 Binary files /dev/null and b/samples/pptx/test_embed.pptx differ diff --git a/spec/html_to_ooxml.xslt b/spec/html_to_ooxml.xslt new file mode 100644 index 00000000..0e79ba20 --- /dev/null +++ b/spec/html_to_ooxml.xslt @@ -0,0 +1,307 @@ + + + + + + + Divs should create a p if nothing above them has and nothing below them will + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In the following situation: + + div + h2 + span + textnode + span + textnode + p + + The div template will not create a a:p because the div contains a h2. Therefore we need to wrap the inline elements span|a|small in a p here. + + + + + + + + + In the following situation: + + div + h2 + textnode + p + + The div template will not create a a:p because the div contains a h2. Therefore we need to wrap the textnode in a p here. + + + + + + + + + + + + This template adds MS Word highlighting ability. + + + + magenta + cyan + darkYellow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + 0 + + + + + + none + single + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + center + right + left + both + + + + + + + + + + \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 00000000..3979a3b1 --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,23 @@ +require 'nokogiri' +require 'htmltoooxml' + +include Htmltoooxml::XSLTHelper + + +# def html_to_ooxml(html) +# source = Nokogiri::HTML(html.gsub(/>\s+<')) +# result = Htmltoooxml::Document.new().transform_doc_xml(source, false) +# result.gsub!(/\s*\s*/m, '') +# result = remove_declaration(result) +# puts result +# result +# end + +def remove_whitespace(ooxml) + ooxml.gsub(/]*)>[\s\t\n\r]*/,'') +end + +def remove_declaration(ooxml) + ooxml.sub(/<\?xml (.*?)>/, '').gsub(/\s*xmlns:(\w+)="(.*?)\s*"/, '') +end + diff --git a/spec/test_spec.rb b/spec/test_spec.rb index 378417c7..16a6f51c 100644 --- a/spec/test_spec.rb +++ b/spec/test_spec.rb @@ -1,19 +1,179 @@ +require 'spec_helper' require 'powerpoint' +require 'powerpoint/util' +include Powerpoint::Util + +describe 'Powerpoint utilities' do + describe '#remove_whitespace' do + it 'removes whitespace at start of paragraphs in OOXML' do + input = ' + Hello world Another paragraph' + expected = 'Hello worldAnother paragraph' + expect(remove_whitespace(input)).to eq(expected) + end + end +end describe 'Powerpoint parsing a sample PPTX file' do - before(:all) do + before(:all) do + + ## + # Set up some dummy content based on what comes out of the CMS + ## + @what_content ={"global" => {"title" => "Global", "dataType" => "fieldset", "items" => {"subPageNavigationMenu" => {"dataType" => "subPageNavigationMenu"}, "downloadableInput" => {"title" => "Downloadable=> ", "dataType" => "checkBox", "disabled" => true, "items" => ["as PowerPoint", "as PDF"], "value" => ["as PowerPoint", "as PDF"] } } }, "headers" => {"title" => "Header Titles", "dataType" => "fieldset", "items" => {"headerInput1" => {"title" => "Header 1 Title ", "dataType" => "text", "value" => "5 years ago"}, "headerInput2" => {"title" => "Header 2 Title ", "dataType" => "text", "value" => "Now"}, "headerInput3" => {"title" => "Header 3 Title ", "dataType" => "text", "value" => "in 5 years"} } }, "rowsManagerInput" => {"title" => "Row Manager", "dataType" => "manager_items", "disabled" => false, "value" => [{"item" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column 1 ", "dataType" => "text", "value" => "Social media platforms and review sites extend the range of products and services that consumers can publicly review. In 2012, 340 million tweets were posted per day. "}, "textInput2" => {"title" => "Column 2 ", "dataType" => "text", "value" => "High smartphone ownership allows customers to quickly write or read reviews on the go. Semi-expert consumer voices have arisen in most sectors, whose opinions are given extra weight."}, "textInput3" => {"title" => "Column 3 ", "dataType" => "text", "value" => "An increase in attempts to verify identifies of reviewers in order to rate the trustworthiness of their voices. Fewer sites will allow anonymous reviews to be posted."} } } }, {"item" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column 1 ", "dataType" => "text", "value" => "Brand interaction with online customer complaints is limited, with customer service efforts focused on in-store feedback and complaints."}, "textInput2" => {"title" => "Column 2 ", "dataType" => "text", "value" => "Brands find new ways of interacting with customers across a range of social media channels, addressing and responding to concerns, complaints and compliments."}, "textInput3" => {"title" => "Column 3 ", "dataType" => "text", "value" => "Inviting and engaging consumers to react, review and critique in advance of product or service launches becomes more common for brands."} } } }, {"item" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column 1 ", "dataType" => "text", "value" => "CSR efforts become an increasingly common way for brands to enhance their brand and raise their profile."}, "textInput2" => {"title" => "Column 2 ", "dataType" => "text", "value" => "The transparency and lobby-building capacity of social media leads to CSR efforts deemed insincere or ineffectual more easily being called into question."}, "textInput3" => {"title" => "Column 3 ", "dataType" => "text", "value" => "To pre-empt the quick forming of lobbies and factions, brands’ CSR eschew the general and hone in on specifics - ensuring the presence of clear goals."} } } }], "itemDefinition" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column1 ", "dataType" => "text", "value" => "Default body."}, "textInput2" => {"title" => "Column2 ", "dataType" => "text", "value" => "Default body."}, "textInput3" => {"title" => "Column3 ", "dataType" => "text", "value" => "Default body."} } } } } + @what_missing_content ={"global" => {"title" => "Global", "dataType" => "fieldset", "items" => {"subPageNavigationMenu" => {"dataType" => "subPageNavigationMenu"}, "downloadableInput" => {"title" => "Downloadable=> ", "dataType" => "checkBox", "disabled" => true, "items" => ["as PowerPoint", "as PDF"], "value" => ["as PowerPoint", "as PDF"] } } }, "headers" => {"title" => "Header Titles", "dataType" => "fieldset", "items" => {"headerInput1" => {"title" => "Header 1 Title ", "dataType" => "text", "value" => "5 years ago"}, "headerInput2" => {"title" => "Header 2 Title ", "dataType" => "text", "value" => "Now"}, "headerInput3" => {"title" => "Header 3 Title ", "dataType" => "text", "value" => "in 5 years"} } }, "rowsManagerInput" => {"title" => "Row Manager", "dataType" => "manager_items", "disabled" => false, "value" => [{"item" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column 1 ", "dataType" => "text", "value" => "Social media platforms and review sites extend the range of products and services that consumers can publicly review. In 2012, 340 million tweets were posted per day. "}, "textInput2" => {"title" => "Column 2 ", "dataType" => "text", "value" => "High smartphone ownership allows customers to quickly write or read reviews on the go. Semi-expert consumer voices have arisen in most sectors, whose opinions are given extra weight."}, "textInput3" => {"title" => "Column 3 ", "dataType" => "text", "value" => "An increase in attempts to verify identifies of reviewers in order to rate the trustworthiness of their voices. Fewer sites will allow anonymous reviews to be posted."} } } }, {"item" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column 1 ", "dataType" => "text", "value" => "Brand interaction with online customer complaints is limited, with customer service efforts focused on in-store feedback and complaints."}, "textInput2" => {"title" => "Column 2 ", "dataType" => "text", "value" => "Brands find new ways of interacting with customers across a range of social media channels, addressing and responding to concerns, complaints and compliments."}, "textInput3" => {"title" => "Column 3 ", "dataType" => "text", "value" => "Inviting and engaging consumers to react, review and critique in advance of product or service launches becomes more common for brands."} } } }], "itemDefinition" => {"title" => "Row", "dataType" => "fieldset", "items" => {"textInput1" => {"title" => "Column1 ", "dataType" => "text", "value" => "Default body."}, "textInput2" => {"title" => "Column2 ", "dataType" => "text", "value" => "Default body."}, "textInput3" => {"title" => "Column3 ", "dataType" => "text", "value" => "Default body."} } } } } + @three_col_content = {"global"=>{"title"=>"Global", "dataType"=>"fieldset", "items"=>{"downloadableInput"=>{"title"=>"Downloadable: ", "dataType"=>"checkBox", "disabled"=>true, "items"=>["as PowerPoint", "as PDF"], "value"=>["as PowerPoint", "as PDF"]}}}, "headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Lorem Ipsum Dolor Sit Amet"}, "column1"=>{"dataType"=>"fieldset", "items"=>{"headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Lorem Ipsum Dolor Consec"}, "textInput"=>{"dataType"=>"richText", "title"=>"Text: ", "value"=>"

Foo bar bob linkSum expectantes. Ego hodie expectantes. Expectantes, et misit unum de pueris Gus interficere. Et suus vos. Nescio quis, qui est bonus usus liberi ad Isai? Qui nosti ... Quis dimisit filios ad necem ... hmm? Gus! Est, ante me factus singulis decem gradibus. Et nunc ad aliud opus mihi tandem tollendum est puer ille consensus et nunc fugit. Ipse suus obtinuit eam. Non solum autem illa, sed te tractantur in se trahens felis.

"}}, "disabled"=>false, "title"=>"Column 1"}, "column2"=>{"dataType"=>"fieldset", "items"=>{"headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Consectetur Adipiscing"}, "textInput"=>{"dataType"=>"richText", "title"=>"Text: ", "value"=>"

Sum expectantes. Ego hodie expectantes. Expectantes, et misit unum de pueris Gus interficere. Et suus vos. Nescio quis, qui est bonus usus liberi ad Isai?

Qui nosti ... Quis dimisit filios ad necem ... hmm? Gus! Est, ante me factus singulis decem gradibus.

Et nunc ad aliud opus mihi tandem tollendum est puer ille consensus et nunc fugit. Ipse suus obtinuit eam. Non solum autem illa, sed te tractantur in se trahens felis.

"}}, "title"=>"Column 2"}, "column3"=>{"dataType"=>"fieldset", "items"=>{"headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Pariatur Consectetur"}, "textInput"=>{"dataType"=>"richText", "title"=>"Text: ", "value"=>"

Sum expectantes. Ego hodie expectantes. Expectantes, et misit unum de pueris Gus interficere. Et suus vos. Nescio quis, qui est bonus usus liberi ad Isai? Qui nosti ... Quis dimisit filios ad necem ... hmm? Gus!

Est, ante me factus singulis decem gradibus.

"}}, "title"=>"Column 3"}} + @three_col_content = {"global"=>{"title"=>"Global", "dataType"=>"fieldset", "items"=>{"subPageNavigationMenu"=>{"dataType"=>"subPageNavigationMenu"}, "downloadableInput"=>{"title"=>"Downloadable: ", "dataType"=>"checkBox", "disabled"=>true, "items"=>["as PowerPoint", "as PDF"], "value"=>["as PowerPoint", "as PDF"]}}}, "headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Lorem Ipsum Dolor Sit Amet"}, "column1"=>{"dataType"=>"fieldset", "items"=>{"headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Lorem Ipsum Dolor Consec"}, "textInput"=>{"dataType"=>"richText", "title"=>"Text: ", "value"=>"

\n Testing blah blah\n

"}}, "disabled"=>false, "title"=>"Column 1"}, "column2"=>{"dataType"=>"fieldset", "items"=>{"headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Consectetur Adipiscing"}, "textInput"=>{"dataType"=>"richText", "title"=>"Text: ", "value"=>"

\n test\n

"}}, "title"=>"Column 2"}, "column3"=>{"dataType"=>"fieldset", "items"=>{"headingInput"=>{"dataType"=>"text", "title"=>"Heading: ", "value"=>"Pariatur Consectetur"}, "textInput"=>{"dataType"=>"richText", "title"=>"Text: ", "value"=>"

\n test\n

"}}, "title"=>"Column 3"}} + @html = ' +

A very long title to test breaking over two lines works correctly

+Bedtime, and evening time in general, is being re-defined. For a significant number, the hours before sleep can be penetrated by a kind of light work; it is now so easy to curl round a laptop or a tablet and drop your boss an email, while scanning the latest news, while streaming on-demand movies, while online shopping for your mother’s birthday present, and so on. +

+

+ +

+

Work-life balance is redrawn under wider horizons. This is not just a story of more flexible working hours but a story of work encroaching into those times and places formerly reserved for rest: night time, bedrooms, even holidays. To many millennials, work-life balance is in revolution. +

+

+ More, online media and retail are accessed differently in these arenas. Remote technology for both work and socialising means that consumers are engaging with their devices, and their fellow human beings, in a totally new way. +

+

+Work-life balance is redrawn under wider horizons. This is not just a story of more flexible working hours but a story of work encroaching into those times and places formerly reserved for rest: night time, bedrooms, even holidays. To many millennials, work-life balance is in revolution. +

' + @bullet_html = '
  • Test 1
  • Test 2
' + @sector_content = {"Alcohol"=>{"title"=>"Alcohol", "dataType"=>"fieldset", "items"=>{"impactTextInput"=>{"title"=>"Impact: ", "dataType"=>"richText", "value"=>"

Lorem ipsum dolar sit amet consectetur...

"}}}, "Beauty and Personal Care"=>{"title"=>"Beauty and Personal Care", "dataType"=>"fieldset", "items"=>{"impactTextInput"=>{"title"=>"Impact: ", "dataType"=>"richText", "value"=>"

Lorem ipsumdolar sit amet consectetur...

"}}}} + + @contents = [] + @content_links = [] + multiplier = 0 + (0..2).each do |id| + multiplier +=1 + @contents[id] = [] + (1..7).each do |idx| + @contents[id].push(title: "Title #{idx*multiplier}", summary: "contents #{idx*multiplier}") + @content_links.push("http://test-#{idx*multiplier}/") + end + end + puts @contents.inspect + puts @content_links.inspect + ## + # Set up some stuff for testing the sector impact slides + ## + @final = Nokogiri::HTML.fragment(@html) + @header = @final.search('h1').first + @final.search('h1').first.remove + @image_paths = [] + @final.search('img').each do |node| + @image_paths << node.attributes['src'] + end + sector_image_path = "samples/images/sector_leisure.jpeg" + links = @final.search('a').map { |link| link['href'] } + sector_impact_links = Nokogiri.parse(@sector_content.first[1]['items'].first[1]['value']).search('a').map{ |link| link['href'] } + three_col_links = @three_col_content.select { |key, value| key.to_s.match(/^column\d+/) }.map { |key, value| value['items']['textInput']['value'] }.join + three_col_links = Nokogiri::HTML.fragment(three_col_links).search('a').map { |link| link['href'] } + + ## + # Create a new presentation + ## @deck = Powerpoint::Presentation.new - @deck.add_intro 'Bicycle Of the Mind', 'created by Steve Jobs' - @deck.add_textual_slide 'Why Mac?', ['Its cool!', 'Its light!'] - @deck.add_textual_slide 'Why Iphone?', ['Its fast!', 'Its cheap!'] - @deck.add_pictorial_slide 'JPG Logo', 'samples/images/sample_png.png' - @deck.add_text_picture_slide('Text Pic Split', 'samples/images/sample_png.png', content = ['Here is a string', 'here is another']) - @deck.add_pictorial_slide 'PNG Logo', 'samples/images/sample_png.png' - @deck.add_picture_description_slide('Pic Desc', 'samples/images/sample_png.png', content = ['Here is a string', 'here is another']) - @deck.add_picture_description_slide('JPG Logo', 'samples/images/sample_jpg.jpg', content = ['descriptions']) - @deck.add_pictorial_slide 'GIF Logo', 'samples/images/sample_gif.gif', {x: 124200, y: 3356451, cx: 2895600, cy: 1013460} - @deck.add_textual_slide 'Why Android?', ['Its great!', 'Its sweet!'] - @deck.save 'samples/pptx/sample.pptx' # Examine the PPTX file + + ## + # This is where we add slides to the presentation . .testing the templates + # IF YOU WANT A SINGLE SLIDE TEST use @deck.add_textual_slide 'test head', ['test body'] and comment out the @embed_deck loop below + ## + # @deck.add_textual_slide 'test head', ['test body'] + + @deck.add_ff_trend_intro_slide 'Abcdefghijklmnopqrstuvwxyz12345678910112', 'Contactless credit/debit cards, NFC- and web-enabled phones and digital wallets continue to transform the future of payment methods - with major implications for the way we will shop and interact with brands in the future.', 'samples/images/image5.jpeg', nil + # @deck.add_ff_trend_intro_slide 'Abcdefghijklmnopqrstuvwxyz12345678910112', 'Contactless credit/debit cards, NFC- and web-enabled phones and digital wallets.', "samples/images/white.jpeg", '2' + + @deck.add_ff_heading_text_slide @header.inner_html ,html_to_ooxml(@final.to_s), @image_paths, links + + # # # + # # # # loop through total content remove 1st three and then work out how many slides needed based on 21 content items per slide + + @deck.add_ff_trend_list_slide "test title", @contents, @content_links + + # # # + # @deck.add_ff_heading_text_slide @header.inner_html, html_to_ooxml(@bullet_html), @image_paths, links + # # @deck.add_ff_three_row_text_slide 'What to do', @three_col_content, three_col_links + + @deck.add_ff_what_next_slide 'What will happen next', @what_content + @deck.add_ff_what_next_slide 'What will happen next 2', @what_missing_content + + # @deck.add_ff_sector_impact_slide @sector_content.first[1]['title'], @sector_content.first[1]['items'].first[1]['value'], sector_image_path, sector_impact_links + + @deck.add_ff_associated_content_slide 'Sample Asscociated Content Item', 'Test Associated Content Subtitle', 'samples/images/image5.jpeg', {}, 'sample.pptx' + @deck.add_ff_text_left_chart_right_slide @header.inner_html ,html_to_ooxml(@final.to_s), "Which of these websites/apps have you used in the past month? TikTok(Douyin)", "subtitle", "samples/images/image5.jpeg", links + @deck.add_ff_text_right_chart_left_slide @header.inner_html ,html_to_ooxml(@final.to_s), "Which of these websites/apps have you used in the past month? TikTok(Douyin)", "subtitle", "samples/images/image5.jpeg", links + @deck.add_ff_text_right_image_left_slide @header.inner_html ,html_to_ooxml(@final.to_s), "samples/images/image5.jpeg", links + @deck.add_ff_text_left_image_right_slide @header.inner_html ,html_to_ooxml(@final.to_s), "samples/images/image5.jpeg", links + @deck.add_ff_two_column_chart_slide @header.inner_html ,html_to_ooxml(@final.to_s), ["Which of these websites/apps have you used in the past month? TikTok(Douyin1)", "Which of these websites/apps have you used in the past month? TikTok(Douyin2)"], ["subtitle", "subtitle"], ["samples/images/image1.png", "samples/images/image5.jpeg"], links + @deck.add_ff_two_column_text_slide 'Test title', @header.inner_html, @header.inner_html, html_to_ooxml(@final.to_s), html_to_ooxml(@final.to_s), links + @deck.add_ff_trend_summary_slide "Test Trend" ,html_to_ooxml("

Some test trend content that describes the trend in an sumarrised way."), "samples/images/image5.jpeg", links[0] + # ## + # These are the embeded prenstatoins I have taken a selection of the ones that have tags, drawiings, charts etc + # + # Loop through each and add the masters and layouts to the main output presentation + # The other emedding is taken care of by the lib/powerpoint/ff_embed_slide.rb as it's slide specific behaviour + ## + embed_decks = ["samples/pptx/new-chart.pptx","samples/pptx/35848.pptx","samples/pptx/trend-intensity.pptx"] + # comment out this loop for a single slide test + # embed_decks = [] + embed_decks.each do |deck_path| + @embed_deck = Powerpoint::ReadPresentation.new deck_path + + @master_refs = Hash.new + + @embed_deck.masters.each do |master| + puts master + zip = @embed_deck.files.file.open master.gsub('slideMasters','slideMasters/_rels').gsub('.xml','.xml.rels') + master_rel_xml = Nokogiri::XML::Document.parse(zip) unless zip.class === Zip::NullInputStream + if master_rel_xml + theme_path = master_rel_xml.css('Relationship').select{ |node| node['Type'].include? 'theme' }.first['Target'] + theme_xml = Nokogiri::XML::Document.parse(@embed_deck.files.file.open(theme_path.gsub('..','ppt'))) + new_theme_path = @deck.add_theme(theme_xml)[:file_path] + ##### Loop through rel_xml and pull in media emeds + embeds = master_rel_xml.css('Relationship').select{ |node| + node['Target'].include? 'media' + } + master_embeds = [] + embeds.each_with_index do |embed,index| + master_embeds << { id: index, rid: embed['Id'], files: @embed_deck.files, file_path: embed['Target'], content_type: embed['Type'] } + end + @master_refs["#{master}".gsub('ppt','..')] = @deck.add_master(Nokogiri::XML::Document.parse(@embed_deck.files.file.open master), new_theme_path, [], master_embeds) + end + end + + @layout_refs = Hash.new + @embed_deck.layouts.each do |layout| + puts layout + zip = @embed_deck.files.file.open layout + layout_xml = Nokogiri::XML::Document.parse(zip) unless zip.class === Zip::NullInputStream + if layout_xml + zip = @embed_deck.files.file.open layout.gsub('slideLayouts','slideLayouts/_rels').gsub('xml','xml.rels') + layout_rel_xml = Nokogiri::XML::Document.parse(zip) unless zip.class === Zip::NullInputStream + if layout_rel_xml + master = layout_rel_xml.css('Relationship').select{ |node| node['Type'].include? 'slideMaster'}.first['Target'] + layout_rel_xml.css('Relationship').select{ |node| + if node['Target'].include? 'slideMaster' + node['Target'] = @master_refs[node['Target']][:file_path] + end + } + @layout_refs["#{layout}".gsub('ppt','..')] = @deck.add_layout(layout_xml, layout_rel_xml, @master_refs[master][:file_path], @embed_deck.files) + end + end + end + #we've updated the layouts so the actual slide masters need updating with the correct ids + @deck.update_slide_masters + + @embed_deck.slides.each do |slide| + @deck.add_ff_embeded_slide slide.title, slide.raw_content, slide.raw_relation_content, slide.images, slide.charts, slide.embeddings, slide.notes, slide.tags, slide.drawings, @master_refs[slide.master], @deck.notes_masters.first, @layout_refs[slide.layout], slide.theme_overrides, slide.chart_images, slide.chart_styles, slide.chart_color_styles + end + end + @deck.add_ff_trend_outro_slide + # ## + # Save the presentation + ## + @deck.save 'samples/pptx/test-output.pptx' end it 'Create a PPTX file successfully.' do diff --git a/template/_rels/.rels b/template/_rels/.rels deleted file mode 100755 index c5708827..00000000 --- a/template/_rels/.rels +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/template/docProps/core.xml b/template/docProps/core.xml deleted file mode 100755 index d79b63ce..00000000 --- a/template/docProps/core.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - Powerpoint - Nobody - 1 - 2015-07-15T00:51:18Z - \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout1.xml b/template/ppt/slideLayouts/slideLayout1.xml deleted file mode 100755 index 0a295ae2..00000000 --- a/template/ppt/slideLayouts/slideLayout1.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Click to edit Master title style - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Click to edit Master subtitle style - - - - - - - - - - - - - - - - - - - - - - - - 7/14/15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ‹#› - - - - - - - - - - - \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout10.xml b/template/ppt/slideLayouts/slideLayout10.xml deleted file mode 100755 index 42a151f1..00000000 --- a/template/ppt/slideLayouts/slideLayout10.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout11.xml b/template/ppt/slideLayouts/slideLayout11.xml deleted file mode 100755 index 90973afc..00000000 --- a/template/ppt/slideLayouts/slideLayout11.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout2.xml b/template/ppt/slideLayouts/slideLayout2.xml deleted file mode 100755 index b9692d51..00000000 --- a/template/ppt/slideLayouts/slideLayout2.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Click to edit Master title style - - - - - - - - - - - - - - - - - - - - - - - - Click to edit Master text styles - - - - - - - Second level - - - - - - - Third level - - - - - - - Fourth level - - - - - - - Fifth level - - - - - - - - - - - - - - - - - - - - - - - - 7/14/15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ‹#› - - - - - - - - - - - \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout3.xml b/template/ppt/slideLayouts/slideLayout3.xml deleted file mode 100755 index 0453d176..00000000 --- a/template/ppt/slideLayouts/slideLayout3.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text styles7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout4.xml b/template/ppt/slideLayouts/slideLayout4.xml deleted file mode 100755 index a5528a3f..00000000 --- a/template/ppt/slideLayouts/slideLayout4.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth levelClick to edit Master text stylesSecond levelThird levelFourth levelFifth level7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout5.xml b/template/ppt/slideLayouts/slideLayout5.xml deleted file mode 100755 index 97c0d08e..00000000 --- a/template/ppt/slideLayouts/slideLayout5.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text stylesClick to edit Master text stylesSecond levelThird levelFourth levelFifth levelClick to edit Master text stylesClick to edit Master text stylesSecond levelThird levelFourth levelFifth level7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout6.xml b/template/ppt/slideLayouts/slideLayout6.xml deleted file mode 100755 index d466591f..00000000 --- a/template/ppt/slideLayouts/slideLayout6.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title style7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout7.xml b/template/ppt/slideLayouts/slideLayout7.xml deleted file mode 100755 index 76be9db5..00000000 --- a/template/ppt/slideLayouts/slideLayout7.xml +++ /dev/null @@ -1,2 +0,0 @@ - -7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout8.xml b/template/ppt/slideLayouts/slideLayout8.xml deleted file mode 100755 index 757a586d..00000000 --- a/template/ppt/slideLayouts/slideLayout8.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth levelClick to edit Master text styles7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideLayouts/slideLayout9.xml b/template/ppt/slideLayouts/slideLayout9.xml deleted file mode 100755 index 76039f15..00000000 --- a/template/ppt/slideLayouts/slideLayout9.xml +++ /dev/null @@ -1,2 +0,0 @@ - -Click to edit Master title styleClick to edit Master text styles7/14/15‹#› \ No newline at end of file diff --git a/template/ppt/slideMasters/_rels/slideMaster1.xml.rels b/template/ppt/slideMasters/_rels/slideMaster1.xml.rels deleted file mode 100755 index b7afc216..00000000 --- a/template/ppt/slideMasters/_rels/slideMaster1.xml.rels +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/template/ppt/slideMasters/slideMaster1.xml b/template/ppt/slideMasters/slideMaster1.xml deleted file mode 100755 index d25bed4d..00000000 --- a/template/ppt/slideMasters/slideMaster1.xml +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Click to edit Master title style - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Click to edit Master text styles - - - - - - - Second level - - - - - - - Third level - - - - - - - Fourth level - - - - - - - Fifth level - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7/14/15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ‹#› - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/template/ppt/viewProps.xml b/template/ppt/viewProps.xml deleted file mode 100755 index 1d7f0671..00000000 --- a/template/ppt/viewProps.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/templates/collision-2023-widescreen/[Content_Types].xml b/templates/collision-2023-widescreen/[Content_Types].xml new file mode 100644 index 00000000..da8c5415 --- /dev/null +++ b/templates/collision-2023-widescreen/[Content_Types].xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/_rels/.rels b/templates/collision-2023-widescreen/_rels/.rels new file mode 100644 index 00000000..4317e98e --- /dev/null +++ b/templates/collision-2023-widescreen/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/_rels/item1.xml.rels b/templates/collision-2023-widescreen/customXml/_rels/item1.xml.rels new file mode 100644 index 00000000..a9c831d4 --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/_rels/item1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/_rels/item2.xml.rels b/templates/collision-2023-widescreen/customXml/_rels/item2.xml.rels new file mode 100644 index 00000000..a17b53aa --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/_rels/item2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/_rels/item3.xml.rels b/templates/collision-2023-widescreen/customXml/_rels/item3.xml.rels new file mode 100644 index 00000000..fab5b339 --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/_rels/item3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/item1.xml b/templates/collision-2023-widescreen/customXml/item1.xml new file mode 100644 index 00000000..834bcc55 --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/item1.xml @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/item2.xml b/templates/collision-2023-widescreen/customXml/item2.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/item2.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/item3.xml b/templates/collision-2023-widescreen/customXml/item3.xml new file mode 100644 index 00000000..6c6b5293 --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/item3.xml @@ -0,0 +1 @@ +Sim Thirunesan40 \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/itemProps1.xml b/templates/collision-2023-widescreen/customXml/itemProps1.xml new file mode 100644 index 00000000..d31744cd --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/itemProps1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/itemProps2.xml b/templates/collision-2023-widescreen/customXml/itemProps2.xml new file mode 100644 index 00000000..6b96c264 --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/itemProps2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/customXml/itemProps3.xml b/templates/collision-2023-widescreen/customXml/itemProps3.xml new file mode 100644 index 00000000..66cd9cda --- /dev/null +++ b/templates/collision-2023-widescreen/customXml/itemProps3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/docProps/app.xml b/templates/collision-2023-widescreen/docProps/app.xml new file mode 100644 index 00000000..24b5838e --- /dev/null +++ b/templates/collision-2023-widescreen/docProps/app.xml @@ -0,0 +1,2 @@ + +88152046Microsoft Macintosh PowerPointWidescreen7015200falseFonts Used7Theme1Slide Titles15ArialCalibriGeorgiaHelvetica Neue MediumTimes New RomanWingdingsWingdings 31_FF2018PowerPoint PresentationWhat is Meme Messaging?PowerPoint PresentationDataTikTok (Douyin) users Data with description RH Data with description LH50/50 DataImage with descriptionPowerPoint Presentation What will happen next?PowerPoint PresentationPowerPoint Presentationfalsefalsefalse16.0000 \ No newline at end of file diff --git a/templates/collision-2023-widescreen/docProps/core.xml b/templates/collision-2023-widescreen/docProps/core.xml new file mode 100644 index 00000000..7bcd6444 --- /dev/null +++ b/templates/collision-2023-widescreen/docProps/core.xml @@ -0,0 +1,2 @@ + +PowerPoint PresentationPhilip SmithJustin Boynton152020-09-03T10:40:42Z2023-10-24T10:37:14Z \ No newline at end of file diff --git a/templates/collision-2023-widescreen/docProps/thumbnail.jpeg b/templates/collision-2023-widescreen/docProps/thumbnail.jpeg new file mode 100644 index 00000000..f6b2f0ed Binary files /dev/null and b/templates/collision-2023-widescreen/docProps/thumbnail.jpeg differ diff --git a/templates/collision-2023-widescreen/ppt/_rels/.rels b/templates/collision-2023-widescreen/ppt/_rels/.rels new file mode 100644 index 00000000..4090199b --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/_rels/presentation.xml.rels b/templates/collision-2023-widescreen/ppt/_rels/presentation.xml.rels new file mode 100644 index 00000000..4090199b --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/_rels/presentation.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/handoutMasters/_rels/handoutMaster1.xml.rels b/templates/collision-2023-widescreen/ppt/handoutMasters/_rels/handoutMaster1.xml.rels new file mode 100644 index 00000000..6f92e4d8 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/handoutMasters/_rels/handoutMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/handoutMasters/handoutMaster1.xml b/templates/collision-2023-widescreen/ppt/handoutMasters/handoutMaster1.xml new file mode 100644 index 00000000..c8100151 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/handoutMasters/handoutMaster1.xml @@ -0,0 +1,2 @@ + +24/10/2023‹#› \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/media/image1.jpeg b/templates/collision-2023-widescreen/ppt/media/image1.jpeg new file mode 100644 index 00000000..b0792937 Binary files /dev/null and b/templates/collision-2023-widescreen/ppt/media/image1.jpeg differ diff --git a/templates/collision-2023-widescreen/ppt/notesMasters/_rels/notesMaster1.xml.rels b/templates/collision-2023-widescreen/ppt/notesMasters/_rels/notesMaster1.xml.rels new file mode 100644 index 00000000..53a3df37 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/notesMasters/_rels/notesMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/notesMasters/notesMaster1.xml b/templates/collision-2023-widescreen/ppt/notesMasters/notesMaster1.xml new file mode 100644 index 00000000..32b27a9c --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/notesMasters/notesMaster1.xml @@ -0,0 +1,2 @@ + +24/10/2023Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#› \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/presProps.xml b/templates/collision-2023-widescreen/ppt/presProps.xml new file mode 100644 index 00000000..007683f2 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/presProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/presentation.xml b/templates/collision-2023-widescreen/ppt/presentation.xml new file mode 100644 index 00000000..37d5aaba --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/presentation.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout1.xml.rels new file mode 100644 index 00000000..a7ccfdae --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/template/ppt/slideLayouts/_rels/slideLayout10.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout10.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout10.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout10.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout11.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout11.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout11.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout11.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout12.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout1.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout12.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout2.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout13.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout2.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout13.xml.rels diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout14.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout14.xml.rels new file mode 100644 index 00000000..69d8ac58 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout14.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/template/ppt/slideLayouts/_rels/slideLayout3.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout2.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout3.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout2.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout4.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout3.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout4.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout3.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout5.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout4.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout5.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout4.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout6.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout5.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout6.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout5.xml.rels diff --git a/template/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout6.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout7.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout6.xml.rels diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout7.xml.rels new file mode 100644 index 00000000..ff72e797 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/template/ppt/slideLayouts/_rels/slideLayout8.xml.rels b/templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout8.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout8.xml.rels rename to templates/collision-2023-widescreen/ppt/slideLayouts/_rels/slideLayout8.xml.rels diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout1.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout1.xml new file mode 100644 index 00000000..ec93d0bf --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout1.xml @@ -0,0 +1,2 @@ + +<CONTENT SUBTITLE><Second line><CONTENT TITLE><second line>We’re here to help, get in touch:clientpartners@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout10.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout10.xml new file mode 100644 index 00000000..c9f0bc2c --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout10.xml @@ -0,0 +1,2 @@ + +Insert chart‹#›Insert source/photo credit hereInsert slide title(second line)Question wordingInsert chartQuestion wordingInsert source/photo credit here \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout11.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout11.xml new file mode 100644 index 00000000..1196cf35 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout11.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereInsert slide title(second line)Insert chart<Insert Briefing text> \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout12.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout12.xml new file mode 100644 index 00000000..71dc0822 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout12.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<TITLE><Text><Title><TITLE><Text> \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout13.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout13.xml new file mode 100644 index 00000000..0affd553 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout13.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereInsert slide title(second line)<Insert Briefing text><Heading><Heading><Insert Briefing text> \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout14.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout14.xml new file mode 100644 index 00000000..92886e80 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout14.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Insert Briefing text>Insert slide title(second line) \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout2.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout2.xml new file mode 100644 index 00000000..61e16b51 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout2.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Insert Briefing text>Insert slide title(second line) \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout3.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout3.xml new file mode 100644 index 00000000..9e4b6369 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout3.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereFirst level contentSecond level contentInsert slide title(second line) \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout4.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout4.xml new file mode 100644 index 00000000..28557e52 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout4.xml @@ -0,0 +1,2 @@ + +Insert chart‹#›Insert source/photo credit hereInsert slide title(second line)Question wording \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout5.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout5.xml new file mode 100644 index 00000000..b46fa714 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout5.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Title><TITLE><TITLE><TITLE><Text><Text><Text> \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout6.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout6.xml new file mode 100644 index 00000000..ba9521a3 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout6.xml @@ -0,0 +1,2 @@ + +5 years agoNowIn 5 years‹#›Insert source/photo credit hereWhat will happen next?<Text><Text><Text><Text><Text><Text><Text><Text><Text> \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout7.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout7.xml new file mode 100644 index 00000000..1a701031 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout7.xml @@ -0,0 +1,2 @@ + +Contact us today at clientpartners@foresightfactory.coThis content is copyright of Foresight Factory International© Foresight Factory 2020. All rights reserved.See beyondLet’s talk \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout8.xml b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout8.xml new file mode 100644 index 00000000..78c9c4e5 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideLayouts/slideLayout8.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereInsert slide title(second line)Insert chartQuestion wording<Insert Briefing text> \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideMasters/_rels/slideMaster1.xml.rels b/templates/collision-2023-widescreen/ppt/slideMasters/_rels/slideMaster1.xml.rels new file mode 100644 index 00000000..5850e56c --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideMasters/_rels/slideMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slideMasters/slideMaster1.xml b/templates/collision-2023-widescreen/ppt/slideMasters/slideMaster1.xml new file mode 100644 index 00000000..7bc9eeeb --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slideMasters/slideMaster1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide1.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide1.xml.rels new file mode 100644 index 00000000..50665bb2 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide10.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide10.xml.rels new file mode 100644 index 00000000..a93def82 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide11.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide11.xml.rels new file mode 100644 index 00000000..bb98c34b --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide11.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide12.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide12.xml.rels new file mode 100644 index 00000000..d0878083 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide12.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide13.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide13.xml.rels new file mode 100644 index 00000000..e29c45f3 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide13.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide14.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide14.xml.rels new file mode 100644 index 00000000..297e6572 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide14.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide15.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide15.xml.rels new file mode 100644 index 00000000..cda81ecf --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide15.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide2.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide2.xml.rels new file mode 100644 index 00000000..c540ee38 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide3.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide3.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide4.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide4.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide5.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide5.xml.rels new file mode 100644 index 00000000..80f3c12c --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide6.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide6.xml.rels new file mode 100644 index 00000000..d12c5d5b --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide7.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide7.xml.rels new file mode 100644 index 00000000..10ad094a --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide8.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide8.xml.rels new file mode 100644 index 00000000..db17d193 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/slides/_rels/slide9.xml.rels b/templates/collision-2023-widescreen/ppt/slides/_rels/slide9.xml.rels new file mode 100644 index 00000000..1202b144 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/slides/_rels/slide9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/template/ppt/tableStyles.xml b/templates/collision-2023-widescreen/ppt/tableStyles.xml old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/tableStyles.xml rename to templates/collision-2023-widescreen/ppt/tableStyles.xml diff --git a/templates/collision-2023-widescreen/ppt/theme/theme1.xml b/templates/collision-2023-widescreen/ppt/theme/theme1.xml new file mode 100644 index 00000000..45058c43 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/theme/theme1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/theme/theme2.xml b/templates/collision-2023-widescreen/ppt/theme/theme2.xml new file mode 100644 index 00000000..0d63d212 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/theme/theme2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/theme/theme3.xml b/templates/collision-2023-widescreen/ppt/theme/theme3.xml new file mode 100644 index 00000000..0d63d212 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/theme/theme3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2023-widescreen/ppt/viewProps.xml b/templates/collision-2023-widescreen/ppt/viewProps.xml new file mode 100644 index 00000000..190cc1a5 --- /dev/null +++ b/templates/collision-2023-widescreen/ppt/viewProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/_rels/.rels b/templates/collision-2025-template/_rels/.rels new file mode 100644 index 00000000..4317e98e --- /dev/null +++ b/templates/collision-2025-template/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/_rels/item1.xml.rels b/templates/collision-2025-template/customXml/_rels/item1.xml.rels new file mode 100644 index 00000000..a9c831d4 --- /dev/null +++ b/templates/collision-2025-template/customXml/_rels/item1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/_rels/item2.xml.rels b/templates/collision-2025-template/customXml/_rels/item2.xml.rels new file mode 100644 index 00000000..a17b53aa --- /dev/null +++ b/templates/collision-2025-template/customXml/_rels/item2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/_rels/item3.xml.rels b/templates/collision-2025-template/customXml/_rels/item3.xml.rels new file mode 100644 index 00000000..fab5b339 --- /dev/null +++ b/templates/collision-2025-template/customXml/_rels/item3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/item1.xml b/templates/collision-2025-template/customXml/item1.xml new file mode 100644 index 00000000..f8f7aecd --- /dev/null +++ b/templates/collision-2025-template/customXml/item1.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/item2.xml b/templates/collision-2025-template/customXml/item2.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/collision-2025-template/customXml/item2.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/item3.xml b/templates/collision-2025-template/customXml/item3.xml new file mode 100644 index 00000000..29c48dd4 --- /dev/null +++ b/templates/collision-2025-template/customXml/item3.xml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/itemProps1.xml b/templates/collision-2025-template/customXml/itemProps1.xml new file mode 100644 index 00000000..72140a48 --- /dev/null +++ b/templates/collision-2025-template/customXml/itemProps1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/itemProps2.xml b/templates/collision-2025-template/customXml/itemProps2.xml new file mode 100644 index 00000000..e7f5057d --- /dev/null +++ b/templates/collision-2025-template/customXml/itemProps2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/customXml/itemProps3.xml b/templates/collision-2025-template/customXml/itemProps3.xml new file mode 100644 index 00000000..1f35dee1 --- /dev/null +++ b/templates/collision-2025-template/customXml/itemProps3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/docProps/app.xml b/templates/collision-2025-template/docProps/app.xml new file mode 100644 index 00000000..bfdcbb96 --- /dev/null +++ b/templates/collision-2025-template/docProps/app.xml @@ -0,0 +1,2 @@ + +3133106Microsoft Office PowerPointWidescreen14115300falseTheme1Slide Titles151_Office ThemeWill AI manipulation protect hidden gems?Cool>Can weaves self-cooling functionality into the packaging | UKPowerPoint PresentationData data (second line)Image with description example – left aligned third lineData with description example (second line)Strategic imperativesWhat will happen next?Trends to activateHow to act: Retail“I am often under time pressure in my everyday life”Female health opportunityPowerPoint PresentationPowerPoint PresentationLet’s talkfalsefalsefalse16.0000 \ No newline at end of file diff --git a/templates/collision-2025-template/docProps/core.xml b/templates/collision-2025-template/docProps/core.xml new file mode 100644 index 00000000..2eaa5710 --- /dev/null +++ b/templates/collision-2025-template/docProps/core.xml @@ -0,0 +1,2 @@ + +Emily CullenEmily Cullen212024-11-28T09:50:44Z2024-11-28T15:29:45Z \ No newline at end of file diff --git a/templates/collision-2025-template/docProps/custom.xml b/templates/collision-2025-template/docProps/custom.xml new file mode 100644 index 00000000..671c86b0 --- /dev/null +++ b/templates/collision-2025-template/docProps/custom.xml @@ -0,0 +1,2 @@ + +0x010100E1022837DF84764A931E1C025392D5B1 \ No newline at end of file diff --git a/templates/collision-2025-template/docProps/thumbnail.jpeg b/templates/collision-2025-template/docProps/thumbnail.jpeg new file mode 100644 index 00000000..0a610ecf Binary files /dev/null and b/templates/collision-2025-template/docProps/thumbnail.jpeg differ diff --git a/templates/collision-2025-template/ppt/_rels/presentation.xml.rels b/templates/collision-2025-template/ppt/_rels/presentation.xml.rels new file mode 100644 index 00000000..4090199b --- /dev/null +++ b/templates/collision-2025-template/ppt/_rels/presentation.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/authors.xml b/templates/collision-2025-template/ppt/authors.xml new file mode 100644 index 00000000..642f683b --- /dev/null +++ b/templates/collision-2025-template/ppt/authors.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/template/ppt/_rels/.keep b/templates/collision-2025-template/ppt/charts/_rels/.keep similarity index 100% rename from template/ppt/_rels/.keep rename to templates/collision-2025-template/ppt/charts/_rels/.keep diff --git a/template/ppt/media/.keep b/templates/collision-2025-template/ppt/embeddings/.keep similarity index 100% rename from template/ppt/media/.keep rename to templates/collision-2025-template/ppt/embeddings/.keep diff --git a/templates/collision-2025-template/ppt/handoutMasters/_rels/handoutMaster1.xml.rels b/templates/collision-2025-template/ppt/handoutMasters/_rels/handoutMaster1.xml.rels new file mode 100644 index 00000000..6f92e4d8 --- /dev/null +++ b/templates/collision-2025-template/ppt/handoutMasters/_rels/handoutMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/handoutMasters/handoutMaster1.xml b/templates/collision-2025-template/ppt/handoutMasters/handoutMaster1.xml new file mode 100644 index 00000000..c2eb0448 --- /dev/null +++ b/templates/collision-2025-template/ppt/handoutMasters/handoutMaster1.xml @@ -0,0 +1,2 @@ + +28/11/2024‹#› \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/media/image1.png b/templates/collision-2025-template/ppt/media/image1.png new file mode 100644 index 00000000..b89fa223 Binary files /dev/null and b/templates/collision-2025-template/ppt/media/image1.png differ diff --git a/templates/collision-2025-template/ppt/media/image2.png b/templates/collision-2025-template/ppt/media/image2.png new file mode 100644 index 00000000..8fd71460 Binary files /dev/null and b/templates/collision-2025-template/ppt/media/image2.png differ diff --git a/templates/collision-2025-template/ppt/media/image3.png b/templates/collision-2025-template/ppt/media/image3.png new file mode 100644 index 00000000..b95c6096 Binary files /dev/null and b/templates/collision-2025-template/ppt/media/image3.png differ diff --git a/templates/collision-2025-template/ppt/notesMasters/_rels/notesMaster1.xml.rels b/templates/collision-2025-template/ppt/notesMasters/_rels/notesMaster1.xml.rels new file mode 100644 index 00000000..53a3df37 --- /dev/null +++ b/templates/collision-2025-template/ppt/notesMasters/_rels/notesMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/notesMasters/notesMaster1.xml b/templates/collision-2025-template/ppt/notesMasters/notesMaster1.xml new file mode 100644 index 00000000..3ecdcaa8 --- /dev/null +++ b/templates/collision-2025-template/ppt/notesMasters/notesMaster1.xml @@ -0,0 +1,2 @@ + +28/11/2024Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#› \ No newline at end of file diff --git a/template/ppt/slides/_rels/.keep b/templates/collision-2025-template/ppt/notesSlides/_rels/.keep similarity index 100% rename from template/ppt/slides/_rels/.keep rename to templates/collision-2025-template/ppt/notesSlides/_rels/.keep diff --git a/templates/collision-2025-template/ppt/presProps.xml b/templates/collision-2025-template/ppt/presProps.xml new file mode 100644 index 00000000..f1b0697e --- /dev/null +++ b/templates/collision-2025-template/ppt/presProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/presentation.xml b/templates/collision-2025-template/ppt/presentation.xml new file mode 100644 index 00000000..6c614f11 --- /dev/null +++ b/templates/collision-2025-template/ppt/presentation.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/revisionInfo.xml b/templates/collision-2025-template/ppt/revisionInfo.xml new file mode 100644 index 00000000..2d738fb8 --- /dev/null +++ b/templates/collision-2025-template/ppt/revisionInfo.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels new file mode 100644 index 00000000..9cea6a2a --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/template/ppt/slideLayouts/_rels/slideLayout9.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/slideLayouts/_rels/slideLayout9.xml.rels rename to templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout13.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout13.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout13.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout14.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout14.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout14.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout15.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout15.xml.rels new file mode 100644 index 00000000..d900a0c0 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout15.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout1.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout1.xml new file mode 100644 index 00000000..b5757d48 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout1.xml @@ -0,0 +1,475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Presentation title to go here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Click to edit Master subtitle style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Month 2024 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout10.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout10.xml new file mode 100644 index 00000000..066cc6c0 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout10.xml @@ -0,0 +1,2 @@ + +‹#› \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout11.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout11.xml new file mode 100644 index 00000000..bce09cb3 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout11.xml @@ -0,0 +1,2 @@ + +Insert slide title(second line)Insert chartQuestion wording‹#› \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout12.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout12.xml new file mode 100644 index 00000000..7cb14be6 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout12.xml @@ -0,0 +1,2 @@ + +‹#›‹#› \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout13.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout13.xml new file mode 100644 index 00000000..887858bc --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout13.xml @@ -0,0 +1,2 @@ + +‹#› \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout14.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout14.xml new file mode 100644 index 00000000..71114016 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout14.xml @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source: Foresight Factory Commercial Activity scanning + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‹#› + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Click to edit Master title style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout15.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout15.xml new file mode 100644 index 00000000..a04f6764 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout15.xml @@ -0,0 +1,2 @@ + +Chapter TitleClick to edit Master subtitle style \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout2.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout2.xml new file mode 100644 index 00000000..1de436ec --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout2.xml @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‹#› + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‹#› + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Click to edit Master title style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout3.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout3.xml new file mode 100644 index 00000000..0aae42eb --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout3.xml @@ -0,0 +1,2 @@ + + ‹#›‹#›Click to edit Master title style \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout4.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout4.xml new file mode 100644 index 00000000..35d32e9b --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout4.xml @@ -0,0 +1,512 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‹#› + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Click to edit Master title style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout5.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout5.xml new file mode 100644 index 00000000..2abf31b0 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout5.xml @@ -0,0 +1,2 @@ + + ‹#›Click to edit Master title style \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout6.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout6.xml new file mode 100644 index 00000000..c3cfacb0 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout6.xml @@ -0,0 +1,2 @@ + + ‹#›Click to edit Master title style \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout7.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout7.xml new file mode 100644 index 00000000..5cadb411 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout7.xml @@ -0,0 +1,2 @@ + +Click to edit Master title style‹#› \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout8.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout8.xml new file mode 100644 index 00000000..b3d2f61b --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout8.xml @@ -0,0 +1,2 @@ + +‹#›Click to edit Master title style Lorem ipsum dolor im id ut et ipsapie ndeleni utecto id ulluptatem rem illab isimenis quis con cusdae aceprorerum volentia in re occaborior modiorepudi dolo blabore voluptatus doluptas quundaniet inti ad et aperspe riorpor ratemped mi, im aut omnist, venis quam, inctur remolup idendi volores is sapis untissi si num, volorec aepeliq uiaspid que preperc. Lorem ipsum dolor im id ut et ipsapie ndeleni utecto id ulluptatem rem illab isimenis quis con cusdae aceprorerum volentia in re occaborior modiorepudi dolo blabore voluptatus doluptas quundaniet inti ad et aperspe riorpor ratemped mi, im aut omnist, venis quam, inctur remolup idendi volores is sapis untissi si num, volorec aepeliq uiaspid que preperc. HeaderLorem ipsum dolor im id ut et ipsapie ndeleni utecto id ulluptatem rem illab isimenis quis con cusdae aceprorerum volentia in re occaborior modiorepudi dolo blabore voluptatus doluptas quundaniet inti ad et aperspe riorpor ratemped mi, im aut omnist, venis quam, inctur remolup idendi volores is sapis untissi si num, volorec aepeliq uiaspid que preperc.Header Header \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideLayouts/slideLayout9.xml b/templates/collision-2025-template/ppt/slideLayouts/slideLayout9.xml new file mode 100644 index 00000000..90d131bd --- /dev/null +++ b/templates/collision-2025-template/ppt/slideLayouts/slideLayout9.xml @@ -0,0 +1,2388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‹#› + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Header + + + + + + + (second line) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Header + + + + + + + (second line) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Header + + + + + + + (second line) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/collision-2025-template/ppt/slideMasters/_rels/slideMaster1.xml.rels b/templates/collision-2025-template/ppt/slideMasters/_rels/slideMaster1.xml.rels new file mode 100644 index 00000000..7091ac9d --- /dev/null +++ b/templates/collision-2025-template/ppt/slideMasters/_rels/slideMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/slideMasters/slideMaster1.xml b/templates/collision-2025-template/ppt/slideMasters/slideMaster1.xml new file mode 100644 index 00000000..1b49c997 --- /dev/null +++ b/templates/collision-2025-template/ppt/slideMasters/slideMaster1.xml @@ -0,0 +1,628 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Click to edit Master title style + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Click to edit Master text styles + + + + + + + Second level + + + + + + + Third level + + + + + + + Fourth level + + + + + + + Fifth level + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ‹#› + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sample text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/collision-2025-template/ppt/slides/_rels/.keep b/templates/collision-2025-template/ppt/slides/_rels/.keep new file mode 100644 index 00000000..e69de29b diff --git a/templates/collision-2025-template/ppt/tableStyles.xml b/templates/collision-2025-template/ppt/tableStyles.xml new file mode 100644 index 00000000..ecd5f7a0 --- /dev/null +++ b/templates/collision-2025-template/ppt/tableStyles.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/theme/theme1.xml b/templates/collision-2025-template/ppt/theme/theme1.xml new file mode 100644 index 00000000..51eac4bc --- /dev/null +++ b/templates/collision-2025-template/ppt/theme/theme1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/theme/theme2.xml b/templates/collision-2025-template/ppt/theme/theme2.xml new file mode 100644 index 00000000..88fd61e9 --- /dev/null +++ b/templates/collision-2025-template/ppt/theme/theme2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-2025-template/ppt/viewProps.xml b/templates/collision-2025-template/ppt/viewProps.xml new file mode 100644 index 00000000..93f889ad --- /dev/null +++ b/templates/collision-2025-template/ppt/viewProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/[Content_Types].xml b/templates/collision-template-old/[Content_Types].xml new file mode 100644 index 00000000..873f27e2 --- /dev/null +++ b/templates/collision-template-old/[Content_Types].xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/_rels/.rels b/templates/collision-template-old/_rels/.rels new file mode 100644 index 00000000..7100d4b1 --- /dev/null +++ b/templates/collision-template-old/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/_rels/item1.xml.rels b/templates/collision-template-old/customXml/_rels/item1.xml.rels new file mode 100644 index 00000000..d99ccc50 --- /dev/null +++ b/templates/collision-template-old/customXml/_rels/item1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/_rels/item2.xml.rels b/templates/collision-template-old/customXml/_rels/item2.xml.rels new file mode 100644 index 00000000..aef5c41f --- /dev/null +++ b/templates/collision-template-old/customXml/_rels/item2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/_rels/item3.xml.rels b/templates/collision-template-old/customXml/_rels/item3.xml.rels new file mode 100644 index 00000000..59ebeabd --- /dev/null +++ b/templates/collision-template-old/customXml/_rels/item3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/item1.xml b/templates/collision-template-old/customXml/item1.xml new file mode 100644 index 00000000..f09d8ed9 --- /dev/null +++ b/templates/collision-template-old/customXml/item1.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/item2.xml b/templates/collision-template-old/customXml/item2.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/collision-template-old/customXml/item2.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/collision-template-old/customXml/item3.xml b/templates/collision-template-old/customXml/item3.xml new file mode 100644 index 00000000..e63065b6 --- /dev/null +++ b/templates/collision-template-old/customXml/item3.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/itemProps1.xml b/templates/collision-template-old/customXml/itemProps1.xml new file mode 100644 index 00000000..677c83df --- /dev/null +++ b/templates/collision-template-old/customXml/itemProps1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/itemProps2.xml b/templates/collision-template-old/customXml/itemProps2.xml new file mode 100644 index 00000000..bb9377bc --- /dev/null +++ b/templates/collision-template-old/customXml/itemProps2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/customXml/itemProps3.xml b/templates/collision-template-old/customXml/itemProps3.xml new file mode 100644 index 00000000..dbf68dd0 --- /dev/null +++ b/templates/collision-template-old/customXml/itemProps3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/docProps/app.xml b/templates/collision-template-old/docProps/app.xml new file mode 100644 index 00000000..396ccc40 --- /dev/null +++ b/templates/collision-template-old/docProps/app.xml @@ -0,0 +1,2 @@ + +7413642Microsoft Office PowerPointOn-screen Show (4:3)11815700falseFonts Used6Theme1Slide Titles15ArialCalibriGeorgiaTimes New RomanWingdingsWingdings 3FF2018PowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationWhat will happen next?What this means for: Branding and PositioningInstagram usersDesire for better personalised product recommendations from brands / companies, among Generation X"I expect to have to share some of my personal details online in exchange for something I might want e.g. discounts, free online videos/articles""I am often under time pressure in my everyday life"Teen worries: climate changeCosmetics fight fine dustPeriod brand changes policyPowerPoint Presentationfalsefalsefalse16.0000 \ No newline at end of file diff --git a/templates/collision-template-old/docProps/core.xml b/templates/collision-template-old/docProps/core.xml new file mode 100644 index 00000000..c7ce2ecd --- /dev/null +++ b/templates/collision-template-old/docProps/core.xml @@ -0,0 +1,2 @@ + +FFonlineForesight FactoryPhilip Smith822020-09-24T03:56:57Z2020-10-22T14:58:29Z \ No newline at end of file diff --git a/templates/collision-template-old/docProps/thumbnail.jpeg b/templates/collision-template-old/docProps/thumbnail.jpeg new file mode 100644 index 00000000..a87d145c Binary files /dev/null and b/templates/collision-template-old/docProps/thumbnail.jpeg differ diff --git a/templates/collision-template-old/ppt/_rels/presentation.xml.rels b/templates/collision-template-old/ppt/_rels/presentation.xml.rels new file mode 100644 index 00000000..243f948e --- /dev/null +++ b/templates/collision-template-old/ppt/_rels/presentation.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/_rels/chart1.xml.rels b/templates/collision-template-old/ppt/charts/_rels/chart1.xml.rels new file mode 100644 index 00000000..f44b6387 --- /dev/null +++ b/templates/collision-template-old/ppt/charts/_rels/chart1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/_rels/chart2.xml.rels b/templates/collision-template-old/ppt/charts/_rels/chart2.xml.rels new file mode 100644 index 00000000..e9833ebd --- /dev/null +++ b/templates/collision-template-old/ppt/charts/_rels/chart2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/_rels/chart3.xml.rels b/templates/collision-template-old/ppt/charts/_rels/chart3.xml.rels new file mode 100644 index 00000000..15f886ec --- /dev/null +++ b/templates/collision-template-old/ppt/charts/_rels/chart3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/_rels/chart4.xml.rels b/templates/collision-template-old/ppt/charts/_rels/chart4.xml.rels new file mode 100644 index 00000000..cf942091 --- /dev/null +++ b/templates/collision-template-old/ppt/charts/_rels/chart4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/_rels/chart5.xml.rels b/templates/collision-template-old/ppt/charts/_rels/chart5.xml.rels new file mode 100644 index 00000000..ebf60b7d --- /dev/null +++ b/templates/collision-template-old/ppt/charts/_rels/chart5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/chart1.xml b/templates/collision-template-old/ppt/charts/chart1.xml new file mode 100644 index 00000000..08e316da --- /dev/null +++ b/templates/collision-template-old/ppt/charts/chart1.xml @@ -0,0 +1,2 @@ + +'Chart'!B72014'Chart'!A8:A35SingaporeUSASouth KoreaCanadaAustraliaJapanSpainSwedenItalyPolandFinlandDenmarkIrelandGBFranceNetherlandsGermanyIndonesiaBrazilIndiaUAEMexicoMalaysiaThailandRussiaVietnam'Chart'!B8:B350.0%0.1582045833783517.1708174392362906E-20.1074590376470880.141220266872945010.178965985377822990.2595101748645060.166478851092825014.4949585346936299E-20.1040906197633180.129932832180514990.1359038674677710.1327287985688156.0653462848492497E-20.1017830609212486.5960310339367695E-20.2294816576562170.290119389873822020.1387937542810570.230325705098942010.3106592286005640.367261690106984010.142803237177896'Chart'!C72016'Chart'!A8:A35SingaporeUSASouth KoreaCanadaAustraliaJapanSpainSwedenItalyPolandFinlandDenmarkIrelandGBFranceNetherlandsGermanyIndonesiaBrazilIndiaUAEMexicoMalaysiaThailandRussiaVietnam'Chart'!C8:C350.0%0.326815511279515030.231527241141762010.255728058891705020.246317461499323990.1489009621157760.287735131572275980.4114550180352220.272298279056746970.154903983104956010.292138427685536990.243210598090784990.243839823412270010.215746075644669990.156313518758934010.198007327890981990.1523635001738850.508403235619744990.465617043284532020.322813458104722010.401994518574828990.406508028093353010.446852672334650980.262913940362619'Chart'!D72017'Chart'!A8:A35SingaporeUSASouth KoreaCanadaAustraliaJapanSpainSwedenItalyPolandFinlandDenmarkIrelandGBFranceNetherlandsGermanyIndonesiaBrazilIndiaUAEMexicoMalaysiaThailandRussiaVietnam'Chart'!D8:D350.0%0.522192119207936960.431854395434725980.354947305329403990.376487259357606020.303723898630646030.207634099756514010.429018643616684010.498847395112955010.3562495021110490.3517215747697050.366842486296410970.309577184506754980.287464720455146980.2378730487437250.2333026285927880.669700910273081980.598765432098764980.445442465055402030.518858266926273020.516991687662427980.535460357292226960.454225492940847020.38457234771662402'Chart'!E72018'Chart'!A8:A35SingaporeUSASouth KoreaCanadaAustraliaJapanSpainSwedenItalyPolandFinlandDenmarkIrelandGBFranceNetherlandsGermanyIndonesiaBrazilIndiaUAEMexicoMalaysiaThailandRussiaVietnam'Chart'!E8:E350.0%0.552523976842184020.422143362334417020.363356612614772980.368681648226842020.357557908142960010.279510560133484020.439690001270487020.5468818431565120.4728883559818810.439163118680149010.398512924322641020.398955288254180970.353391089785859980.246164940343515990.267029717542849990.727188312492262010.651368940754039950.535022828944333950.564480165278845040.549633793009114970.590287729442111050.5637639959103260.44776699803571601'Chart'!F72019'Chart'!A8:A35SingaporeUSASouth KoreaCanadaAustraliaJapanSpainSwedenItalyPolandFinlandDenmarkIrelandGBFranceNetherlandsGermanyIndonesiaBrazilIndiaUAEMexicoMalaysiaThailandRussiaVietnam'Chart'!F8:F350.0%0.615572839290395970.4713954584964290.495464954649545990.420827589727880980.408332815895684990.327928006895442990.561045154615762990.599166865663721020.575791359745172040.433487113243526010.515512013062747960.457890984509690010.445248426473393020.3903481035713770.298650670726904990.422541541464417030.303673961051998010.781915159388428040.761197007481297040.632950563157078980.683035490186235990.5716400457779770.625803712997989980.602828373685130980.527492043221024050.39240775218983098'Chart'!G72020'Chart'!A8:A35SingaporeUSASouth KoreaCanadaAustraliaJapanSpainSwedenItalyPolandFinlandDenmarkIrelandGBFranceNetherlandsGermanyIndonesiaBrazilIndiaUAEMexicoMalaysiaThailandRussiaVietnam'Chart'!G8:G350.0%0.606479009647740040.537847845173111020.528487831880276040.514890315180446030.506786168443705050.374827963935623010.647278371087543050.629903377098087970.610477308397409990.567346839860411010.537624541164132050.533957327154146010.5150126696518450.478183152736412990.466921317950316990.466761535879102020.437025975346704010.834291163701156970.832838897827836040.721962134077817950.707734104334387990.687001041305102980.683262215920490970.632858297958359020.602105051115475960.45200663514149197 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/chart2.xml b/templates/collision-template-old/ppt/charts/chart2.xml new file mode 100644 index 00000000..9d844bbd --- /dev/null +++ b/templates/collision-template-old/ppt/charts/chart2.xml @@ -0,0 +1,2 @@ + +'Chart'!B72016'Chart'!A8:A33South KoreaSingaporeUSAAustraliaCanadaJapanSpainIrelandFinlandSwedenFranceItalyGBDenmarkGermanyMexicoBrazilIndonesiaChinaUAEIndiaMalaysiaThailandRussia'Chart'!B8:B33General0.603924137401726010.546989498783750030.484057909289582980.458602711944496980.68370806686841001'Chart'!C72018'Chart'!A8:A33South KoreaSingaporeUSAAustraliaCanadaJapanSpainIrelandFinlandSwedenFranceItalyGBDenmarkGermanyMexicoBrazilIndonesiaChinaUAEIndiaMalaysiaThailandRussia'Chart'!C8:C330.0%0.591777033088099040.579945632991008990.560353543319632050.467384331920714990.464446612491657970.371818903731663990.557060919036812980.523350543357311020.4975669456760190.483427679204090020.4737244330011850.463461284404154020.433993631052021990.3653717073987820.365210577418015990.741763898983082040.724027614998562050.693845171010192050.665025573907782050.659261543313286010.657668876601800960.607936400124245990.575416681080625050.53910156227216899 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/chart3.xml b/templates/collision-template-old/ppt/charts/chart3.xml new file mode 100644 index 00000000..ee78747e --- /dev/null +++ b/templates/collision-template-old/ppt/charts/chart3.xml @@ -0,0 +1,2 @@ + +'Chart'!B7Agree strongly'Chart'!A8:A25TotalMaleFemale16-2930-4445+MillennialsGeneration XBaby boomers*Less than S$3200S$3200 - 4599*S$4600 - 8699S$8700 - 11299S$11300 +'Chart'!B8:B25General7.4825263692972405E-28.8116935379183206E-26.2081497523212098E-28.1726386648902596E-20.101269672318101993.7423518565082602E-27.5672262274377705E-27.6579901787720298E-21.4598540145985399E-26.0269163253364497E-27.6898153148288198E-25.6492697837654302E-29.1670844374418095E-29.5597241023657603E-2'Chart'!C7Agree'Chart'!A8:A25TotalMaleFemale16-2930-4445+MillennialsGeneration XBaby boomers*Less than S$3200S$3200 - 4599*S$4600 - 8699S$8700 - 11299S$11300 +'Chart'!C8:C25General0.446397255051467990.430718903341382020.461429318198790020.503400883528503980.4513038850452370.372852233676976010.484555070252065010.402028436627403010.428321167883212010.420421299005265980.442056377578572020.465338314653382990.489794456778628980.42029265777090202'Chart'!D7Neither agree nor disagree'Chart'!A8:A25TotalMaleFemale16-2930-4445+MillennialsGeneration XBaby boomers*Less than S$3200S$3200 - 4599*S$4600 - 8699S$8700 - 11299S$11300 +'Chart'!D8:D25General0.320942940653196010.3239089233325540.318099220869738020.306360002804851980.3014901543374130.359818959014331970.317581434510339990.323330230766761980.3375182481751830.384045250633898990.321200993627822010.308615419449790980.247940986893934010.32417972023464198'Chart'!E7Disagree'Chart'!A8:A25TotalMaleFemale16-2930-4445+MillennialsGeneration XBaby boomers*Less than S$3200S$3200 - 4599*S$4600 - 8699S$8700 - 11299S$11300 +'Chart'!E8:E25General0.1149447197865040.1084196588519350.1212008065118368.7826940607250506E-20.1046909450315520.1586623082725679.9063305793821999E-20.1341592579516640.145839416058394017.74331968012483E-20.1383518738524680.139439224121665010.113585905607677010.10236575775156299'Chart'!F7Disagree strongly'Chart'!A8:A25TotalMaleFemale16-2930-4445+MillennialsGeneration XBaby boomers*Less than S$3200S$3200 - 4599*S$4600 - 8699S$8700 - 11299S$11300 +'Chart'!F8:F25General4.2889820815859701E-24.8835579094945097E-23.7189156896422999E-22.0685786410490101E-24.1245343267695599E-27.12429804710418E-22.31279271693943E-26.3902172866450599E-27.3722627737226307E-25.7831090306222001E-22.1492601792850199E-23.0114343937507101E-25.7007806345341298E-25.75646232192355E-2 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/chart4.xml b/templates/collision-template-old/ppt/charts/chart4.xml new file mode 100644 index 00000000..ed5fe8e5 --- /dev/null +++ b/templates/collision-template-old/ppt/charts/chart4.xml @@ -0,0 +1,2 @@ + +'Chart'!B72010'Chart'!A8:A32TotalMaleFemale16-2425-3435-4445-5455-6465-7475+*Generation Z*MillennialsGeneration XBaby boomersHispanicLess than $20000$20000 - $29999$30000 - $39999$40000 - $74999$75000+'Chart'!B8:B32General0.404152170574211990.388507812821533020.4189890710382510.473881913458545020.554893319614047980.481619605753862980.427027223098827010.345457383702779010.1199021207177810.153518859245630.5020154289768870.492201133887317010.35880394481297401'Chart'!C72011'Chart'!A8:A32TotalMaleFemale16-2425-3435-4445-5455-6465-7475+*Generation Z*MillennialsGeneration XBaby boomersHispanicLess than $20000$20000 - $29999$30000 - $39999$40000 - $74999$75000+'Chart'!C8:C32General0.428472443114476020.402375600051716020.4531259849965330.559735820933877970.519210532469657980.511613876319758960.467768723149829980.335155289463836990.167524642428851010.1689081706435290.550601581299416050.499869589315018010.348547493373107970.42164951023155001'Chart'!D72014'Chart'!A8:A32TotalMaleFemale16-2425-3435-4445-5455-6465-7475+*Generation Z*MillennialsGeneration XBaby boomersHispanicLess than $20000$20000 - $29999$30000 - $39999$40000 - $74999$75000+'Chart'!D8:D32General0.3358117184868320.329954836897039030.341303450309642990.491991495393337970.4179299840548320.413446882636149980.325202524280534980.236384091059493010.131093209856965990.137295081967212990.460569951098870.370747318328545020.2188452035406720.378744082778265990.331292877461096980.290006408564857990.3086935464341930.348912613141475980.34848114809387598'Chart'!E72016'Chart'!A8:A32TotalMaleFemale16-2425-3435-4445-5455-6465-7475+*Generation Z*MillennialsGeneration XBaby boomersHispanicLess than $20000$20000 - $29999$30000 - $39999$40000 - $74999$75000+'Chart'!E8:E32General0.393156252648742990.408873025654599990.378179080830335020.582473053491330050.545324244013284050.524552999641375030.385218691861526020.2394757247554970.141410475118870.124662613828419010.738968723584108030.555862470485492980.450460569323112010.193999491482329010.487620875470584030.319725004243761990.346562440813375010.3407221247898170.398772307122613020.45212039927361602'Chart'!F72018'Chart'!A8:A32TotalMaleFemale16-2425-3435-4445-5455-6465-7475+*Generation Z*MillennialsGeneration XBaby boomersHispanicLess than $20000$20000 - $29999$30000 - $39999$40000 - $74999$75000+'Chart'!F8:F32General0.373236331569665010.371880000831307010.374527611246315010.524876164889597980.538097693951226970.4820132305364640.383676968054982030.244974483445356990.1107221306974190.1232691339375630.528597908115979950.5321495175545280.402795964244354990.1836434317558760.441577418937166010.337350289702152970.317097545079295990.321919636897610.373136246786631990.434220802271921'Chart'!G72020'Chart'!A8:A32TotalMaleFemale16-2425-3435-4445-5455-6465-7475+*Generation Z*MillennialsGeneration XBaby boomersHispanicLess than $20000$20000 - $29999$30000 - $39999$40000 - $74999$75000+'Chart'!G8:G32General0.3682697422301780.382483958927655020.355709821322074020.521037876823138960.516968140973276040.4666657315584980.386190793862574990.244434206425560999.4120660440556406E-28.1273934484943605E-20.518776395388654050.516941902721790970.389143235196823980.147984162366281010.488287273884415010.332926894869910010.333063658638065970.310787498599754020.356255647619193980.41786205105795499 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/charts/chart5.xml b/templates/collision-template-old/ppt/charts/chart5.xml new file mode 100644 index 00000000..040a626c --- /dev/null +++ b/templates/collision-template-old/ppt/charts/chart5.xml @@ -0,0 +1,2 @@ + +Chart!$B$7A lotChart!$A$8:$A$32Total12-19 boys12-19 girlsMale 12-15Male 16-19Female 12-15Female 16-1912-1516-191213141516171819Under $20,000$20,000 - $39,999$40,000+Chart!$B$8:$B$32General0.183888682651543010.164887561381559990.2020480736732530.1296874790706660.200272366902512990.182414384406052010.221532471144792990.155286435748747010.212043186761025990.1595756984709040.165107229700683010.1697446135471250.126915520937135010.225625278050665010.197923101391202010.2076126280115220.2161033821859290.199601652940008010.158185092994488990.17912590425864799Chart!$C$7Quite a lotChart!$A$8:$A$32Total12-19 boys12-19 girlsMale 12-15Male 16-19Female 12-15Female 16-1912-1516-191213141516171819Under $20,000$20,000 - $39,999$40,000+Chart!$C$8:$C$32General0.365966125623809980.360426390080660020.371203016457952010.364659431882439990.356111301548607980.367469345064143030.3755680916458190.3677203116209280.364407483498946030.334590571125092990.3989323357576170.337094268472878990.400778451087824010.358810515832756030.357673552590851980.391409064468960010.350097844503056980.315988868581100980.352816710848410990.39328310427039198Chart!$D$7Not very muchChart!$A$8:$A$32Total12-19 boys12-19 girlsMale 12-15Male 16-19Female 12-15Female 16-1912-1516-191213141516171819Under $20,000$20,000 - $39,999$40,000+Chart!$D$8:$D$32General0.337368663699195990.346064475939190990.329553246286229010.3756309039895630.3160700252506860.326396177095570010.331926176032740990.350860473032950980.323799863782852030.384508950960365030.315824249742491010.364779357904716990.338054657334423030.311991279006711970.331065232819560020.3310133671009820.321860429584037990.370367985469819030.358053858163849990.32018558300761901Chart!$E$7Not at allChart!$A$8:$A$32Total12-19 boys12-19 girlsMale 12-15Male 16-19Female 12-15Female 16-1912-1516-191213141516171819Under $20,000$20,000 - $39,999$40,000+Chart!$E$8:$E$32General0.1127765280254520.1286215725985939.71956635825659E-20.130022185057331010.1275463062981920.1237200934342357.0973261176647096E-20.126132779597374019.97494659571765E-20.1213247794436370.1201361847992090.128381760075278990.134251370640618010.1035729271098670.113338113198386016.99649404185365E-20.1119383437269770.1140414930090720.130944337993250.10740540846334 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet.xlsx b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet.xlsx new file mode 100644 index 00000000..8d7e540d Binary files /dev/null and b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet.xlsx differ diff --git a/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet1.xlsx b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet1.xlsx new file mode 100644 index 00000000..991da90c Binary files /dev/null and b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet1.xlsx differ diff --git a/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet15.xlsx b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet15.xlsx new file mode 100644 index 00000000..ad91eba5 Binary files /dev/null and b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet15.xlsx differ diff --git a/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet2.xlsx b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet2.xlsx new file mode 100644 index 00000000..659fe9b7 Binary files /dev/null and b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet2.xlsx differ diff --git a/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet3.xlsx b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet3.xlsx new file mode 100644 index 00000000..4833fdb3 Binary files /dev/null and b/templates/collision-template-old/ppt/embeddings/Microsoft_Excel_Worksheet3.xlsx differ diff --git a/templates/collision-template-old/ppt/handoutMasters/_rels/handoutMaster1.xml.rels b/templates/collision-template-old/ppt/handoutMasters/_rels/handoutMaster1.xml.rels new file mode 100644 index 00000000..6f92e4d8 --- /dev/null +++ b/templates/collision-template-old/ppt/handoutMasters/_rels/handoutMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/handoutMasters/handoutMaster1.xml b/templates/collision-template-old/ppt/handoutMasters/handoutMaster1.xml new file mode 100644 index 00000000..dfd44d39 --- /dev/null +++ b/templates/collision-template-old/ppt/handoutMasters/handoutMaster1.xml @@ -0,0 +1,2 @@ + +22/10/2020‹#› \ No newline at end of file diff --git a/templates/collision-template-old/ppt/media/image1.png b/templates/collision-template-old/ppt/media/image1.png new file mode 100644 index 00000000..a6aa6b97 Binary files /dev/null and b/templates/collision-template-old/ppt/media/image1.png differ diff --git a/templates/collision-template-old/ppt/media/image2.jpeg b/templates/collision-template-old/ppt/media/image2.jpeg new file mode 100644 index 00000000..8f73eb1e Binary files /dev/null and b/templates/collision-template-old/ppt/media/image2.jpeg differ diff --git a/templates/collision-template-old/ppt/media/image3.jpeg b/templates/collision-template-old/ppt/media/image3.jpeg new file mode 100644 index 00000000..c38c018a Binary files /dev/null and b/templates/collision-template-old/ppt/media/image3.jpeg differ diff --git a/templates/collision-template-old/ppt/notesMasters/_rels/notesMaster1.xml.rels b/templates/collision-template-old/ppt/notesMasters/_rels/notesMaster1.xml.rels new file mode 100644 index 00000000..53a3df37 --- /dev/null +++ b/templates/collision-template-old/ppt/notesMasters/_rels/notesMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesMasters/notesMaster1.xml b/templates/collision-template-old/ppt/notesMasters/notesMaster1.xml new file mode 100644 index 00000000..8e448d3e --- /dev/null +++ b/templates/collision-template-old/ppt/notesMasters/notesMaster1.xml @@ -0,0 +1,2 @@ + +10/22/2020Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#› \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide1.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide1.xml.rels new file mode 100644 index 00000000..1513b64c --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide2.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide2.xml.rels new file mode 100644 index 00000000..bfc85c72 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide3.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide3.xml.rels new file mode 100644 index 00000000..19fcee84 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide4.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide4.xml.rels new file mode 100644 index 00000000..7445ced2 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide5.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide5.xml.rels new file mode 100644 index 00000000..036f6c88 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide6.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide6.xml.rels new file mode 100644 index 00000000..41e9eb1d --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide7.xml.rels b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide7.xml.rels new file mode 100644 index 00000000..6e4dd9bc --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/_rels/notesSlide7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide1.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide1.xml new file mode 100644 index 00000000..9c792c18 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide1.xml @@ -0,0 +1,13 @@ + +8Additional data sheets are included with this chart. Right click and select “Edit Data” to find demographic breakdowns.Non-comparable sample to 16-64 as follows: +2016 February: In Indonesia the sample is 16-54 +2017 August: In Indonesia the sample is 16-54 +2018 July: In Indonesia the sample is 16-54 +2019 May: In Indonesia the sample is 16-54 +2020 May: In Indonesia the sample is 16-54 +2014 February: In Indonesia, Mexico the sample is 16-54 + +AYDA chart code: +{"QuestionCode":"SOCAPPS_02","Package":"Global","Adults":true,"Visualisation":"Slide17","CountryList":[["Australia","Japan","South Korea","USA","Canada","Singapore"],["GB","Czech Rep","Denmark","Ireland","France","Hungary","Poland","Germany","Italy","Spain","Sweden","Netherlands","Finland","Slovakia"],["India","China","Brazil","Russia","Argentina","Mexico","Turkey","Indonesia","South Africa","Malaysia","Thailand","UAE","Vietnam"]]} + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide2.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide2.xml new file mode 100644 index 00000000..7d62bf60 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide2.xml @@ -0,0 +1,11 @@ + +9Additional data sheets are included with this chart. Right click and select “Edit Data” to find demographic breakdowns.Non-comparable sample to 16-64 as follows: +2018 July: In Indonesia the sample is 16-54 + +What is adjusted data? +Adjusted data addresses natural variation in the strength of response in individual markets using an algorithm produced by Foresight Factory. It offers a simple but rigorous way of visualising the relative level of endorsement for attitudinal, aspirational and interest - based statements, providing a more robust and insightful method of comparing responses between countries.If you have any questions about adjusted data, please contact your Account Team. + +AYDA chart code: +{"QuestionCode":"AG_PRODUCTRECOM","Package":"Global","Adults":true,"Visualisation":"Slide17","CountryList":[["Australia","Japan","South Korea","USA","Canada","Singapore"],["GB","Czech Rep","Denmark","Ireland","France","Hungary","Poland","Germany","Italy","Spain","Sweden","Netherlands","Finland","Slovakia"],["India","China","Brazil","Russia","Argentina","Mexico","Turkey","Indonesia","South Africa","Malaysia","Thailand","UAE","Vietnam"]],"BreakAnswer":"Generation X","BreakGroup":"BK_GENERATION"} + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide3.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide3.xml new file mode 100644 index 00000000..a5441c54 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide3.xml @@ -0,0 +1,7 @@ + +10Additional data sheets are included with this chart. Right click and select “Edit Data” to find demographic breakdowns.*Sample below 100 + +AYDA chart code: +{"QuestionCode":"AG_DATASHARE","Package":"Global","Adults":true,"Visualisation":"Slide10","BreakList":[[{"TOTAL":"*"}],[{"BK_GENDER":"*"}],[{"BK_AGE_3_45PLUS":"*"}],[{"BK_GENERATION":"*"}],[{"BK_HHINCOME_SG_5":"*"}]],"Country":"Singapore"} + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide4.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide4.xml new file mode 100644 index 00000000..7569c11d --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide4.xml @@ -0,0 +1,7 @@ + +11Additional data sheets are included with this chart. Right click and select “Edit Data” to find demographic breakdowns.*Sample below 100 + +AYDA chart code: +{"QuestionCode":"AG_TPRESS","Package":"US","Adults":true,"Visualisation":"Slide19","BreakList":[[{"TOTAL":"*"}],[{"BK_GENDER":"*"}],[{"BK_AGE_7":"*"}],[{"BK_GENERATION":"*"}],[{"BK_ETHNICITY_HISPANICS":"Hispanic"}],[{"BK_HHINCOME_US_5":"*"}]],"Country":"USA"} + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide5.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide5.xml new file mode 100644 index 00000000..0155d578 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide5.xml @@ -0,0 +1,10 @@ + +12Additional data sheets are included with this chart. Right click and select “Edit Data” to find demographic breakdowns. + +Global Average has been created by taking the average response across the following countries: Australia, China, GB, Germany, USA + + +AYDA chart code: +{"QuestionCode":"TEENWORRY_06","Visualisation":"Slide10","Package":"Global","Country":"Global Average","Adults":false,"CountryList":null,"BreakList":[[{"TOTAL":"*"}],[{"BK_GENDER":"*"}],[{"BK_KIDS_2_GENDER":"*"}],[{"BK_KIDS_2":"*"}],[{"BK_KIDS_16":"*"}],[{"BK_HHINCOME_3":"*"}]]} + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide6.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide6.xml new file mode 100644 index 00000000..384759f5 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide6.xml @@ -0,0 +1,2 @@ + +13 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/notesSlides/notesSlide7.xml b/templates/collision-template-old/ppt/notesSlides/notesSlide7.xml new file mode 100644 index 00000000..6d5b7446 --- /dev/null +++ b/templates/collision-template-old/ppt/notesSlides/notesSlide7.xml @@ -0,0 +1,2 @@ + +14 \ No newline at end of file diff --git a/templates/collision-template-old/ppt/presProps.xml b/templates/collision-template-old/ppt/presProps.xml new file mode 100644 index 00000000..bd6bd49c --- /dev/null +++ b/templates/collision-template-old/ppt/presProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/presentation.xml b/templates/collision-template-old/ppt/presentation.xml new file mode 100644 index 00000000..e496b42e --- /dev/null +++ b/templates/collision-template-old/ppt/presentation.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout1.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout10.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout10.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout2.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout2.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout3.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout3.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout4.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout4.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout5.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout5.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout6.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout6.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout7.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout8.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout8.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout9.xml.rels b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout9.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/_rels/slideLayout9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout1.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout1.xml new file mode 100644 index 00000000..3dc0f444 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout1.xml @@ -0,0 +1,2 @@ + +<TREND TITLE><TREND SUBTITLE> \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout10.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout10.xml new file mode 100644 index 00000000..544cb194 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout10.xml @@ -0,0 +1,2 @@ + +collision-help@foresightfactory.coFor more information please contactThis content is copyright of Foresight Factory International© Foresight Factory 2020. All rights reserved. \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout2.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout2.xml new file mode 100644 index 00000000..c04ac648 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout2.xml @@ -0,0 +1,2 @@ + +Section title \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout3.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout3.xml new file mode 100644 index 00000000..5ae6b7ad --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout3.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Insert Briefing text>Briefing and Signals \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout4.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout4.xml new file mode 100644 index 00000000..c677812d --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout4.xml @@ -0,0 +1,2 @@ + +First level contentSecond level content‹#›Insert source/photo credit hereInsert slide title(second line) \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout5.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout5.xml new file mode 100644 index 00000000..9a195895 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout5.xml @@ -0,0 +1,2 @@ + +Insert chart‹#›Insert source/photo credit hereInsert slide titleDescription box(second line)(third line)(fourth line)Question wording(second line) \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout6.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout6.xml new file mode 100644 index 00000000..e029a83f --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout6.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereClick to edit Master text stylesInsert textInsert slide titleClick to edit Master text styles‹#› \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout7.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout7.xml new file mode 100644 index 00000000..de3effb9 --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout7.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereInsert textInsert slide titleClick to edit Master text styles‹#›Click to edit Master text styles \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout8.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout8.xml new file mode 100644 index 00000000..ba8c162b --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout8.xml @@ -0,0 +1,2 @@ + +Insert chart‹#›Insert source/photo credit hereInsert slide titleQuestion wordingClick to edit Master text stylesClick to edit Master text styles \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideLayouts/slideLayout9.xml b/templates/collision-template-old/ppt/slideLayouts/slideLayout9.xml new file mode 100644 index 00000000..71370c0f --- /dev/null +++ b/templates/collision-template-old/ppt/slideLayouts/slideLayout9.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereWhat will happen next?5 years agoNowIn 5 years<Text><Text><Text><Text><Text><Text><Text><Text><Text> \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideMasters/_rels/slideMaster1.xml.rels b/templates/collision-template-old/ppt/slideMasters/_rels/slideMaster1.xml.rels new file mode 100644 index 00000000..b18ddd73 --- /dev/null +++ b/templates/collision-template-old/ppt/slideMasters/_rels/slideMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slideMasters/slideMaster1.xml b/templates/collision-template-old/ppt/slideMasters/slideMaster1.xml new file mode 100644 index 00000000..9a1ae409 --- /dev/null +++ b/templates/collision-template-old/ppt/slideMasters/slideMaster1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide1.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide1.xml.rels new file mode 100644 index 00000000..3889691e --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide10.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide10.xml.rels new file mode 100644 index 00000000..05ffadda --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide11.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide11.xml.rels new file mode 100644 index 00000000..8776fd44 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide11.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide12.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide12.xml.rels new file mode 100644 index 00000000..ba6b808e --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide12.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide13.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide13.xml.rels new file mode 100644 index 00000000..2a1cb84f --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide13.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide14.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide14.xml.rels new file mode 100644 index 00000000..e18831b3 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide14.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide15.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide15.xml.rels new file mode 100644 index 00000000..8be38b58 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide15.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide2.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide2.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide3.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide3.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide4.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide4.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide5.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide5.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide6.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide6.xml.rels new file mode 100644 index 00000000..106a1123 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide7.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide7.xml.rels new file mode 100644 index 00000000..c5401b56 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide8.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide8.xml.rels new file mode 100644 index 00000000..b48a5a92 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/_rels/slide9.xml.rels b/templates/collision-template-old/ppt/slides/_rels/slide9.xml.rels new file mode 100644 index 00000000..12beb670 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/_rels/slide9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide1.xml b/templates/collision-template-old/ppt/slides/slide1.xml new file mode 100644 index 00000000..3d2590ce --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide1.xml @@ -0,0 +1,2 @@ + +Acclimatise NowThe growing need to adapt to new realities brought about by a changing climate \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide10.xml b/templates/collision-template-old/ppt/slides/slide10.xml new file mode 100644 index 00000000..24f990bb --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide10.xml @@ -0,0 +1,2 @@ + +Base: 787 online respondents aged 16-64, Singapore, 2018 July"I expect to have to share some of my personal details online in exchange for something I might want e.g. discounts, free online videos/articles""How strongly do you agree or disagree with the following statements?"SingaporeSource: Foresight FactoryData as Currency,Consumer CapitalAYDASingapore \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide11.xml b/templates/collision-template-old/ppt/slides/slide11.xml new file mode 100644 index 00000000..d1794876 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide11.xml @@ -0,0 +1,2 @@ + +Base: 4735 online respondents aged 16+, USA, 2020 May"I am often under time pressure in my everyday life""How strongly do you agree or disagree with the following statements?" % selecting agree or agree stronglyUSASource: Foresight FactoryConvenience Culture,Choice Partnerswork life balance,stress,AYDAUSA \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide12.xml b/templates/collision-template-old/ppt/slides/slide12.xml new file mode 100644 index 00000000..8fedfae2 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide12.xml @@ -0,0 +1,2 @@ + +Base: 4970 online respondents aged 12-19, Global Average, 2020 FebruaryTeen worries: climate change"How much, if at all, do you worry about…" | Climate change | Global AverageGlobal AverageSource: Foresight FactoryAcclimatise Nowsustainability,AYDAGlobal Average \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide13.xml b/templates/collision-template-old/ppt/slides/slide13.xml new file mode 100644 index 00000000..b28efaa8 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide13.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Now what?As consumers’ environments are impacted by climate change, how can you help them adapt routines to protect their health?Link: https://www.yuhan-kimberly.co.kr/Newsroom/YkstoryView/1340Acclimatise NowSouth Korean personal care brand Yuhan-Kimberly launched its anti-dust cosmetics range, Red to Rad, in April 2020. This was the brand’s first adult beauty launch. In June, the brand announced that it was looking to expand into additional Asian markets, including Vietnam and China.Brand Manager Kwang-tae Lee explained the impetus behind the launch: “In South Korea, there is an increasing number of products claiming to solve skin problems associated with anti-pollution. More than 40% of people are willing to buy anti-pollution cosmetics.” The range includes a cleanser, oil, mist, essence and cream that all aim to reduce skin irritation caused by fine dust in the air. The key active ingredient is King’s Herb, known for its purported therapeutic benefits.Cosmetics fight fine dustYuhan-Kimberly expands anti-pollution offering to new markets | AsiaBUSINESS AREABeauty and Personal Care Innovation and NPD \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide14.xml b/templates/collision-template-old/ppt/slides/slide14.xml new file mode 100644 index 00000000..34ec251d --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide14.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Now what?Could your brand lobby and actively engage with causes your customers care about? Everyday ActivismPeriod brand Flex lobbied Google, Facebook and TikTok in 2020 after some of the brand’s ads were rejected for not adhering to regulation. One of its ads was rejected by Google in May 2020 for “adult and shocking content” – it contained an image of a woman in a one-piece swimming costume. Google overturned its decision after advocacy from Flex, something the company rarely does. Facebook also reapproved some of the brand’s ads. And in August 2020, Flex managed to have TikTok overturn its policy banning images of the female anatomy from appearing on the social media platform.Flex sells disposable menstrual discs – an alternative to pads and tampons, which the company claims are safer and produce 60% less waste than traditional products.Period brand changes policyFlex fights platforms to display its realistic ads | USABUSINESS AREABeauty and Personal Care | Social MediaMarcoms \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide15.xml b/templates/collision-template-old/ppt/slides/slide15.xml new file mode 100644 index 00000000..30aab535 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide15.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide2.xml b/templates/collision-template-old/ppt/slides/slide2.xml new file mode 100644 index 00000000..76144f4f --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide2.xml @@ -0,0 +1,2 @@ + + As climate change intensifies, brands are helping consumers adapt to new realities brought about by a changing environment.The need to adapt to climate change joins the desire to fight it. A changing climate means that intense summer heat, erratic weather conditions and water shortages (as well as damaging water surpluses) have become the norm. The National Aeronautics and Space Administration (NASA) predicts that 2020 will be the hottest year on record. Consumers acutely feel the dangers of an unpredictable environment: in 2020, 32% of global consumers ranked climate change among their top three personal risks over the next five years. The five-country global average (including GB, US, China, Germany and Sweden) rose from 16% in 2016 to 32% in 2020 (source: Foresight Factory). In response, expect to see changes in how people manage their lives to safeguard their hobbies, households and personal wellbeing. The International Monetary Fund (IMF) has dubbed this the “Adaptive Age”. Climate resilience will grow in importance. Many consumers are resigned to their new reality: in 2020, 26% of global consumers felt that “it is too late to do anything to counter the effects of climate change” (source: Foresight Factory). As such, expect climate resilience to grow in value. This will manifest in many ways. For example, time-shifting could become commonplace, whereby popular leisure activities are undertaken during cooler times of the day, such as midnight gardening and pre-dawn workouts. Meanwhile, homeowners will be encouraged to make homes as durable as possible – flood-proofing and energy-efficient climate control will hold growing appeal. Consumers will also want to safeguard their physical and mental wellbeing, so expect more brands to develop climate-proof skincare and apparel, and to dispense stress remedies and pollution-proof dietary advice. Smart adaptation is a growing opportunity for brand differentiation. Even as the COVID-19 pandemic temporarily stymies efforts to combat climate change, reducing emissions will remain a priority across all verticals. But increasingly, B2C brands will also signal how they can help customers thrive in a changing climate with smart guidance and innovation. Companies will broadcast their efforts to adapt supply chains, stores and product lines to ensure continuity of service. And new disruptors will focus their entire offerings on their ability to adapt to the new climate reality. \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide3.xml b/templates/collision-template-old/ppt/slides/slide3.xml new file mode 100644 index 00000000..e9551d75 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide3.xml @@ -0,0 +1,2 @@ + + The expectation that spaces, both private and public, should serve multiple purposes and adapt to a range of activities.Activities have been untethered from their traditional settings. The lines that once demarcated how spaces are used for activities have begun to blur. Shopping, leisure, dining, working – all have been freed from their traditional homes, with omnipresent connectivity and the on-demand economy making them accessible nearly anywhere and anytime. This places pressure on traditional brick-and-mortar spaces, which have to prove their worth by offering compelling reasons to visit; in 2019, 43% of GB consumers had engaged with or were interested in real-world brand experiences. Also, consumers increasingly expect that the spaces they occupy – from the car to the home – be adapted for myriad uses.The need for accessible spaces. This untethering has been accompanied by a decline in truly public space. The retreat of the state has resulted in some spaces being made less accessible for everyday use – for example, in the UK, 773 public libraries closed between 2010 and 2019. As a result, consumers are using their living spaces for various activities – sleeping, working, socialising. In 2019, 51% preferred spending their leisure time at home rather than going out. This has been accelerated by the COVID-19 pandemic, which has left millions of consumers housebound; those living in small dwellings have had to come up with ever more ingenious ways to effectively utilise their home space.Flexibility is expected. As a result, consumers and brands alike are getting creative in how they use space, forcing it to flex, evolve and adapt accordingly. Sometimes this is organic, with consumers finding new uses for already existing spaces. In Japan, rental vehicles have become impromptu offices, dining locations and even sleeping pods. At other times, this is more commercial: think co-working spaces that place retail and leisure alongside work, concept stores that combine shopping with socialising, and connected devices that bring alternative uses to private spaces like the home and the car. As this trend expands, inflexible spaces could be abandoned in favour of those that offer the consumer more.Make spaces adaptable. This presents opportunities to expand customer touchpoints – for instance, can your brand host activities within its retail spaces? Brands are also invited to help consumers to transform their own spaces for alternative uses. Yet, Multi-use Spaces still need to feel coherent, with offerings that complement – not detract from – one another. How are you adapting to this new multi-use reality? \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide4.xml b/templates/collision-template-old/ppt/slides/slide4.xml new file mode 100644 index 00000000..77b8a64e --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide4.xml @@ -0,0 +1,2 @@ + + As good sleep becomes increasingly valuable to consumers in our always-on world, brands are switching on to switching us off.The hours before we go to sleep are being colonised by life’s modern distractions and devices, and we are using this time for myriad activities – both productive and entertaining. As work encroaches upon leisure time and bleeds into bedtime, the always-on global citizen grants herself fewer and fewer hours for winding down. But bedtime has been marginalised for too long.Sleep is being rebranded: clean sleeping is the new clean eating. No longer something that is made to fit around schedules, sleep is being redefined as the antidote to ill health, stress and an always-on mentality. Poor sleep, therefore, is being demonised, linked with everything from obesity to dementia.As a result, consumers are proactively managing their sleep. In 2018, 1 in 2 GB consumers said they try to get enough sleep to maintain a healthy lifestyle, a figure which has remained stable since 2011. And in 2019, 12% of GB consumers reported that they monitor their sleep patterns, up from 6% in 2015. 21% of GB Gen Z said they monitored their sleep in 2019. However, therein lies the danger of orthosomnia – an unhealthy obsession with healthy sleep, which can be fuelled by sleep tracking. Ultimately, consumers need to listen to their bodies – not just the numbers.The focus on sleep provides a rich space for brand innovation and educational content. A plethora of foods, drinks, supplements and media that help optimise sleep are arriving on the market, as well as a range of technology to help consumers wind down. In 2018, 26% of GB consumers had already tried food or drink that promises to improve sleep quality; we predict that 38% will have done so by 2028.While rest is important, this is not just about bedding down; it’s also about gearing up. In 2019, 17% of GB consumers said the thing they would most like more of in day-to-day life was energy. 21% of GB women agreed. Sound sleep may be just one route to improved mental and physical readiness, but it is something that many now recognise as a vital ingredient for optimal living. \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide5.xml b/templates/collision-template-old/ppt/slides/slide5.xml new file mode 100644 index 00000000..1785de6f --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide5.xml @@ -0,0 +1,2 @@ + + Expectations of pre-purchase exploration and entertainment are growing as pinning, previewing and sharing become popular activities. Earn a place early in the customer journey by providing enjoyable content, tools and experiences that also move people closer to the checkout.Value-consciousness and an explosion of consumer choice motivate people to try and find the best possible product – at the best possible price. Depending on the category and consumer, some are turning to Choice Partners to support (and even outsource) decision-making, while majorities still engage in hands-on Maximising Behaviour, using all means necessary to find the best value.But consumers are not just looking for value signals as they browse. Many enjoy – and luxuriate in – the research and exploration stage, particularly as more engaging channels, media and tools stand ready to help them imagine life with product X or service Y ahead of purchase. For example, influencer videos that detail the size, fit and feel of products; teaser campaigns on social; brand livestreams that answer common customer questions; and in-store experiences that allow for tactile testing in real life.Consumers are interested in engaging with these pre-purchase channels and activities. By 2019, 16% of GB consumers said they had bought a product that an online influencer had recommended, while 42% expressed interest in an augmented reality service that lets them see how products would look in their home. In 2018, 39% were interested in a store with products that could only be bought online. Wishlisting – the saving of items online to refer to later – is another manifestation of the trend: 52% of consumers wishlisted in 2018, rising to 71% among Gen Z. These virtual hauls can boost status and help consumers perform their identities online. Also, such Pretailtainment activities have become all the more important during the COVID-19 pandemic, as physical stores are shuttered and consumers have little choice but to rely on online research and exploration to inform their purchasing decisions.In the future, examining, collecting and sharing not-yet-bought items will be valued as highly as the eventual purchase and product experience – if a purchase is made at all, that is. Brands are invited to find ways to boost dwell time long before a purchase is made – and create clear paths to the checkout. Brands should also recognise that consumers may wish to remain in the pre-purchase stage indefinitely – and that imagined ownership could very soon challenge actual possession. \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide6.xml b/templates/collision-template-old/ppt/slides/slide6.xml new file mode 100644 index 00000000..677d035e --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide6.xml @@ -0,0 +1,2 @@ + + What will happen next?Consumers’ attention was almost wholly focused on preventing climate change – for instance, by reducing their individual carbon footprint.Brands prioritised the reduction of greenhouse gas emissions in a bid to underscore their sustainability credentials.Climate change was high on the global agenda. The Paris Agreement was signed in 2016, uniting 195 nations in the battle against climate change.Due to the growing intensity of extreme weather events such as the 2019/20 Australian bushfires, many consumers are realising the importance of climate adaptation.More brands are innovating to adapt supply chains, stores and product lines to ensure continuity of service.Efforts to fight climate change have been temporarily disrupted by COVID-19. However, some governments and brands have unveiled plans for a green recovery from the pandemic.Climate resilience will grow in priority as a consumer need, especially as some effects of climate change prove irreversible.New disruptors will enter the market, focusing their entire offerings on their ability to adapt to the new climate reality.Eco-concerns will return to the fore. The curtailment of industrial output and leisure travel during COVID-19 might once again be undertaken in the name of emissions reduction. \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide7.xml b/templates/collision-template-old/ppt/slides/slide7.xml new file mode 100644 index 00000000..8dde4628 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide7.xml @@ -0,0 +1,2 @@ + +Position to support both climate change mitigation and adaptation to its effects. As the climate change conversation broadens to demand adaptation as well as mitigation efforts, ensure that your brand’s sustainability values remain relevant. Can your brand develop new, positive associations by supporting those most affected by the impact of climate change? And how can your product positioning evolve to speak to the consumer need to be climate-resilient? What this means for: Branding and Positioning \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide8.xml b/templates/collision-template-old/ppt/slides/slide8.xml new file mode 100644 index 00000000..126ef3e2 --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide8.xml @@ -0,0 +1,2 @@ + +Base: 624-3934 online respondents per country aged 16-64[Indonesia 16-54], 2020 MayInstagram users"Which of these websites/apps have you used in the last month?" InstagramSource: Foresight Factorysocialmediachannels,AYDASocial MediaAustralia,Japan,South Korea,USA,Canada,Singapore,GB,Czech Rep,Denmark,Ireland,France,Hungary,Poland,Germany,Italy,Spain,Sweden,Netherlands,Finland,Slovakia,India,China,Brazil,Russia,Mexico,Turkey,Indonesia,South Africa,Malaysia,Thailand,UAE,Vietnam \ No newline at end of file diff --git a/templates/collision-template-old/ppt/slides/slide9.xml b/templates/collision-template-old/ppt/slides/slide9.xml new file mode 100644 index 00000000..8bc79bfe --- /dev/null +++ b/templates/collision-template-old/ppt/slides/slide9.xml @@ -0,0 +1,2 @@ + +Base: 595-3186 online respondents per country aged 16-64[Indonesia 16-54], 2018 JulyDesire for better personalised product recommendations from brands / companies, among Generation X"How strongly do you agree or disagree with the following statements?" I would like it if product recommendations I receive from brands/companies I use were better tailored to what I like /am interested in | % selecting agree or agree strongly | Adjusted data (see notes for details)Source: Foresight FactoryMass ExclusivityAYDAAustralia,Japan,South Korea,USA,Canada,Singapore,GB,Denmark,Ireland,France,Germany,Italy,Spain,Sweden,Finland,India,China,Brazil,Russia,Mexico,Indonesia,Malaysia,Thailand,UAE \ No newline at end of file diff --git a/templates/collision-template-old/ppt/tableStyles.xml b/templates/collision-template-old/ppt/tableStyles.xml new file mode 100644 index 00000000..ecd5f7a0 --- /dev/null +++ b/templates/collision-template-old/ppt/tableStyles.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/theme/theme1.xml b/templates/collision-template-old/ppt/theme/theme1.xml new file mode 100644 index 00000000..44fbca25 --- /dev/null +++ b/templates/collision-template-old/ppt/theme/theme1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/theme/theme2.xml b/templates/collision-template-old/ppt/theme/theme2.xml new file mode 100644 index 00000000..6ea538b9 --- /dev/null +++ b/templates/collision-template-old/ppt/theme/theme2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/theme/theme3.xml b/templates/collision-template-old/ppt/theme/theme3.xml new file mode 100644 index 00000000..0d63d212 --- /dev/null +++ b/templates/collision-template-old/ppt/theme/theme3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template-old/ppt/viewProps.xml b/templates/collision-template-old/ppt/viewProps.xml new file mode 100644 index 00000000..8474d2fe --- /dev/null +++ b/templates/collision-template-old/ppt/viewProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template/collision-template.pptx b/templates/collision-template/collision-template.pptx new file mode 100644 index 00000000..0bcb8d2b Binary files /dev/null and b/templates/collision-template/collision-template.pptx differ diff --git a/templates/collision-template/ppt/authors.xml b/templates/collision-template/ppt/authors.xml new file mode 100644 index 00000000..3420ad53 --- /dev/null +++ b/templates/collision-template/ppt/authors.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-template/ppt/comments/modernComment_145_C73B0D4E.xml b/templates/collision-template/ppt/comments/modernComment_145_C73B0D4E.xml new file mode 100644 index 00000000..a08a320a --- /dev/null +++ b/templates/collision-template/ppt/comments/modernComment_145_C73B0D4E.xml @@ -0,0 +1,2 @@ + +cover image tbctext taken from question, audience, market specified \ No newline at end of file diff --git a/templates/collision-template/ppt/comments/modernComment_AD0_4A341540.xml b/templates/collision-template/ppt/comments/modernComment_AD0_4A341540.xml new file mode 100644 index 00000000..d76ea472 --- /dev/null +++ b/templates/collision-template/ppt/comments/modernComment_AD0_4A341540.xml @@ -0,0 +1,2 @@ + +As above, to illustrate with more Trends \ No newline at end of file diff --git a/templates/collision-template/ppt/comments/modernComment_AD1_23A2652.xml b/templates/collision-template/ppt/comments/modernComment_AD1_23A2652.xml new file mode 100644 index 00000000..fe94547e --- /dev/null +++ b/templates/collision-template/ppt/comments/modernComment_AD1_23A2652.xml @@ -0,0 +1,2 @@ + +additional slides can be introduced as needed, same styling, numbers continue to run as high as requiredNumbers should not be bold, and should be in standard dark purple (not bright) hyperlink to the trend page on main Collision site \ No newline at end of file diff --git a/templates/collision-trend-summary-template/Prioritise Trends download template.pptx b/templates/collision-trend-summary-template/Prioritise Trends download template.pptx new file mode 100644 index 00000000..6d3974fd Binary files /dev/null and b/templates/collision-trend-summary-template/Prioritise Trends download template.pptx differ diff --git a/templates/collision-trend-summary-template/[Content_Types].xml b/templates/collision-trend-summary-template/[Content_Types].xml new file mode 100644 index 00000000..44219a65 --- /dev/null +++ b/templates/collision-trend-summary-template/[Content_Types].xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/_rels/.rels b/templates/collision-trend-summary-template/_rels/.rels new file mode 100644 index 00000000..4317e98e --- /dev/null +++ b/templates/collision-trend-summary-template/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/_rels/item1.xml.rels b/templates/collision-trend-summary-template/customXml/_rels/item1.xml.rels new file mode 100644 index 00000000..a9c831d4 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/_rels/item1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/_rels/item10.xml.rels b/templates/collision-trend-summary-template/customXml/_rels/item10.xml.rels new file mode 100644 index 00000000..51283271 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/_rels/item10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/_rels/item2.xml.rels b/templates/collision-trend-summary-template/customXml/_rels/item2.xml.rels new file mode 100644 index 00000000..a17b53aa --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/_rels/item2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/_rels/item20.xml.rels b/templates/collision-trend-summary-template/customXml/_rels/item20.xml.rels new file mode 100644 index 00000000..b89ce118 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/_rels/item20.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/_rels/item3.xml.rels b/templates/collision-trend-summary-template/customXml/_rels/item3.xml.rels new file mode 100644 index 00000000..fab5b339 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/_rels/item3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/_rels/item30.xml.rels b/templates/collision-trend-summary-template/customXml/_rels/item30.xml.rels new file mode 100644 index 00000000..25816a3d --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/_rels/item30.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/item1.xml b/templates/collision-trend-summary-template/customXml/item1.xml new file mode 100644 index 00000000..9260ce53 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/item1.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/item10.xml b/templates/collision-trend-summary-template/customXml/item10.xml new file mode 100644 index 00000000..f09d8ed9 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/item10.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/item2.xml b/templates/collision-trend-summary-template/customXml/item2.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/item2.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/item20.xml b/templates/collision-trend-summary-template/customXml/item20.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/item20.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/item3.xml b/templates/collision-trend-summary-template/customXml/item3.xml new file mode 100644 index 00000000..a2f9e903 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/item3.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/item30.xml b/templates/collision-trend-summary-template/customXml/item30.xml new file mode 100644 index 00000000..e63065b6 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/item30.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/itemProps1.xml b/templates/collision-trend-summary-template/customXml/itemProps1.xml new file mode 100644 index 00000000..13e7d058 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/itemProps1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/itemProps10.xml b/templates/collision-trend-summary-template/customXml/itemProps10.xml new file mode 100644 index 00000000..677c83df --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/itemProps10.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/itemProps2.xml b/templates/collision-trend-summary-template/customXml/itemProps2.xml new file mode 100644 index 00000000..d78ce8ec --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/itemProps2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/itemProps20.xml b/templates/collision-trend-summary-template/customXml/itemProps20.xml new file mode 100644 index 00000000..bb9377bc --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/itemProps20.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/itemProps3.xml b/templates/collision-trend-summary-template/customXml/itemProps3.xml new file mode 100644 index 00000000..b9c6a8c0 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/itemProps3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/customXml/itemProps30.xml b/templates/collision-trend-summary-template/customXml/itemProps30.xml new file mode 100644 index 00000000..dbf68dd0 --- /dev/null +++ b/templates/collision-trend-summary-template/customXml/itemProps30.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/docProps/app.xml b/templates/collision-trend-summary-template/docProps/app.xml new file mode 100644 index 00000000..a7ab8e85 --- /dev/null +++ b/templates/collision-trend-summary-template/docProps/app.xml @@ -0,0 +1,2 @@ + +8132037Microsoft Office PowerPointOn-screen Show (4:3)9318000falseFonts Used4Theme2Slide Titles18ArialCalibriGeorgiaWingdings 3FF20181_FF2018PowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationWhat is Quantify Me?What this means for: LoyaltyPowerPoint PresentationWhat is War on Waste?What this means for: LoyaltyPowerPoint PresentationWhat is Cashless Society?What this means for: LoyaltyPowerPoint PresentationPowerPoint PresentationPowerPoint Presentationfalsefalsefalse16.0000 \ No newline at end of file diff --git a/templates/collision-trend-summary-template/docProps/core.xml b/templates/collision-trend-summary-template/docProps/core.xml new file mode 100644 index 00000000..eb68edbc --- /dev/null +++ b/templates/collision-trend-summary-template/docProps/core.xml @@ -0,0 +1,2 @@ + +CollisionForesight FactoryEmily Cullen842022-07-06T10:01:49Z2022-07-07T14:06:56Z \ No newline at end of file diff --git a/templates/collision-trend-summary-template/docProps/custom.xml b/templates/collision-trend-summary-template/docProps/custom.xml new file mode 100644 index 00000000..4ee9d217 --- /dev/null +++ b/templates/collision-trend-summary-template/docProps/custom.xml @@ -0,0 +1,2 @@ + +0x010100E1022837DF84764A931E1C025392D5B1 \ No newline at end of file diff --git a/templates/collision-trend-summary-template/docProps/thumbnail.jpeg b/templates/collision-trend-summary-template/docProps/thumbnail.jpeg new file mode 100644 index 00000000..ff438b00 Binary files /dev/null and b/templates/collision-trend-summary-template/docProps/thumbnail.jpeg differ diff --git a/templates/collision-trend-summary-template/ppt/_rels/presentation.xml.rels b/templates/collision-trend-summary-template/ppt/_rels/presentation.xml.rels new file mode 100644 index 00000000..fdb23b9d --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/_rels/presentation.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/authors.xml b/templates/collision-trend-summary-template/ppt/authors.xml new file mode 100644 index 00000000..3420ad53 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/authors.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/comments/modernComment_145_C73B0D4E.xml b/templates/collision-trend-summary-template/ppt/comments/modernComment_145_C73B0D4E.xml new file mode 100644 index 00000000..a08a320a --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/comments/modernComment_145_C73B0D4E.xml @@ -0,0 +1,2 @@ + +cover image tbctext taken from question, audience, market specified \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/comments/modernComment_AD0_4A341540.xml b/templates/collision-trend-summary-template/ppt/comments/modernComment_AD0_4A341540.xml new file mode 100644 index 00000000..d76ea472 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/comments/modernComment_AD0_4A341540.xml @@ -0,0 +1,2 @@ + +As above, to illustrate with more Trends \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/comments/modernComment_AD1_23A2652.xml b/templates/collision-trend-summary-template/ppt/comments/modernComment_AD1_23A2652.xml new file mode 100644 index 00000000..fe94547e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/comments/modernComment_AD1_23A2652.xml @@ -0,0 +1,2 @@ + +additional slides can be introduced as needed, same styling, numbers continue to run as high as requiredNumbers should not be bold, and should be in standard dark purple (not bright) hyperlink to the trend page on main Collision site \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/media/image1.jpeg b/templates/collision-trend-summary-template/ppt/media/image1.jpeg new file mode 100644 index 00000000..67d5ae93 Binary files /dev/null and b/templates/collision-trend-summary-template/ppt/media/image1.jpeg differ diff --git a/templates/collision-trend-summary-template/ppt/media/image2.jpeg b/templates/collision-trend-summary-template/ppt/media/image2.jpeg new file mode 100644 index 00000000..70d5fd96 Binary files /dev/null and b/templates/collision-trend-summary-template/ppt/media/image2.jpeg differ diff --git a/templates/collision-trend-summary-template/ppt/media/image3.jpeg b/templates/collision-trend-summary-template/ppt/media/image3.jpeg new file mode 100644 index 00000000..c1e7147d Binary files /dev/null and b/templates/collision-trend-summary-template/ppt/media/image3.jpeg differ diff --git a/templates/collision-trend-summary-template/ppt/notesMasters/_rels/notesMaster1.xml.rels b/templates/collision-trend-summary-template/ppt/notesMasters/_rels/notesMaster1.xml.rels new file mode 100644 index 00000000..6f92e4d8 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/notesMasters/_rels/notesMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/notesMasters/notesMaster1.xml b/templates/collision-trend-summary-template/ppt/notesMasters/notesMaster1.xml new file mode 100644 index 00000000..024f6308 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/notesMasters/notesMaster1.xml @@ -0,0 +1,2 @@ + +7/7/2022Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#› \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/presProps.xml b/templates/collision-trend-summary-template/ppt/presProps.xml new file mode 100644 index 00000000..bd6bd49c --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/presProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/presentation.xml b/templates/collision-trend-summary-template/ppt/presentation.xml new file mode 100644 index 00000000..ab68de80 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/presentation.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/revisionInfo.xml b/templates/collision-trend-summary-template/ppt/revisionInfo.xml new file mode 100644 index 00000000..897cee9e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/revisionInfo.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels new file mode 100644 index 00000000..6bd2c453 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout13.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout13.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout13.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout14.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout14.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout14.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout15.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout15.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout15.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout16.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout16.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout16.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout17.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout17.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout17.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout18.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout18.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout18.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout19.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout19.xml.rels new file mode 100644 index 00000000..228dd393 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout19.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout1.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout1.xml new file mode 100644 index 00000000..f04b5187 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout1.xml @@ -0,0 +1,2 @@ + +<TREND SUBTITLE><TREND TITLE> \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout10.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout10.xml new file mode 100644 index 00000000..7038817b --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout10.xml @@ -0,0 +1,2 @@ + +<TREND SUBTITLE><TREND TITLE>We’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout11.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout11.xml new file mode 100644 index 00000000..db6549ee --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout11.xml @@ -0,0 +1,2 @@ + +Section title \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout12.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout12.xml new file mode 100644 index 00000000..7aa979b1 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout12.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Insert Briefing text>Briefing and Signals(second line) \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout13.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout13.xml new file mode 100644 index 00000000..2c7ab992 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout13.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereFirst level contentSecond level contentInsert slide title(second line) \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout14.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout14.xml new file mode 100644 index 00000000..45f5e217 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout14.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereClick to edit Master text stylesInsert text‹#›Click to edit Master text stylesInsert slide title \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout15.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout15.xml new file mode 100644 index 00000000..12a4cc41 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout15.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereInsert text‹#›Click to edit Master text stylesClick to edit Master text stylesInsert slide title \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout16.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout16.xml new file mode 100644 index 00000000..fc2c46cd --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout16.xml @@ -0,0 +1,2 @@ + +5 years agoNowIn 5 years‹#›Insert source/photo credit hereWhat will happen next?<Text><Text><Text><Text><Text><Text><Text><Text><Text> \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout17.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout17.xml new file mode 100644 index 00000000..500c7d0a --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout17.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereWhat will happen next?<TITLE><TITLE><TITLE><Text><Text><Text>Click to edit Master text stylesClick to edit Master text styles \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout18.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout18.xml new file mode 100644 index 00000000..088074a3 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout18.xml @@ -0,0 +1,2 @@ + +collision-help@foresightfactory.coFor more information please contactThis content is copyright of Foresight Factory International© Foresight Factory 2020. All rights reserved. \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout19.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout19.xml new file mode 100644 index 00000000..a74c625e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout19.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereClick to edit Master text stylesClick to edit Master text stylesInsert textInsert textInsert text \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout2.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout2.xml new file mode 100644 index 00000000..81d5923a --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout2.xml @@ -0,0 +1,2 @@ + +Section title \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout3.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout3.xml new file mode 100644 index 00000000..849bde21 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout3.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Insert Briefing text>Briefing and Signals(second line) \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout4.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout4.xml new file mode 100644 index 00000000..7932b8e0 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout4.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereFirst level contentSecond level contentInsert slide title(second line) \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout5.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout5.xml new file mode 100644 index 00000000..b4e399c7 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout5.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereClick to edit Master text stylesInsert text‹#›Click to edit Master text stylesInsert slide title \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout6.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout6.xml new file mode 100644 index 00000000..33058188 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout6.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereInsert text‹#›Click to edit Master text stylesClick to edit Master text stylesInsert slide title \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout7.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout7.xml new file mode 100644 index 00000000..8409bb7a --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout7.xml @@ -0,0 +1,2 @@ + +5 years agoNowIn 5 years‹#›Insert source/photo credit hereWhat will happen next?<Text><Text><Text><Text><Text><Text><Text><Text><Text> \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout8.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout8.xml new file mode 100644 index 00000000..863cc3a6 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout8.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereWhat will happen next?<TITLE><TITLE><TITLE><Text><Text><Text>Click to edit Master text stylesClick to edit Master text styles \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout9.xml b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout9.xml new file mode 100644 index 00000000..d4e43caf --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideLayouts/slideLayout9.xml @@ -0,0 +1,2 @@ + +collision-help@foresightfactory.coFor more information please contactThis content is copyright of Foresight Factory International© Foresight Factory 2020. All rights reserved. \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideMasters/_rels/slideMaster1.xml.rels b/templates/collision-trend-summary-template/ppt/slideMasters/_rels/slideMaster1.xml.rels new file mode 100644 index 00000000..406df75a --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideMasters/_rels/slideMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideMasters/_rels/slideMaster2.xml.rels b/templates/collision-trend-summary-template/ppt/slideMasters/_rels/slideMaster2.xml.rels new file mode 100644 index 00000000..dbcf9318 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideMasters/_rels/slideMaster2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideMasters/slideMaster1.xml b/templates/collision-trend-summary-template/ppt/slideMasters/slideMaster1.xml new file mode 100644 index 00000000..b02ab163 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideMasters/slideMaster1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slideMasters/slideMaster2.xml b/templates/collision-trend-summary-template/ppt/slideMasters/slideMaster2.xml new file mode 100644 index 00000000..a79ba7ba --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slideMasters/slideMaster2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide1.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide1.xml.rels new file mode 100644 index 00000000..6a47209c --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide10.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide10.xml.rels new file mode 100644 index 00000000..a86309cd --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide11.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide11.xml.rels new file mode 100644 index 00000000..3726124e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide11.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide12.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide12.xml.rels new file mode 100644 index 00000000..3726124e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide12.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide13.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide13.xml.rels new file mode 100644 index 00000000..f4eb28fb --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide13.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide14.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide14.xml.rels new file mode 100644 index 00000000..3726124e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide14.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide15.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide15.xml.rels new file mode 100644 index 00000000..3726124e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide15.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide16.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide16.xml.rels new file mode 100644 index 00000000..5a4dd763 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide16.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide17.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide17.xml.rels new file mode 100644 index 00000000..e9803d96 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide17.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide18.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide18.xml.rels new file mode 100644 index 00000000..1e47cc23 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide18.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide2.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide2.xml.rels new file mode 100644 index 00000000..bb814f46 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide3.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide3.xml.rels new file mode 100644 index 00000000..bb814f46 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide4.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide4.xml.rels new file mode 100644 index 00000000..bb814f46 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide5.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide5.xml.rels new file mode 100644 index 00000000..bb814f46 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide6.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide6.xml.rels new file mode 100644 index 00000000..bb814f46 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide7.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide7.xml.rels new file mode 100644 index 00000000..2ac65a71 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide8.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide8.xml.rels new file mode 100644 index 00000000..1067c1d2 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/_rels/slide9.xml.rels b/templates/collision-trend-summary-template/ppt/slides/_rels/slide9.xml.rels new file mode 100644 index 00000000..229a63f1 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/_rels/slide9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide1.xml b/templates/collision-trend-summary-template/ppt/slides/slide1.xml new file mode 100644 index 00000000..a2c7d3ae --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide1.xml @@ -0,0 +1,2 @@ + +Priority trends for sustainability among Gen X in AustraliaPrioritise TrendsWe’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide10.xml b/templates/collision-trend-summary-template/ppt/slides/slide10.xml new file mode 100644 index 00000000..984089a1 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide10.xml @@ -0,0 +1,2 @@ + +2Reducing, reusing, recycling and repairing in a bid to combat throwaway culture​War on Waste \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide11.xml b/templates/collision-trend-summary-template/ppt/slides/slide11.xml new file mode 100644 index 00000000..998ffa0c --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide11.xml @@ -0,0 +1,2 @@ + +Reducing, reusing, recycling and repairing in a bid to combat throwaway culture​Consumer awareness of – and aversion to – waste is growing. Public awareness campaigns, documentaries and media have all served to raise awareness of wasteful practices and drive demand for a more sustainable future. Many consumers are making personal efforts to reduce waste at home. One response is simply buying less, but this is not always possible or a realistic option. For some, learning to repair and upcycle products – be they clothing, homewares or electronics – is an appealing alternative, especially as the popularity of DIY grows. ​ An increasing number of government and brand policies support waste-lite living. Some countries have introduced charges for single-use plastic bags. More brands are offering repair and end-of-life services, exploring circular models, switching to recycled or recyclable packaging, and celebrating “ugly” produce (i.e. fruit and vegetables) that would once have been considered unsellable. All of these initiatives speak to the consumer desire to rethink the buy-use-discard model.​ Rental, recommerce and resale bolster this trend. The recommerce industry has boomed in recent years, allowing consumers to sell their old and under-used items for cash instead of trashing them. Meanwhile, rental services are also expanding their reach and moving into new categories, meaning consumers can have temporary access to an item they might use only once, such as a wedding dress or DIY tool. Some fashion brands have launched rental-only product collections. At the same time, we see renewed interest in products that are built to last. These place an emphasis on quality and endurance – often costing more in terms of initial investment but providing significant long-term value. What is War on Waste? \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide12.xml b/templates/collision-trend-summary-template/ppt/slides/slide12.xml new file mode 100644 index 00000000..ef07a12b --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide12.xml @@ -0,0 +1,2 @@ + +Tie rewards to recycling and waste avoidance. If sustainability and resource protection are core values for your brand, consider how you can incentivise your customers to adopt these values too. One route is to link loyalty points or discounts to waste-reducing behaviour like using in-store recycling bins, returning waste packaging for upcycling, or bringing reusable bags or containers to stores. ​ Maintain an aftermarket for your products. Engage customers even after the initial point of sale by involving your brand in the reselling process. For instance, consider allowing consumers to return unfinished or unused products for you to review, clean and resell. You could then offer rewards, discounts, store credit or donations to an eco-focused charity in exchange. This creates a touchpoint with the reseller and could also offer a valuable opportunity for feedback on why they do not wish to keep the product. ​ What this means for: Loyalty \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide13.xml b/templates/collision-trend-summary-template/ppt/slides/slide13.xml new file mode 100644 index 00000000..8b4925a0 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide13.xml @@ -0,0 +1,2 @@ + +Contactless, digital and biometric innovations transform payments ​Cashless Society3 \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide14.xml b/templates/collision-trend-summary-template/ppt/slides/slide14.xml new file mode 100644 index 00000000..ea28d074 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide14.xml @@ -0,0 +1,2 @@ + +Contactless, digital and biometric innovations transform payments​Contactless options are eliminating the need for cash. Contactless is speedy, secure, convenient and traceable. Alongside peer-to-peer apps and biometric identification, it has in many places eliminated the need for cash altogether. Cashless payment can also facilitate truly seamless transactions, removing the need for a time-consuming in-store checkout and even untethering the POS from IRL locations. For instance, concepts like Amazon Go use tech to verify identity and allow customers to simply walk out of the store to complete a purchase. ​ Digital innovations boost convenience and financial transparency. Contactless cards are slowly being supplanted by even more convenient methods of payment. Linking cards to mobile wallets loaded on smart watches means that the consumer can pay without ever reaching into their pocket. Iris recognition, face or thumbprint scans, plus innovations like subdermal implants remove the need for anything but the customer's physical presence. Meanwhile, tools that analyse spending for budgeting purposes can be integrated and automated in a Cashless Society, enabling consumers to exercise control over their incomings and outgoings. As more consumers adopt a digital-first approach to personal finances, this creates fertile ground for online-only challenger banks (and wealth management services), as well as alternatives to fiat currencies, such as cryptocurrencies. ​ However, barriers to complete cashlessness remain. Even as more cash-based businesses adopt mobile payments, many consumers are still wedded to cash – some out of choice, others out of necessity. Poorly-planned transitions to completely cashless transactions can leave groups like the unbanked and the underbanked unable to access services. Data anxiety and a desire for anonymity are also factors that could slow the uptake of cashless payments, given that non-cash purchases can be easily tracked. To earn trust, retailers and payment providers will need to tout their security credentials, and anonymised digital wallets and cryptocurrency might help here too. What is Cashless Society? \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide15.xml b/templates/collision-trend-summary-template/ppt/slides/slide15.xml new file mode 100644 index 00000000..8820513d --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide15.xml @@ -0,0 +1,2 @@ + +Recognise loyal customers at the point of sale. It is easier to recognise loyal and returning customers when they are paying via cashless means. This enables brands to integrate CRM information into the point of sale – for instance, automatically loading rewards points or vouchers onto a customer profile, without consumers needing to carry extra loyalty cards. Third parties are currently experimenting with consolidated loyalty and payment wallets. What this means for: Loyalty \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide16.xml b/templates/collision-trend-summary-template/ppt/slides/slide16.xml new file mode 100644 index 00000000..65e8fa62 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide16.xml @@ -0,0 +1,2 @@ + +Source: Foresight Factory Cashless Society: Contactless, digital and biometric innovations transform payments (x 0.247, y -4.560)Gender Unbound: Renouncing traditional notions of gender and sex in favour of freedom and flexibilityChoice Partners: Looking to brands, platforms and trusted voices for decision-making shortcutsFlexible Loyalty: Valuing low-commitment and flexible relationships with brands​The Great Indoors: Wanting to spend time in the sanctuary of the home space​Additional trends \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide17.xml b/templates/collision-trend-summary-template/ppt/slides/slide17.xml new file mode 100644 index 00000000..6c25ff84 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide17.xml @@ -0,0 +1,2 @@ + +Source: Foresight Factory Cashless Society: Contactless, digital and biometric innovations transform payments (x 0.247, y -4.560)Gender Unbound: Renouncing traditional notions of gender and sex in favour of freedom and flexibilityChoice Partners: Looking to brands, platforms and trusted voices for decision-making shortcutsFlexible Loyalty: Valuing low-commitment and flexible relationships with brands​The Great Indoors: Wanting to spend time in the sanctuary of the home space​War on Waste: Reducing, reusing, recycling and repairing in a bid to combat throwaway culture​ War on Waste: Reducing, reusing, recycling and repairing in a bid to combat throwaway culture​Cashless Society: Contactless, digital and biometric innovations transform payments Gender Unbound: Renouncing traditional notions of gender and sex in favour of freedom and flexibility Choice Partners: Looking to brands, platforms and trusted voices for decision-making shortcuts Flexible Loyalty: Valuing low-commitment and flexible relationships with brands​ The Great Indoors: Wanting to spend time in the sanctuary of the home space​ War on Waste: Reducing, reusing, recycling and repairing in a bid to combat throwaway culture​ The Great Indoors: Wanting to spend time in the sanctuary of the home space​ Cashless Society: Contactless, digital and biometric innovations transform payments Gender Unbound: Renouncing traditional notions of gender and sex in favour of freedom and flexibility Choice Partners: Looking to brands, platforms and trusted voices for decision-making shortcuts Flexible Loyalty: Valuing low-commitment and flexible relationships with brands​ The Great Indoors: Wanting to spend time in the sanctuary of the home space​ War on Waste: Reducing, reusing, recycling and repairing in a bid to combat throwaway culture​ The Great Indoors: Wanting to spend time in the sanctuary of the home space​Additional trends \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide18.xml b/templates/collision-trend-summary-template/ppt/slides/slide18.xml new file mode 100644 index 00000000..d200c6ad --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide18.xml @@ -0,0 +1,2 @@ + +collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide2.xml b/templates/collision-trend-summary-template/ppt/slides/slide2.xml new file mode 100644 index 00000000..9edfa203 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide2.xml @@ -0,0 +1,2 @@ + +How I can improve my digital customer experience among Gen X in AustraliaPrioritise TrendsWe’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide3.xml b/templates/collision-trend-summary-template/ppt/slides/slide3.xml new file mode 100644 index 00000000..98a5dada --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide3.xml @@ -0,0 +1,2 @@ + +Trends impacting indulgence among daily snackers in EU averagePrioritise TrendsWe’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide4.xml b/templates/collision-trend-summary-template/ppt/slides/slide4.xml new file mode 100644 index 00000000..46b56f17 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide4.xml @@ -0,0 +1,2 @@ + +How I can help customers cope with rising costs among living alone in ThailandPrioritise TrendsWe’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide5.xml b/templates/collision-trend-summary-template/ppt/slides/slide5.xml new file mode 100644 index 00000000..86aa84b5 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide5.xml @@ -0,0 +1,2 @@ + +How I can help customers reach their aspirations among occasional online shoppers in USAPrioritise TrendsWe’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide6.xml b/templates/collision-trend-summary-template/ppt/slides/slide6.xml new file mode 100644 index 00000000..07ee2d83 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide6.xml @@ -0,0 +1,2 @@ + +Opportunity trends in sports and fitness among weekly social networkers in APAC averagePrioritise TrendsWe’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide7.xml b/templates/collision-trend-summary-template/ppt/slides/slide7.xml new file mode 100644 index 00000000..c9832f8e --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide7.xml @@ -0,0 +1,2 @@ + +Self-tracking for the optimisation of life and planetQuantify Me1 \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide8.xml b/templates/collision-trend-summary-template/ppt/slides/slide8.xml new file mode 100644 index 00000000..57b11cde --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide8.xml @@ -0,0 +1,2 @@ + +Self-tracking for the optimisation of life and planetThere is a growing desire to quantify more aspects of life. More and more consumers are engaging with self-monitoring tools that allow them to satisfy their self-curiosity and understand their performance versus their peers, whether in terms of physical activity, daily spending or home energy usage. While this trend has been on the horizon for several years (we first began tracking the quantified self movement in 2006), it is now being adopted by the mainstream consumer. In particular the COVID-19 pandemic boosted the desire to understand personal performance, particularly in terms of wellbeing, and this desire persists as consumers seek to improve their immunity levels, productivity and resilience to meet the demands of a post-pandemic world. Diagnosis, prescriptions and recommendations are required. The driving need here is about more than just understanding – it is about acting. For many, the end goal of self-quantification is to optimise and hack their behaviour to ultimately be better and reach goals faster. And the metrics and accuracy with which consumers can track their habits and consumption is constantly expanding as technology improves and device makers strive for greater inclusivity. There is a shift from individual to collective impact. Consumers increasingly want to understand the impact of their actions not just on their waistlines and wallets, but on the people around them and the wider world. Tools that provide insight into the environmental and ethical consequences of consumption choices are emerging – allowing consumers to see the carbon cost of a particular purchase, for example. This provides consumers with an additional lens with which to measure performance, and a more holistic view of “better” which doesn’t just include physical or mental metrics, but moral ones too. What is Quantify Me? \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/slides/slide9.xml b/templates/collision-trend-summary-template/ppt/slides/slide9.xml new file mode 100644 index 00000000..c3a315c5 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/slides/slide9.xml @@ -0,0 +1,2 @@ + +Reward consumers for sharing their data. Savvy shoppers are increasingly aware of the value of their personal data to companies, and many are prepared to share it in exchange it for benefits, as explored in our trend Data as Currency. The growth in measurement of various aspects of daily life generates a vast array of new data which can be exchanged for discounts and other rewards. Tailor rewards using data gathered. Another advantage of harvesting a much wider array of customer data from loyalty programme members is brands can provide them with discounts and other rewards that are personalised to their needs and aspirations. Consumer habits relating to health, spending and the environment can all be monitored, to provide information on whether each individual would prefer complimentary carbon offsetting or discounted pricing, for instance. What this means for: Loyalty \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/tableStyles.xml b/templates/collision-trend-summary-template/ppt/tableStyles.xml new file mode 100644 index 00000000..ecd5f7a0 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/tableStyles.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/theme/theme1.xml b/templates/collision-trend-summary-template/ppt/theme/theme1.xml new file mode 100644 index 00000000..44fbca25 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/theme/theme1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/theme/theme2.xml b/templates/collision-trend-summary-template/ppt/theme/theme2.xml new file mode 100644 index 00000000..45058c43 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/theme/theme2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/theme/theme3.xml b/templates/collision-trend-summary-template/ppt/theme/theme3.xml new file mode 100644 index 00000000..6ea538b9 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/theme/theme3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-trend-summary-template/ppt/viewProps.xml b/templates/collision-trend-summary-template/ppt/viewProps.xml new file mode 100644 index 00000000..8e2f0e13 --- /dev/null +++ b/templates/collision-trend-summary-template/ppt/viewProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/[Content_Types].xml b/templates/collision-ux2022-template/[Content_Types].xml new file mode 100644 index 00000000..dfb6881e --- /dev/null +++ b/templates/collision-ux2022-template/[Content_Types].xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/_rels/.rels b/templates/collision-ux2022-template/_rels/.rels new file mode 100644 index 00000000..7100d4b1 --- /dev/null +++ b/templates/collision-ux2022-template/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/_rels/item1.xml.rels b/templates/collision-ux2022-template/customXml/_rels/item1.xml.rels new file mode 100644 index 00000000..d99ccc50 --- /dev/null +++ b/templates/collision-ux2022-template/customXml/_rels/item1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/_rels/item2.xml.rels b/templates/collision-ux2022-template/customXml/_rels/item2.xml.rels new file mode 100644 index 00000000..aef5c41f --- /dev/null +++ b/templates/collision-ux2022-template/customXml/_rels/item2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/_rels/item3.xml.rels b/templates/collision-ux2022-template/customXml/_rels/item3.xml.rels new file mode 100644 index 00000000..59ebeabd --- /dev/null +++ b/templates/collision-ux2022-template/customXml/_rels/item3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/item1.xml b/templates/collision-ux2022-template/customXml/item1.xml new file mode 100644 index 00000000..f09d8ed9 --- /dev/null +++ b/templates/collision-ux2022-template/customXml/item1.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/item2.xml b/templates/collision-ux2022-template/customXml/item2.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/collision-ux2022-template/customXml/item2.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/item3.xml b/templates/collision-ux2022-template/customXml/item3.xml new file mode 100644 index 00000000..e63065b6 --- /dev/null +++ b/templates/collision-ux2022-template/customXml/item3.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/itemProps1.xml b/templates/collision-ux2022-template/customXml/itemProps1.xml new file mode 100644 index 00000000..677c83df --- /dev/null +++ b/templates/collision-ux2022-template/customXml/itemProps1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/itemProps2.xml b/templates/collision-ux2022-template/customXml/itemProps2.xml new file mode 100644 index 00000000..bb9377bc --- /dev/null +++ b/templates/collision-ux2022-template/customXml/itemProps2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/customXml/itemProps3.xml b/templates/collision-ux2022-template/customXml/itemProps3.xml new file mode 100644 index 00000000..dbf68dd0 --- /dev/null +++ b/templates/collision-ux2022-template/customXml/itemProps3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/docProps/app.xml b/templates/collision-ux2022-template/docProps/app.xml new file mode 100644 index 00000000..65285fc8 --- /dev/null +++ b/templates/collision-ux2022-template/docProps/app.xml @@ -0,0 +1,2 @@ + +12460Microsoft Macintosh PowerPointOn-screen Show (4:3)06000falseFonts Used4Theme1Slide Titles6ArialCalibriGeorgiaWingdings 3FF2018PowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint Presentationfalsefalsefalse16.0000 \ No newline at end of file diff --git a/templates/collision-ux2022-template/docProps/core.xml b/templates/collision-ux2022-template/docProps/core.xml new file mode 100644 index 00000000..dc6caa94 --- /dev/null +++ b/templates/collision-ux2022-template/docProps/core.xml @@ -0,0 +1,2 @@ + +FFonlineForesight FactoryJustin Boynton1322020-09-24T03:56:57Z2022-09-05T14:33:39Z \ No newline at end of file diff --git a/templates/collision-ux2022-template/docProps/thumbnail.jpeg b/templates/collision-ux2022-template/docProps/thumbnail.jpeg new file mode 100644 index 00000000..be8261ff Binary files /dev/null and b/templates/collision-ux2022-template/docProps/thumbnail.jpeg differ diff --git a/templates/collision-ux2022-template/ppt/_rels/presentation.xml.rels b/templates/collision-ux2022-template/ppt/_rels/presentation.xml.rels new file mode 100644 index 00000000..7b658a84 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/_rels/presentation.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/handoutMasters/_rels/handoutMaster1.xml.rels b/templates/collision-ux2022-template/ppt/handoutMasters/_rels/handoutMaster1.xml.rels new file mode 100644 index 00000000..6f92e4d8 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/handoutMasters/_rels/handoutMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/handoutMasters/handoutMaster1.xml b/templates/collision-ux2022-template/ppt/handoutMasters/handoutMaster1.xml new file mode 100644 index 00000000..ace01983 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/handoutMasters/handoutMaster1.xml @@ -0,0 +1,2 @@ + +05/09/2022‹#› \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/media/image1.png b/templates/collision-ux2022-template/ppt/media/image1.png new file mode 100644 index 00000000..a6aa6b97 Binary files /dev/null and b/templates/collision-ux2022-template/ppt/media/image1.png differ diff --git a/templates/collision-ux2022-template/ppt/notesMasters/_rels/notesMaster1.xml.rels b/templates/collision-ux2022-template/ppt/notesMasters/_rels/notesMaster1.xml.rels new file mode 100644 index 00000000..53a3df37 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/notesMasters/_rels/notesMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/notesMasters/notesMaster1.xml b/templates/collision-ux2022-template/ppt/notesMasters/notesMaster1.xml new file mode 100644 index 00000000..f2e6e6e2 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/notesMasters/notesMaster1.xml @@ -0,0 +1,2 @@ + +9/5/22Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#› \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/presProps.xml b/templates/collision-ux2022-template/ppt/presProps.xml new file mode 100644 index 00000000..bd6bd49c --- /dev/null +++ b/templates/collision-ux2022-template/ppt/presProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/presentation.xml b/templates/collision-ux2022-template/ppt/presentation.xml new file mode 100644 index 00000000..e70c99a9 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/presentation.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels new file mode 100644 index 00000000..a7ccfdae --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout10.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout11.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout12.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout1.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout1.xml new file mode 100644 index 00000000..7a5e974d --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout1.xml @@ -0,0 +1,2 @@ + +<TREND SUBTITLE><TREND TITLE>We’re here to help, get in touch:collision-help@foresightfactory.co \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout10.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout10.xml new file mode 100644 index 00000000..48ab2c0e --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout10.xml @@ -0,0 +1,2 @@ + +Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout11.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout11.xml new file mode 100644 index 00000000..b7a68854 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout11.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout12.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout12.xml new file mode 100644 index 00000000..351755ba --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout12.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereClick to edit Master text stylesClick to edit Master text stylesInsert textInsert textInsert text \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout2.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout2.xml new file mode 100644 index 00000000..81d5923a --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout2.xml @@ -0,0 +1,2 @@ + +Section title \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout3.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout3.xml new file mode 100644 index 00000000..849bde21 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout3.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit here<Insert Briefing text>Briefing and Signals(second line) \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout4.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout4.xml new file mode 100644 index 00000000..7932b8e0 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout4.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereFirst level contentSecond level contentInsert slide title(second line) \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout5.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout5.xml new file mode 100644 index 00000000..b4e399c7 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout5.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereClick to edit Master text stylesInsert text‹#›Click to edit Master text stylesInsert slide title \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout6.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout6.xml new file mode 100644 index 00000000..33058188 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout6.xml @@ -0,0 +1,2 @@ + +{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}Related trendsInsert source/photo credit hereInsert text‹#›Click to edit Master text stylesClick to edit Master text stylesInsert slide title \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout7.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout7.xml new file mode 100644 index 00000000..8409bb7a --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout7.xml @@ -0,0 +1,2 @@ + +5 years agoNowIn 5 years‹#›Insert source/photo credit hereWhat will happen next?<Text><Text><Text><Text><Text><Text><Text><Text><Text> \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout8.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout8.xml new file mode 100644 index 00000000..863cc3a6 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout8.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereWhat will happen next?<TITLE><TITLE><TITLE><Text><Text><Text>Click to edit Master text stylesClick to edit Master text styles \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout9.xml b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout9.xml new file mode 100644 index 00000000..d4e43caf --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideLayouts/slideLayout9.xml @@ -0,0 +1,2 @@ + +collision-help@foresightfactory.coFor more information please contactThis content is copyright of Foresight Factory International© Foresight Factory 2020. All rights reserved. \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideMasters/_rels/slideMaster1.xml.rels b/templates/collision-ux2022-template/ppt/slideMasters/_rels/slideMaster1.xml.rels new file mode 100644 index 00000000..89c550de --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideMasters/_rels/slideMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slideMasters/slideMaster1.xml b/templates/collision-ux2022-template/ppt/slideMasters/slideMaster1.xml new file mode 100644 index 00000000..3faef21f --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slideMasters/slideMaster1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slides/_rels/slide1.xml.rels b/templates/collision-ux2022-template/ppt/slides/_rels/slide1.xml.rels new file mode 100644 index 00000000..370cab18 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slides/_rels/slide1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slides/_rels/slide2.xml.rels b/templates/collision-ux2022-template/ppt/slides/_rels/slide2.xml.rels new file mode 100644 index 00000000..370cab18 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slides/_rels/slide2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slides/_rels/slide3.xml.rels b/templates/collision-ux2022-template/ppt/slides/_rels/slide3.xml.rels new file mode 100644 index 00000000..370cab18 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slides/_rels/slide3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slides/_rels/slide4.xml.rels b/templates/collision-ux2022-template/ppt/slides/_rels/slide4.xml.rels new file mode 100644 index 00000000..370cab18 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slides/_rels/slide4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slides/_rels/slide5.xml.rels b/templates/collision-ux2022-template/ppt/slides/_rels/slide5.xml.rels new file mode 100644 index 00000000..370cab18 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slides/_rels/slide5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/slides/_rels/slide6.xml.rels b/templates/collision-ux2022-template/ppt/slides/_rels/slide6.xml.rels new file mode 100644 index 00000000..370cab18 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/slides/_rels/slide6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/tableStyles.xml b/templates/collision-ux2022-template/ppt/tableStyles.xml new file mode 100644 index 00000000..ecd5f7a0 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/tableStyles.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/theme/theme1.xml b/templates/collision-ux2022-template/ppt/theme/theme1.xml new file mode 100644 index 00000000..44fbca25 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/theme/theme1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/theme/theme2.xml b/templates/collision-ux2022-template/ppt/theme/theme2.xml new file mode 100644 index 00000000..6ea538b9 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/theme/theme2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/theme/theme3.xml b/templates/collision-ux2022-template/ppt/theme/theme3.xml new file mode 100644 index 00000000..0d63d212 --- /dev/null +++ b/templates/collision-ux2022-template/ppt/theme/theme3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/collision-ux2022-template/ppt/viewProps.xml b/templates/collision-ux2022-template/ppt/viewProps.xml new file mode 100644 index 00000000..50df988e --- /dev/null +++ b/templates/collision-ux2022-template/ppt/viewProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/[Content_Types].xml b/templates/nvision-template/[Content_Types].xml new file mode 100644 index 00000000..694c556c --- /dev/null +++ b/templates/nvision-template/[Content_Types].xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/_rels/.rels b/templates/nvision-template/_rels/.rels new file mode 100644 index 00000000..7100d4b1 --- /dev/null +++ b/templates/nvision-template/_rels/.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/_rels/item1.xml.rels b/templates/nvision-template/customXml/_rels/item1.xml.rels new file mode 100644 index 00000000..d99ccc50 --- /dev/null +++ b/templates/nvision-template/customXml/_rels/item1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/_rels/item2.xml.rels b/templates/nvision-template/customXml/_rels/item2.xml.rels new file mode 100644 index 00000000..aef5c41f --- /dev/null +++ b/templates/nvision-template/customXml/_rels/item2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/_rels/item3.xml.rels b/templates/nvision-template/customXml/_rels/item3.xml.rels new file mode 100644 index 00000000..59ebeabd --- /dev/null +++ b/templates/nvision-template/customXml/_rels/item3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/item1.xml b/templates/nvision-template/customXml/item1.xml new file mode 100644 index 00000000..f09d8ed9 --- /dev/null +++ b/templates/nvision-template/customXml/item1.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. + + + + + + + + + + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/item2.xml b/templates/nvision-template/customXml/item2.xml new file mode 100644 index 00000000..607faca2 --- /dev/null +++ b/templates/nvision-template/customXml/item2.xml @@ -0,0 +1 @@ +DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm \ No newline at end of file diff --git a/templates/nvision-template/customXml/item3.xml b/templates/nvision-template/customXml/item3.xml new file mode 100644 index 00000000..e63065b6 --- /dev/null +++ b/templates/nvision-template/customXml/item3.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/nvision-template/customXml/itemProps1.xml b/templates/nvision-template/customXml/itemProps1.xml new file mode 100644 index 00000000..677c83df --- /dev/null +++ b/templates/nvision-template/customXml/itemProps1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/itemProps2.xml b/templates/nvision-template/customXml/itemProps2.xml new file mode 100644 index 00000000..bb9377bc --- /dev/null +++ b/templates/nvision-template/customXml/itemProps2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/customXml/itemProps3.xml b/templates/nvision-template/customXml/itemProps3.xml new file mode 100644 index 00000000..dbf68dd0 --- /dev/null +++ b/templates/nvision-template/customXml/itemProps3.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/docProps/core.xml b/templates/nvision-template/docProps/core.xml new file mode 100644 index 00000000..28b87e18 --- /dev/null +++ b/templates/nvision-template/docProps/core.xml @@ -0,0 +1,2 @@ + +Slide 1Dominic HarrisonIEUser362016-08-16T13:45:38Z2016-12-11T09:44:29Z \ No newline at end of file diff --git a/templates/nvision-template/docProps/thumbnail.jpeg b/templates/nvision-template/docProps/thumbnail.jpeg new file mode 100644 index 00000000..82987891 Binary files /dev/null and b/templates/nvision-template/docProps/thumbnail.jpeg differ diff --git a/templates/nvision-template/ppt/_rels/.keep b/templates/nvision-template/ppt/_rels/.keep new file mode 100644 index 00000000..e69de29b diff --git a/templates/nvision-template/ppt/media/.keep b/templates/nvision-template/ppt/media/.keep new file mode 100644 index 00000000..e69de29b diff --git a/templates/nvision-template/ppt/notesMasters/.keep b/templates/nvision-template/ppt/notesMasters/.keep new file mode 100644 index 00000000..e69de29b diff --git a/templates/nvision-template/ppt/notesMasters/_rels/.keep b/templates/nvision-template/ppt/notesMasters/_rels/.keep new file mode 100644 index 00000000..e69de29b diff --git a/templates/nvision-template/ppt/notesMasters/_rels/notesMaster1.xml.rels b/templates/nvision-template/ppt/notesMasters/_rels/notesMaster1.xml.rels new file mode 100644 index 00000000..2855083d --- /dev/null +++ b/templates/nvision-template/ppt/notesMasters/_rels/notesMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/notesMasters/notesMaster1.xml b/templates/nvision-template/ppt/notesMasters/notesMaster1.xml new file mode 100644 index 00000000..b5f6dfc6 --- /dev/null +++ b/templates/nvision-template/ppt/notesMasters/notesMaster1.xml @@ -0,0 +1,2 @@ + +7/21/2015Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#› \ No newline at end of file diff --git a/templates/nvision-template/ppt/presProps.xml b/templates/nvision-template/ppt/presProps.xml new file mode 100644 index 00000000..d416e60b --- /dev/null +++ b/templates/nvision-template/ppt/presProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout2.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout3.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout4.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout5.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout6.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout7.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout8.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels new file mode 100644 index 00000000..0ab2c475 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/_rels/slideLayout9.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout1.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout1.xml new file mode 100644 index 00000000..0108bb16 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout1.xml @@ -0,0 +1,2 @@ + +<TREND TITLE><TREND SUBTITLE> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout2.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout2.xml new file mode 100644 index 00000000..cc82c246 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout2.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereThe Briefing<Insert Briefing text> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout3.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout3.xml new file mode 100644 index 00000000..96c3d7df --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout3.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereGlobal differences<Insert Difference text> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout4.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout4.xml new file mode 100644 index 00000000..0dad592b --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout4.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereEuropean differences<Insert Difference text> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout5.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout5.xml new file mode 100644 index 00000000..2a9ede20 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout5.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereWhat to do…<TITLE><TITLE><TITLE><Text><Text><Text> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout6.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout6.xml new file mode 100644 index 00000000..6d81447f --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout6.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereSector Impact<Sector name><Text><Sector name><Text> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout7.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout7.xml new file mode 100644 index 00000000..99b4dda2 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout7.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereWhat will happen next?5 years agoNowIn 5 years<Text><Text><Text><Text><Text><Text><Text><Text><Text> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout8.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout8.xml new file mode 100644 index 00000000..1198014a --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout8.xml @@ -0,0 +1,2 @@ + +For more information please contact: trends@futurefoundation.co \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideLayouts/slideLayout9.xml b/templates/nvision-template/ppt/slideLayouts/slideLayout9.xml new file mode 100644 index 00000000..66904901 --- /dev/null +++ b/templates/nvision-template/ppt/slideLayouts/slideLayout9.xml @@ -0,0 +1,2 @@ + +‹#›Insert source/photo credit hereBlank slide<TEXT> \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideMasters/_rels/slideMaster1.xml.rels b/templates/nvision-template/ppt/slideMasters/_rels/slideMaster1.xml.rels new file mode 100644 index 00000000..406df75a --- /dev/null +++ b/templates/nvision-template/ppt/slideMasters/_rels/slideMaster1.xml.rels @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slideMasters/slideMaster1.xml b/templates/nvision-template/ppt/slideMasters/slideMaster1.xml new file mode 100644 index 00000000..ff09257b --- /dev/null +++ b/templates/nvision-template/ppt/slideMasters/slideMaster1.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/slides/_rels/.keep b/templates/nvision-template/ppt/slides/_rels/.keep new file mode 100644 index 00000000..e69de29b diff --git a/templates/nvision-template/ppt/tableStyles.xml b/templates/nvision-template/ppt/tableStyles.xml new file mode 100644 index 00000000..ecd5f7a0 --- /dev/null +++ b/templates/nvision-template/ppt/tableStyles.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/template/ppt/theme/theme1.xml b/templates/nvision-template/ppt/theme/theme1.xml old mode 100755 new mode 100644 similarity index 100% rename from template/ppt/theme/theme1.xml rename to templates/nvision-template/ppt/theme/theme1.xml diff --git a/templates/nvision-template/ppt/theme/theme2.xml b/templates/nvision-template/ppt/theme/theme2.xml new file mode 100644 index 00000000..6ea538b9 --- /dev/null +++ b/templates/nvision-template/ppt/theme/theme2.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/nvision-template/ppt/viewProps.xml b/templates/nvision-template/ppt/viewProps.xml new file mode 100644 index 00000000..07684901 --- /dev/null +++ b/templates/nvision-template/ppt/viewProps.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file