Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New file format #266

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

New file format #266

wants to merge 10 commits into from

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
1 participant