dstoc / pkmapp Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Given,
# Title
## Section
We should be able to less ambiguously link to Section
via something like:
[Title/Section]
Linking as just [Section]
should still be possible, but it might require disambiguation to load.
Selection can exist both inside and outside a transclusion at the same time. A "focus lost" event for the host context could be the right place to clear this.
This will allow defining aliases and other items.
It will take the form of a code block of type meta
. The format will be YAML.
e.g.
```meta
alias:
- name
```
By default the UI will collapse these blocks into an icon.
e.g. in:
> a
If the focus is > |a
how should we insert a prior paragraph:
b
> a
Probably repurpose Ctrl-A
Might be two separate issues:
Following the steps in README.md using Crostini, I ran into a couple errors. I haven't been able to move past the second so far.
make
was missing, so I ran sudo apt install build-essential
There appears to be an issue with tree-sitter-markdown and nan, which might be nodejs/nan#942:
npm ERR! > [email protected] install
[...skipped]
npm ERR! In file included from ../node_modules/nan/nan.h:180,
npm ERR! from ../bindings/node/binding.cc:3:
npm ERR! ../node_modules/nan/nan_callbacks.h:55:23: error: ‘AccessorSignature’ is not a member of ‘v8’
npm ERR! 55 | typedef v8::Local<v8::AccessorSignature> Sig;
npm ERR! | ^~~~~~~~~~~~~~~~~
npm ERR! ../node_modules/nan/nan_callbacks.h:55:40: error: template argument 1 is invalid
npm ERR! 55 | typedef v8::Local<v8::AccessorSignature> Sig;
npm ERR! |
Per the issue, I tried resolving this by adding the following to package.json
, but it doesn't seem to do the trick
"scripts" {
// ...
"preinstall": "npx npm-force-resolutions"
},
"resolutions": {
"nan": "2.17.0"
}
* 1
* 2
* 3
Block selection and deletion of * 1
results in:
* * 2
* 3
So Backspace
, Ctrl-C
don't work as expected.
# top
* 1
* 2
* 3
# outer
After replacing 2
with # inner
the result is:
# top
* 1
* # inner
# outer
* 3
[Enter] has currently has magical and broken behavior.
The reason... it seemed desirable that pressing [Enter] in a list item would create a sibling list item. The workaround [Shift-Enter] creates an adjacent paragraph within the list item.
Following on from that, it seemed reasonable that this behavior would apply to other block types. Pressing [Enter] in a block quote would create a paragraph adjacent to the block quote.
However, this feels wrong when the block-quote contains other items like sections -- because pressing [Enter] in a section still creates an adjacent paragraph in the section.
There are finally some new releases for tree-sitter that include the fixes for tree-sitter-markdown: https://github.com/tree-sitter/tree-sitter/releases
web-tree-sitter on npm has not been published, but the js/wasm resources are included in the github release. Maybe we can depend on the github release from package.json directly?
File System Access API does not support setting last modified time. In order to support sync in-app we'll need to track last modified time separately.
tree-sitter-markdown supports https://gohugo.io/content-management/front-matter/
Metadata code blocks were added in 6d3d39f. This was probably because front matter applies to the whole document, but metadata is required for all blocks.
# a
1
# b
2
Delete of # a
also removes 1
In Roam, I'll commonly want to cut/indent/whatever the past couple nodes. I'll hold shift and press the up arrow, which goes from selection text in one block to selecting entire blocks.
Currently Shift+Up is the same as just arrowing up to the previous block.
Filtering to the list on the second line of:
* a
* b
Will result in * b
* a
* b
c
Unindent at b
results in:
* a
c
* b
These are aliases that are only dynamically associated with a target. For example the target that today
resolves to would depend on the current date. These are potentially not enumerable, Next Monday
, `
It's likely that links in this form would not appear as backlinks.
Unsure about use cases beyond dates.
The transclusion is selected but focus moves inside.
Mainly for URLs.
New window will need to sync/exchange with any open window. Show similar UI as the "Send to" command.
* b
* c
* d
Trying to copy blocks c+d results in:
* * c
* d
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.