[HN Gopher] VSCode - Markdown Edition ___________________________________________________________________ VSCode - Markdown Edition Author : kevinslin Score : 114 points Date : 2022-05-08 14:38 UTC (8 hours ago) (HTM) web link (blog.dendron.so) (TXT) w3m dump (blog.dendron.so) | kretaceous wrote: | I've tried all the tools in the market for personal knowledge | management/journalling/todo/whatever. | | And I've finally found my comfort in a folder with a certain | directory structure containing all markdown files. I use VSCode | for this (as it's already my daily driver) and GitJournal in | Android to manage sync via git. | | These features are a huge value addition to my workflow! | MarkSweep wrote: | I've settled on similar setup. One nice thing about is there | many tools that can work on this type of note setup, so you are | not locked into one tool. | | Working Copy works decently well on iOS. Gollum [1] on desktop | operating systems provides a web interface to the notes. For | some shameless self-promotion, I've been hacking on a clone of | Gollum called Smeagol [2]. It is written in Rust so it is quite | a bit faster to install and run on some of my low powered | systems than installing Gollum. | | [1]: https://github.com/gollum/gollum [2]: https://smeagol.dev/ | xenodium wrote: | For anyone looking for an org mode equivalent (also syncing | via Working Copy on iOS), I built https://plainorg.com | jbverschoor wrote: | Give noteplan a try | bbkane wrote: | I do almost the same thing! I also edit with Typora or Vim as | the mood strikes. I wrote about this at | https://www.bbkane.com/blog/how-i-take-notes/#my-system | chaoxu wrote: | git is line based, so good for code. | | But not for most markdown files, at least how I use it. I only | start new line (actually, 2 new lines) when I reach a new | paragraph, and I think this is normal for most people who ever | write something in markdown. | | So now I get a huge 2000 character line with a few small edits, | and I can hardly see where the changes are. | darkr wrote: | I'd recommend using line wrapping at some reasonable line | length (e.g 80-120 chars) | Macha wrote: | Hard line wrapping is not a panacea in this regard, like | when you have a words added/removed from a line and then | you get a cascading series of changes for the rest of the | paragraph as you rewrap it. | kretaceous wrote: | Hmm, interesting. I've not yet come across a situation where | I'd need diffing or going back to a change or looking for | one. I just use git for syncing. | | Nice heads-up to look out for. | robenkleene wrote: | `git diff --word-diff` solves this by showing changes inline. | Example: https://blog.ipspace.net/2020/04/git-tip-word- | diff.html | chaoxu wrote: | Oh this feature is great. Solves my problem completely. | | I wish github would also implement word-diff option. | | Edit: Github actually does some form of word-diff! See | example here: https://github.com/chaoxu/chaoxu.github.io/co | mmit/6d9ab6eefc... | | I also looked up how word-diff work with Chinese language. | Found a useful stackoverflow link with other suggestions. | | https://stackoverflow.com/questions/26135133/git-word- | diff-o... | arinlen wrote: | > But not for most markdown files, at least how I use it. I | only start new line when I reach a new paragraph, and I think | this is normal for most people who ever write something in | markdown. | | Markdown treats lines separated with a single line break as a | continuous line/the same paragraph, and you need to add two | or more newlines for Markdown to interpret it as a new | paragraph. | | Git works just fine with Markdown. | chaoxu wrote: | This is true. | | But how does someone take advantage of it without changing | their current behavior: write an entire paragraph and do 2 | line breaks. | | Always end a sentence with '.\n'? Manually format lines so | no line have more than 80 characters? | cercatrova wrote: | There are some options here on SO: https://stackoverflow. | com/questions/43122175/automatically-h... | | Prettier options to extensions like Rewrap, one of those | might fit your use case. | kevinslin wrote: | i think it depends on your writing style. i tend to do a lot | of outlining with bullet points so it works pretty well. for | longer paragraphs it can definitely be a pain | JasonFruit wrote: | > I think this is normal for most people who ever write | something in markdown | | I recognize that I am not normal and this doesn't contradict | your assumption, but I use Emacs' fill command to hard-wrap | long lines at ~80 characters when I'm writing Markdown. In | fact, it's so habitual for me that it causes me problems when | writing Gemtext. I keep meaning to disable filling in gemini- | mode. | gnubison wrote: | I think this is pretty normal. Some people like to put | linebreaks after every sentence/clause, which makes diffs | much more convenient. | jshen wrote: | Have you tried obsidian? It's basically what you're doing, but | with some nice extra features. | lolive wrote: | Some additional third-party plugins make the Obsidian | experience much more enjoyable. Be sure to test them. | maleldil wrote: | Can you mention some of them? | Rechtsstaat wrote: | Not parent but here's some, downloadable from the built- | in plugin store: | | - Advanced Tables: for automatic formatting and table | operations of markdown tables | | - Dynamic Table of Contents: allows you to include a | codeblock that automatically renders a table of contents | from headers of some level | | - Natural language dates: insert dates in your preferred | format using language like 'next Friday' or 'first Monday | of June' | | - Quick latex for Obsidian: autoformat and autocomplete | common latex commands (e.g. 'a/b' becomes '\frac{b}{a}' | | - Tag Wrangler: rename, merge, toggle and search tags | easily | | - Sliding Panes: changes notes to panes that can be | stacked similar to the ui of Andy Matushchak's notes [0] | (check it out, it's rather neat) | | [0] https://notes.andymatuschak.org | timrichard wrote: | Some others that I like in my setup... | | - Zoom: Work on part of a bullet list structure in | isolation, with a breadcrumb line at the top to jump to a | different parent level | | - Copy button for code blocks | | - Auto backup with Git | | - Outliner: Vertical indentation lines for bullet lists, | and hotkeys to move list items about in the structure | | - Recent files: List of files, ordered by most recently | opened | | - Vimrc support | | Not a plugin, but I tried to make a cheatsheet of the | supported Prism language types that I'm likely to use. | They can be specified in the code fences (```) so that | the code and config blocks in my markdown notes look | prettier : https://prismjs.com/#supported-languages | kretaceous wrote: | Yep. I'm not joking when I say that I've almost tried | everything. Joplin, Logseq, Boostnote, Tiddlywiki, Notion, | Foam, Workflowy, you name it. | | I found out that I end up doing a lot of editing + file | organisation tricks native to my VSCode setup. So +1 to | kevinslin's sibling comment. | sigg3 wrote: | OrgMode? | mattrighetti wrote: | For anyone interested in Obsidian[0] | | [0]: https://obsidian.md/ | kevinslin wrote: | For folks that already use vscode, the selling point is being | able to continue to use vscode for everything, code and | markdown. VSCode has an editor experience that is hard to | beat | | (also, disclaimer: I'm the author of the article and founder | of Dendron) | slightwinder wrote: | > VSCode has an editor experience that is hard to beat | | VS Code is a text-editor focused on coding. Obsidian is a | markdown-editor focused on knowledge- and self-management. | They are each hard to beat in their own specialty. For | example, the WYSIWYG-Editor of obsidian is not something | that VS Codes raw text-view can beat, especially if you | combine it with add-ons for code-blocks. | bdefore wrote: | One missing component (last I heard) to the Obsidian story: | there's no web app. With Dendron and others, you can use | code-server to use VS Code in a browser. It's a better | workflow for ChromeOS, iPad nomads, Wayland users. | seltzered_ wrote: | The thing I keep sitting with is what one wants for _personal_ | knowledge management vs. _collective_ knowledge management. I | 've been using athens research ( | https://www.athensresearch.org/ ) so far after doing classnotes | in roam thinking one there could be extensions in the future to | make things 'feel' like navigating directories of markdown | files if really needed. | | After reading more about dendron which states on | https://github.com/dendronhq/dendron "It's a personal knowledge | management solution (PKM) built specifically for developers and | integrates natively with IDEs like VS Code and VSCodium." , the | question is how these tools could serve a wider audience if | they were packaged more as standalone app (using something like | Eclipse Theia). | EricAAJohnson wrote: | kevinslin wrote: | In terms of making it available to a wider audience - Dendron | comes with a NextJS Template: | https://wiki.dendron.so/notes/4ushYTDoX0TYQ1FDtGQSg | | This makes it easy to publish your notes as a static site. | The plan is to add optional server side capabilities here so | that it becomes possible to read *and* write notes, at which | point it becomes a web interface for note taking. It also | helps with the distribution problem (Dendron is used by teams | to publish documentation to non-technical folks so it helps | that they can access it as a regular webpage) | donutshop wrote: | I personally use https://github.com/foambubble/foam | | Works great and straight forward to setup. | tkuraku wrote: | My knowledge base is a git repository full of markdown files and | vscode. I can easly goto a specific file or do text search across | all files. Minimal effort and no lockin to s specific tools. | minimaxir wrote: | Using VS Code + Markdown All in One | (https://marketplace.visualstudio.com/items?itemName=yzhang.m...) | has honestly been the most productive blogging tool I've used in | a very long time, moreso than dedicated Markdown blogging tools | like iA Writer. (granted half of that is due to "Paste link on | selected text" which is an embarrassingly common workflow for me) | | Adding Prettier | (https://marketplace.visualstudio.com/items?itemName=esbenp.p...) | for its underdiscussed Markdown formatting keeps READMEs and blog | posts clean as well. | krono wrote: | Still amazed by the amount of external production dependencies | these VSCode extensions all seem to require. I wonder how tight | Microsoft's grip is on extension security and how deep any of | their automated checks might go. | | The extension functionality does look great though. I wrote | some similar functions in my nvim which I would have really a | hard time living without. | qbasic_forever wrote: | It's no different or worse than the security model of any | other text editor or IDE. It runs as your user (unless you're | doing something zany like running an admin account), and it | can do anything your user can do like launch programs or | subprocesses you have access to execute. A vs code extension | isn't going to get some unexpected power like root privilege | to start messing with your system, opening low ports, etc. | krono wrote: | You're right, what I'm curious about is how difficult it'd | be to sneak a malicious command into some VSCode extension | update trough these production dependencies, and how far, | say, an rm -rf <allthethings> could reach from the trusted | project root directory from which it is executed. | | I'm not a VSCode user myself, but it's pretty much the same | story with nvim. | | edit: I suppose what I'm really getting at, is that, | depending on what their security measures look like, the | VSCode extension store might be giving some false sense of | security. | lstamour wrote: | A lot of supply chain security relies on trusted actors | doing the right thing. It's similar to how you can trust | an ingredients label. | | I suppose I could mention that on a Mac, I use Objective- | See's tools to watch what programs do in the background. | And also on a Mac, you have to grant access to apps first | otherwise they can't normally access files. Of course, | that breaks down in reality as most apps are useless if | they can't access files. | | If you really want a scare, consider that if you | compromise an ecosystem package (e.g. npm), you can run | on developer machines, CI systems and possibly in | production, while if you compromise a VS Code extension, | you only get dev machines. | | If you're looking for a bit of extra protection, you can | run VS Code from a virtual machine or even run it from | Docker. Though the usual docker approach, using remote | containers extension, still runs on your local computer. | There's GitHub Codespaces or Google Cloud Shell that can | run VS Code remotely in a VM, though. | krono wrote: | Most projects I'm involved with require measures that go | a bit further still. Got to be honest though, it can be | frustrating at times. | | Just sprinkling bits of awareness around by bringing some | of these considerations up whenever I can. It's an uphill | battle, although, the general carelessness around | extension and dependency use I'm seeing - and that even | after all the shit that's been going on in that space - | makes it one worth to fight. | | Edit: Regarding the chain of trust you mention, that one | has sort of come and gone, and there is not a whole lot | of trust involved in the processes I'm saddled up with. | johnchristopher wrote: | It's not like simpler editors have saner defaults https://gro | ups.google.com/g/vim_dev/c/sRT9BtjLWMk/m/BRtSXNU4... (yeah, I | got bit by a variation of that one recently) (pro-tip: don't | let your autoloader scan for non php file) | kretaceous wrote: | +1. Also, Copy Image to File. Very very handy for snipping and | just pasting it in the Markdown document you're editing. | cyberge99 wrote: | This is an incredibly difficult plugin to search for. Can you | post a link to it or provide the author's name? | lysecret wrote: | I love writing in vs code and markdown (for my blog | https://leloew.com/blog/20220227_5_lines_of_js_for_a_markdow...) | they also have an unofficial grammarly plugin which works quite | well. | rcarmo wrote: | I've been trying Obsidian, Foam, Dendron, etc., and most of these | Zettelkasten-like editing environments have issues with relative | links (i.e., they don't let you specify a base folder) and/or | completely ignore front matter, which makes them hard to use when | you've got 8000-odd posts across a big directory tree. | | (taoofmac.com is like that, and is actually a pretty big wiki) | | I've been resisting hacking my own, but I suspect I will | eventually have to :) | kevinslin wrote: | I gave in to the temptation - hence Dendron | | What issues did you encounter with Dendron? Would appreciate | feedback so we can make it better! | rcarmo wrote: | Well, it blew up trying to index my site, and it apparently | can't parse ISO dates in front matter, as well as not picking | up tags... | CJefferson wrote: | Not the original poster, but my main problem install Dendron | as a vacode plugin was sometimes my Dendron directory wasn't | "Dendron", and sometimed Dendron seemed to load and do things | when in directoris of unrelated markdown. | | I never did figure out what was going wrong, but I moved to | Obsidian mainly so I had a clear separate note keeping app. | bobbylarrybobby wrote: | Have you used LogSeq? Its "thing" is that it doesn't have | folders, period. Your workspace is just a graph of files that | reference each other. In the event that a page's name has | slashes in it, the components will be treated as hierarchical | pages, but that's more of an emergent folders thing than real | folders (as changing the name of a page changes its own | hierarchy without renaming any of its parents in the hierarchy, | leaving the existing hierarchy intact) | codethief wrote: | > Have you used LogSeq? | | Not OP but, personally, I was very disappointed when I found | out that Loqseq doesn't support free-form text / Markdown as | it's an outliner (only). | bachmeier wrote: | > drag and drop files into the editor to create a markdown link | | This is nice, but I'd really prefer being able to drag and drop | and then have it uploaded to, say, OneDrive. Even better, be able | to paste a URL and have it download the file and then upload it | to OneDrive or Dropbox or whatever. | | > find all references to header|links|files|urls inside of | markdown | | Sometimes this sort of thing is nice to have, but doesn't it add | a lot of overhead when working with markdown files? ___________________________________________________________________ (page generated 2022-05-08 23:00 UTC)