noteriot's People
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
add condensed list view for mobile
take existing list view and make it smaller ... img max height 70px
top bar filter display is broken
Some colors are not assigned properly
- re-evaluate existing color palette for notes
- update SelectColor component
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
Allow multiple filters
make note filters an array and allow multiple filters to be applied to the note list
convert to vue3, pinia
Editor saving indicator is not accurate
indicator should change whenever the updateNote action is called
Add Google Keep import
Fix Download
should be implemented the same as in previous version (https://gitlab.com/riot.ai/NoteRiot/-/blob/master/src/components/EditorPanel.vue#L456)
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
- backup to
backups/YYYYMMDD-riotnotes.json
- read & parse riotnotes.json
- For each note:
-- createnotes/xxx-yyy-zzz.json
-- append xxx-yyy-zzz toindex.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 fromindex.json
-- on note load/edit, load full note fromnotes/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
- implement single file list that shows any backup files and the orignal notes file (riotnotes.json).
- create a new backup
riotnotes.json
is copied toYYYY-MM-DD-riotnotes.json
- delete a backup
- download a file (backup or main file)
- restore from a backup. requires confirmation. restore will overwrite the current riotnotes.json
fix label filters in top bar, then remove sidebar
label & color filters should be applied from the top bar. remove sidebar once finished.
Add/Remove attachment functionality
- functionality should be added to the editor component
- attachments should load to gaia
- add gaia url to the note's "attachments" property
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.