Skip to content

Conversation

@Philip-Scott
Copy link
Owner

@Philip-Scott Philip-Scott commented Mar 2, 2019

While using JSONs as a file format is good, it has a lot of limitations such as always having to open completely the file in order to view it's contents, as well as images being almost 30% larger due to having to make them into base64. Being able to store files as a Zipped file brings support to a lot of things, most importantly being able to include a "git repo" inside every presentation to store multiple versions of said files.

Proposed Folder Structure:

  • content.json The json with the slideshow data
  • styles.json Json with text styles, and other type of data
  • version File which holds the current version of the file. For future proofing
  • index.html The HTML file with the JS to keep html rendering support
  • thumbnail Just a link to the thumbnail file at /Thumbnails
  • /Pictures/ For images.
  • /Thumbnails/ To store the slide thumbnails
  • /Videos To store videos (Future feature)
  • /Shapes To store SVG shapes (Future future)
  • /.git/ The place for the git repo. (Future feature)

Pictures, Thumnails and others are stored with randomized file names to prevent collisions, and could be re-used in multiple places while only storing one file

TODO:

  • Move images from content file to /Pictures
  • Move thumbnails from content file to /Thumbnails
  • Fetch file thumbnail from content file, and store it as cache
    • To prevent reading from multiple mb of files just to render the initial images
  • Make a SpiceUpFile the central place to manage all files and images
    • This should handle object creation and deletion when slides and canvas items are hidden
  • Re-add Image tests
  • Update debian control file for new libarchive dependency
  • Duplicated images will now use the same file. Can be "Unlinked" though the image toolbar

Fixes #220

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-use repeated images

2 participants