GithubHelp home page GithubHelp logo

noteriot's People

Contributors

dantrevino avatar pratik227 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

noteriot's Issues

Implement Sharing

  • previously required an existing user
  • investigate using nft for sharing access
  • also pending details of lit protocol implementation

Add import function

import a markdown file

  • all content goes to new Note text property
  • allow addition of a title

Add list mode

1. condensed list mode - one line of preview text, smaller attachment icons!
2. comfortable list mode - 3 lines of preview text, larger attachment icons

add toggle to top bar

Archive/Restore/Delete Permanently

  • add to note overlay
  • if "trash" property is true, show restore icon
  • if "trash" property is true, show delete permanently icon
  • if "trash" property is false, show archive icon

restore/archive simply flip the trash prop
delete permanently requires a confirmation and will remove the note from the list, and save all notes

Migrate to new file format

While the new format is more robust, it will only help loading performance for users with many large notes. Users with many small notes gain some robustness, but will not see any loading performance increase.

Files

riotnotes.json <-- original file
migrated.json

{
status: true,
date: datetime,
log: uri,
backup: uri
} 

index.json

{
 id: xxx-yyy-zzz
 preview: note.text.slice(120),
 img: note.attachments[0],
 fave: note.fave,
 trash: note.trash,
 color: note.color
 tags: note.tags
 modified: note.modified
}

notes/xxx-yyy-zzz.json <--- continue to use the existing note json format
migration-errors.json

{ 
 id: xxx-yyy-zzz
error: error msg
}

tasks

  • implement migration & create new files
  1. backup to backups/YYYYMMDD-riotnotes.json
  2. read & parse riotnotes.json
  3. For each note:
    -- create notes/xxx-yyy-zzz.json
    -- append xxx-yyy-zzz to index.json
  • update existing actions
    addNote()
  • add notes/xxx-yyy-zzz.json
  • add to index.json

updateNote()

  • update notes/xxx-yyy-zzz.json
  • if preview text has changed, update index.json

fetchData()

  • if index.json exists follow new loading format
    -- load previews from index.json
    -- on note load/edit, load full note from notes/xxx-yyy-zzz.json

  • else do migration

  • create new actions
    getNoteById()
    // used when note is opened in the editor

  • getFile('notes/xxx-yyy-zzz.json')

  • parse note

deleteNoteById()
// used when 'delete permanently' option is used

  • delete notes/xxx-yyy-zzz.json
  • remove xxx-yyy-zzz from index.json

wip: finish backup manager

  1. implement single file list that shows any backup files and the orignal notes file (riotnotes.json).
  2. create a new backup
    • riotnotes.json is copied to YYYY-MM-DD-riotnotes.json
  3. delete a backup
  4. download a file (backup or main file)
  5. restore from a backup. requires confirmation. restore will overwrite the current riotnotes.json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.