cofinley / free-roam Goto Github PK
View Code? Open in Web Editor NEWAn attempt to recreate the major parts of Roam for offline use
Home Page: https://cofinley.github.io/free-roam/
An attempt to recreate the major parts of Roam for offline use
Home Page: https://cofinley.github.io/free-roam/
Currently, one can expand/collapse blocks using the arrows and thread lines, but the state is passed in from the Editor/tree level and is messy. The result is that the thread lines and arrow toggles can't toggle back the state after the other one has. The same mechanism has to do the toggling on and off one at a time. The BlockActions
component should probably get included at the Editor
level instead of the Block
level in order to keep state from going back and forth through too many levels.
When typing Backspace at the start of a block, several things can happen:
After trying things in jQuery, I soon realized I'd need React or something more reactive if I wanted to keep track of blocks and propagate updates throughout the system. I've decided to use this as an opportunity to learn not only React, but its latest conventions.
Current, long-running todo:
When editing, if you change the link text, the title of the linked page will change to whatever you wrote.
Improve the styling/spacing/positioning of:
The caret should move to the right spot when using the mouse/arrow keys. This includes:
Clicking to show unlinked references on one page shows them on all
Allow users to grab and resize right pane width
Create a view which automatically creates page blocks for each day
The all pages view could use a global search in order to make it easier to find multiple pages for a bulk operation
If the page title that's typed in already exists, prevent the save action, revert the title (this should only be possible when editing an existing page's title), and offer to merge the two pages.
Merging MVP would just be to move the current page's first child blocks to the end of the target page's child blocks.
Currently, blocks start off as 'Click here to edit'. This should be a placeholder rather than actual text. The text should disappear on click instead of the user having to delete it.
Show all page blocks in a table view.
links.to
)On arrow up/down between blocks, caret should keep same column. See previous work on this.
View pane pages/blocks references will be visible via a small icon click instead of at the bottom of the page/block like in the main view.
Use d3-force perhaps?
A view which shows a graph using the linksSlice
adjacency list data.
It would be nice to be able to toggle a filter for the all pages view that filters pages that are daily notes.
Probably a stretch, but it would be cool to be able to import and export markdown of one/many/all pages/blocks. Exporting would be easier than importing. Importing would require filtering out anything that isn't supported (e.g. tables).
Allow users to fully collapse panes out of view. Provide icons in the corners to bring them back in.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.