Just your average bonsai gardener...
🧑🌾 🎋WikiBonsai
Add [[wikilinks]] support for jekyll.
Home Page: https://rubygems.org/gems/jekyll-wikilinks
License: GNU General Public License v3.0
Just your average bonsai gardener...
🧑🌾 🎋WikiBonsai
[[Example note#Example Anchor]]
[[Example note#Example Anchor|This is an example!]]
Suppose I am linking to a page with the following syntax: ![[file-to-embed]]
. This should create a scrollable div
of height no greater than the viewport which contains all of the embedded file or note.
Such implementation should be valid for:
In my website, I am embedding my “Typography” page in to the “Design” page. Inside the Typography page I have inserted a Wikilink with custom title, this:
- something before
- [Web Typography](http://webtypography.net/ 'Web Typography'), a website focused on typography on the Web, [Richard Rutter](http://clagnut.com/ 'Richard Rutter'). I bought [[Web Typography|the homonymous book]] on the topic, it is very insightful.
- something after
Instead of being rendered correctly, it is parsed as Markdown, and it appears as a table:
🐛 Bug:
`[[a-missing-note-example]]`
Renders instead of being escaped (this is a missing note example):
`<span title='There is no note that matches this link.' class='invalid-wiki-link'>[[a-missing-note-example]]</span>`
Should render as originally displayed:
[[a-missing-note-example]]
🩹 Workaround -- escape with backslashes:
\[\[a-missing-note-example]]
Renders as expected:
`[[a-missing-note-example]]`
The source of the issue is here:
The question boils down to how to identify two right square brackets in a row instead of just one. I presume look aheads or look behinds are necessary, but this is starting to push the bounds of my regex comprehension. Any help with this fix would be greatly appreciated.
Details below.
✅ With no right square bracket:
❌ With a right square bracket:
✅ [[filename|[label] ]]
❌ [[filename|[label]]]
Related issue #17
jekyll-wikilinks/jekyll-wikilinks.gemspec
Line 31 in e3270a8
Is this requirement still needed? This plugin won't work with the latest Jekyll because of this line.
I have several Liquid {% for %}
loops which parse wikilinks, and, while by using the original plugin by Maxime Vaillancourt they are converted into HTML links, with this plugin they does not.
I am completely ignorant about how Ruby or the deeper structure of Jekyll work, but it seems like jekyll-wikilinks
comes into play before Liquid is parsed, hence not scanning text which is generated by Liquid, therefore not seeing new wikikinks which might appear.
Does it make sense? I am available to provide further information, if needed!
Thanks a lot.
As of right now, in every single note it is required to specify in the front matter both a permalink
and a title
.
Nevertheless, it is definitely not convenient. Since I have title and permalink patterns defined in _config.yml
, it would be crucial for the plugin to generate them based on front matter defaults if nothing is specified in front matter.
I'm using the Chirpy Jekyll Theme and I tried installing this plugin (I don't have much technical knowledge). I got the following error:
In snapshot (Gemfile.lock):
nokogiri (= 1.13.1)
In Gemfile:
html-proofer (~> 3.18) was resolved to 3.19.3, which depends on nokogiri (~> 1.12)
jekyll-wikilinks (~> 0.0.11) was resolved to 0.0.11, which depends on nokogiri (~> 1.12.3)
Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
When I run bundle update I get the same error plus the following error:
Bundler could not find compatible versions for gem "tzinfo":
In snapshot (Gemfile.lock):
tzinfo (>= 1.2.9)
In Gemfile:
tzinfo (~> 1.2)
tzinfo-data was resolved to 1.2021.5, which depends on tzinfo (>= 1.0.0)
I tried reading the plugin installation page but didn't understand what I should do . Is there a way to fix this dependency issues?
Embeds don't render if the embedded post has been previously referenced as a wikilink in the same post. So if you link to a post as a wikilink, a subsequent embed of the same post will not render.
For instance, the following markdown:
[[post-title]]
![[post-title]]
will render as:
post-title
!post-title
(with each post-title successfully linking to the post, but both are rendered as wikilink instead of a wikilink and an embed.)
However, the following markdown:
![[post-title]]
[[post-title]]
Renders with no problem (note that the embed comes before the wikilink)
the first link successfully embeds the target post, and the second is styled as a wikilink.
Two embeds of the same post render just fine, and an embed followed by a wikilink to the same post also renders properly, but not a wikilink followed by an embed of the same post. This happens no matter how far back in the current post the embedded post was referenced, so there can be plenty of content in between.
Interestingly, if the previous wikilink points to a particular heading within a post, or is aliased, then subsequent embeds of the same post will also work fine. Basically, if an embed appears after a wikilink to the same post, and the content between the [[]]
is not differentiated by either a #
or a |
, the embed will not render, but instead appear as a wikilink prepended by a !
.
So, it looks like there's an issue with the regex/parsing(?) where it conflates the wikilink and the embed.
I've taken to the practice of aliasing my embeds, like this: ![[post-title|embed]]
to differentiate them from any previous wikilinks. Obviously, aliasing an embed does nothing noticeable, but it prevents the embed from being conflated with a previous wikilink.
Thanks for your work on a great and sorely needed plugin.
As of right now, when I intend to embed a note by using ![[example note]]
what I get is the title of the linked page and below all of its content.
There is no <a>
tag for the title of the linked page! There should be…
As the title says -- I'm a little stuck so any input is appreciated here.
Implement the ability to specify in _config.yml
:
wikilinks:
collection: '_notes'
title: 'This note is private'
class: 'private'
which, in the case of a note called Private note example
not existing, parses:
<span class="private" title="This note is private"><span>[[</span>Private note example<span>]]</span></span>
The plugin automatically parses notes which do not preserve original title capitalization, but it capitalize exclusively the first letter of the whole title.
Some title examples:
The importance of RSS Feeds.md
appears as The importance of rss feeds
being Lucky.md
appears as Being lucky
Instead, title capitalization should be preserved.
Nevertheless, a note called Hello world.md
and called as [[Hello world|heLLo WoRLd]]
is correctly displayed as heLLo WoRLd
.
I am sorry that errors with Netlify builds continue to happen… this is the error message I get:
/opt/build/cache/bundle/ruby/2.6.0/gems/jekyll-wikilinks-0.0.4/lib/jekyll-wikilinks.rb:5:in `require_relative': /opt/build/cache/bundle/ruby/2.6.0/gems/jekyll-wikilinks-0.0.4/lib/jekyll-wikilinks/doc_manager.rb:48: syntax error, unexpected ..., expecting ']' (SyntaxError)
... |d| d.basename == filename[...-4] }
... ^~~
from /opt/build/cache/bundle/ruby/2.6.0/gems/jekyll-wikilinks-0.0.4/lib/jekyll-wikilinks.rb:5:in `<top (required)>'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler/runtime.rb:66:in `require'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler/runtime.rb:66:in `block (2 levels) in require'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler/runtime.rb:61:in `each'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler/runtime.rb:61:in `block in require'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler/runtime.rb:50:in `each'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler/runtime.rb:50:in `require'
from /opt/buildhome/.rvm/gems/ruby-2.6.2/gems/bundler-2.2.20/lib/bundler.rb:174:in `require'
from /opt/build/cache/bundle/ruby/2.6.0/gems/jekyll-4.2.0/lib/jekyll/plugin_manager.rb:53:in `require_from_bundler'
from /opt/build/cache/bundle/ruby/2.6.0/gems/jekyll-4.2.0/exe/jekyll:11:in `<top (required)>'
from /opt/build/cache/binstubs/jekyll:29:in `load'
from /opt/build/cache/binstubs/jekyll:29:in `<main>'
As mentioned in “future features”.
example of multiple collections specifications in _config.yml
:
wikilinks:
collections:
- '_notes'
- '_pages'
In the README, in the D3 Graph Data section, there is the following paragraph:
D3 can be tricky, so I've created a gist here of a network graph using d3 version 6. You can see in action here (just click the 🕸 in the top-left to toggle it on).
Both links which are present are broken.
Currently, when invalid wikilink is detected, it's just wrapped with a <span>
tag and the raw markdown is passed through which results in some ugly looking text output to the webpage.
Eg: [[link-slug|Readable Slug]]
shows just as up written.
It would be nice if the invalid link could be cleaned up a little. Maybe remove the slug and the surrounding brackets, leaving the slug or label text surrounded by <span>
html tags. In the above example, the result might look like <span class="invalid-wiki-link">Readable Slug</span>
Hi,
I'm trying to use this plugin on a foam wiki but I get the above error. I'm a raw newbie when it comes to jekyll so it is very well possible that it is my fault (looking at the code it's looking for a page title?), but you might prepend a to_s
to downcase
to catch nil
cases.
/usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/util/parser.rb:133:in `build_html': undefined method `downcase' for nil:NilClass (NoMethodError)
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/util/parser.rb:83:in `block in parse_inlines'
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/util/parser.rb:80:in `each'
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/util/parser.rb:80:in `parse_inlines'
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/util/parser.rb:32:in `parse'
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/plugins/generator.rb:27:in `block in generate'
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/plugins/generator.rb:25:in `each'
from /usr/local/bundle/gems/jekyll-wikilinks-0.0.8/lib/jekyll-wikilinks/plugins/generator.rb:25:in `generate'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/site.rb:193:in `block in generate'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/site.rb:191:in `each'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/site.rb:191:in `generate'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/site.rb:79:in `process'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/command.rb:28:in `process_site'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:65:in `build'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:36:in `process'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `each'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
from /usr/local/bundle/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
from /usr/local/bundle/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
from /usr/local/bundle/gems/jekyll-4.2.1/exe/jekyll:15:in `<top (required)>'
from /usr/local/bundle/bin/jekyll:25:in `load'
from /usr/local/bundle/bin/jekyll:25:in `<top (required)>'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli/exec.rb:58:in `load'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli/exec.rb:58:in `kernel_load'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli/exec.rb:23:in `run'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:478:in `exec'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:31:in `dispatch'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/cli.rb:25:in `start'
from /usr/local/bundle/gems/bundler-2.2.32/exe/bundle:49:in `block in <top (required)>'
from /usr/local/bundle/gems/bundler-2.2.32/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
from /usr/local/bundle/gems/bundler-2.2.32/exe/bundle:37:in `<top (required)>'
from /usr/local/bundle/bin/bundle:23:in `load'
from /usr/local/bundle/bin/bundle:23:in `<main>'
I have the warning Jekyll-Wikilinks: No documents to process.
even though my folder countains markdown files with wiki-links. I don't really know where to start to debug this problem, so any idea is welcome :). I'm running my Jekyll site from a foam notebook.
I am experiencing an issue only while building with Netlify. Any ideas about why could the problem be? Locally, everything is working fine.
deploy log (full log here):
10:19:17 AM: /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-wikilinks-0.0.3/lib/jekyll-wikilinks.rb:177:in `write': No such file or directory @ rb_sysopen - /opt/build/repo/assets/graph-net-web.json (Errno::ENOENT)
10:19:17 AM: from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-wikilinks-0.0.3/lib/jekyll-wikilinks.rb:177:in `write_graph_data'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-wikilinks-0.0.3/lib/jekyll-wikilinks.rb:58:in `generate'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:193:in `block in generate'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:191:in `each'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:191:in `generate'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/profiler.rb:43:in `block in profile_process'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/profiler.rb:41:in `each'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/profiler.rb:41:in `profile_process'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:75:in `process'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:28:in `process_site'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:65:in `build'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:36:in `process'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
from /opt/build/cache/bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
from /opt/build/cache/bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
from /opt/build/cache/bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
from /opt/build/cache/bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
from /opt/build/cache/bundle/ruby/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
from /opt/build/cache/bundle/ruby/3.0.0/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
from /opt/build/cache/binstubs/jekyll:29:in `load'
from /opt/build/cache/binstubs/jekyll:29:in `<main>'
When I try to use this gem with polyglot, I get following error:
/usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-3.9.2/lib/jekyll/document.rb:380:in `method_missing': undefined method `type' for #<Jekyll::Document _pages/en/Command-Line-Arguments-and-Settings.md collection=pages> (NoMethodError)
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-wikilinks-0.0.5/lib/jekyll-wikilinks.rb:53:in `block in generate'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-wikilinks-0.0.5/lib/jekyll-wikilinks.rb:53:in `filter'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-wikilinks-0.0.5/lib/jekyll-wikilinks.rb:53:in `generate'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:175:in `block in generate'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:173:in `each'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:173:in `generate'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-3.9.2/lib/jekyll/site.rb:70:in `process'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:100:in `process_active_language'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:84:in `process_language'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:41:in `block (2 levels) in process'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:40:in `fork'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:40:in `block in process'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:39:in `each'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-polyglot-1.5.1/lib/jekyll/polyglot/patches/jekyll/site.rb:39:in `process'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:128:in `process'
from /usr/share/rvm/gems/ruby-3.0.0/gems/jekyll-watch-2.2.1/lib/jekyll/watcher.rb:64:in `block in listen_handler'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/config.rb:28:in `call'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/processor.rb:117:in `block in _process_changes'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/thread.rb:26:in `rescue_and_log'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/processor.rb:116:in `_process_changes'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/processor.rb:25:in `block in loop_for'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/processor.rb:20:in `loop'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/processor.rb:20:in `loop_for'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/loop.rb:85:in `_process_changes'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/event/loop.rb:51:in `block in start'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/thread.rb:26:in `rescue_and_log'
from /usr/share/rvm/gems/ruby-3.0.0/gems/listen-3.7.1/lib/listen/thread.rb:18:in `block in new'
I do not know if this could be considerable as a feature for this plugin, yet, it would be great if some guidelines could be given in order to show previews of the content of the note a wikilink refers to.
Everything goes smoothly if I disable d3_graph_data
in _config.yml
. Nevertheless, if I keep it enabled, I get this:
Configuration file: /Users/tommi/tommi.space/_config.yml
Source: /Users/tommi/tommi.space
Destination: /Users/tommi/tommi.space/_site
Incremental build: disabled. Enable with --incremental
Generating...
Net-Web node missing: così
in: La Marmellata
Net-Web node missing: like this
in: The Jam
Net-Web node missing: Writing#Website
in: Website development
Net-Web node missing: Apps#Nextcloud
in: Server setup
Net-Web node missing: Server setup#Nextcloud configuration|configuration and installation walk-through
in: Server
Net-Web node missing: Linuxplosion#Cheat Sheet
in: Cheat sheets
Net-Web node missing: Vim#Resources
in: Knowledge
Net-Web node missing: The Vignelli Canon
in: Typography
Net-Web node missing: Apps#Android|apps on my Android phone
in: Launcher
Net-Web node missing: Adaptation.
in: Parole
Net-Web node missing: Santa Maradona
in: Cinema
Net-Web node missing: Hotkeys#Firefox|Here
in: Firefox
Net-Web node missing: Film Photography|Film negatives scanning setup
in: Wishlist
Net-Web node missing: iOS Apps|my iPhone
in: Bugs and Feature Requests
Net-Web node missing: Quit Netflix
in: Quit and switch
Net-Web node missing: missing
in: Missing Knowledge
Net-Web node missing: Blaise Pascal
in: Notes on Indistractable
Net-Web node missing: Google Drive and Dropbox shared links
in: Quit Google
Net-Web node missing: Markdown
in: Ode to plain text
Net-Web node missing: Website log#Sidenotes
in: Jekyll sidenotes
Net-Web node missing: Website log#Sidenotes|a great idea
in: Website log
Net-Web node missing: Music idea due
in: Music
Net-Web node missing: Importing workflow#Mobile|import media from my phone
in: Linuxplosion
Net-Web node missing: Hotkeys#Obsidian|Keyboard shortcuts
in: Obsidian
Net-Web node missing: Images
in: Geek todo
Net-Web node missing: Cheat sheets#Terminal|awesome things
in: Bash
Net-Web node missing: Places
in: OpenStreetMap
/Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-wikilinks-0.0.3/lib/jekyll-wikilinks.rb:177:in `write': No such file or directory @ rb_sysopen - /Users/tommi/tommi.space/assets/graph-net-web.json (Errno::ENOENT)
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-wikilinks-0.0.3/lib/jekyll-wikilinks.rb:177:in `write_graph_data'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-wikilinks-0.0.3/lib/jekyll-wikilinks.rb:58:in `generate'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:193:in `block in generate'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:191:in `each'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:191:in `generate'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/profiler.rb:43:in `block in profile_process'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/profiler.rb:41:in `each'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/profiler.rb:41:in `profile_process'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/site.rb:75:in `process'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:28:in `process_site'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:65:in `build'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:36:in `process'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
from /Users/tommi/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
from /Users/tommi/.rbenv/versions/3.0.1/bin/jekyll:23:in `load'
from /Users/tommi/.rbenv/versions/3.0.1/bin/jekyll:23:in `<main>'
I think it is ok if wikilinks which do not find any destination create warnings at build time, nevertheless, it does not seem usual that the whole build fails because of this.
Hello.
On my searching for wiki links, I saw you cite an Obsidian discussion.
As you use wikilinks, are you an user of Obsidian?
I work on a project named YAFPA, in Jekyll. It's a free publish (website hosted) alternative, as I don't have the money for publish (and it doesn't fit my need).
My projet rely, actually, on liquid to process wikilinks. I also use a python script to convert my file.
Wikilinks is one of the feature I deal (the original developper of the liquid template is inactive), and I really will love to see your work (wikilinks and graphic bullet) integrated in my work.
The main problem I had when I first try is the "preview on hover" that disappear.
I saw an issue about it and you talk about tutorial. This tutorial will be universal?
It was the only problem I have with your plug-in (and also I need to rewrite my python code but deleting is not pretty difficult).
I any case, your work is pretty Amazing and need to be more popular!
As of right now, headers are recognized using kramdown properties, hence with the slugified title. Nevertheless, in Obsidian, headers containing a space are recognized if the space is present in the wikilink, and not with a dash in its place.
Example:
[[Hello World#Anchor heading 1]]
is not recognized, and it has to be modified instead as [[Hello World#anchor-heading-1]]
I think adding automatic slugification for anchors directly in the plugin makes no difference if the title is already in the supported format, while it converts anchor headers which do not work with spaces.
After opening a ton of feature requests issues (sorry if they were too many) I now unfortunately have to report a bug/malfunctioning.
Every URL parsed by this plugin corresponds to /:title
. Is it my fault? Please do not tell me I have to set a title: "Some title"
in the front matter of every single one of my 150 .md
files in the collection jekyll-wikilinks
works in.
What should I do?
Thanks a lot.
Best,
T
As mentioned by @manunamz in this issue, as of right now, while the plugin is installed, it requires an /assets
folder in which to print the graph data json file.
The plugin user should be given the possibility, instead, to choose a custom directory where to parse graph-net-web.json
, or, otherwise, its rendering should not be blocked if the folder is missing but the plugin should create it automatically.
Furthermore, a nice extra feature would be to customize the name of the json file.
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.