24 comments

[ 2.8 ms ] story [ 70.7 ms ] thread
Creator here.

From the README:

* Write wiki pages in reStructuredText (rst) or Markdown (md). Both types can be in the same wiki.

* Run make to output html, and/or pdf, and/or plain text.

* Read your wiki pages.

* Optionally catalogs any book/media files in your wiki.

No software provided, just a makefile and two convenience scripts.

No templates provided.

Relies on existing tools that you already have or are easy to install.

wonderful work! file system, make, and other standard tools are our best friends
This is great. I like how make builds dependencies and uses modification times to avoid doing unnecessary work. It's a sound concept. Is there anything like make that uses yaml or JSON as input?
What do you mean by "input"? Do you want a structured data file instead of the Makefile, or do you want to process structured data inside Makefile rules?
It would be cool to have it generate a sitemap from tree(1)
Wow, cool. Thanks.

Done.

I thanked you in the commit log.

Ah! Neat, thank you!
I understand "wiki" to mean something editable by users. I'm not really sure that this fulfils that. Maybe brand as a site generator?
It's a personal wiki, and it is editable by the one user on the local machine, by editing rst or md source files. Could make it editable by other users on the local machine through file permissions.

It's purposefully minimal, so no in-page editing, for example. I wanted to write no software and use what I already have that does the job.

If you want to call it a site generator, I'm fine with that. :)

Personal wikis are a thing, though. TiddlyWiki is more like what you're expecting, but it's still mostly a local machine thing, notwithstanding their recent (to me) publishing features.

VimWiki is more like what I've made, except it's specific to vim. Still local.

https://en.wikipedia.org/wiki/Personal_wiki

Personal wiki = not a wiki.

vi is a "personal wiki"

I've been half-heartedly looking for something exactly like this for a while, thank you for posting it!

Instead of using Uppity, which appears to be abandoned (?), I found Navigate Up WE (https://addons.mozilla.org/en-US/firefox/addon/navigate-up-w...), which performs essentially the same functionality and appears to be maintained.

Thanks again, this will be very useful!

And thanks for the bug report on github. :)

I have noticed a warning with uppity due to Mozilla's redesign of their extension support, but it's still working for me. Thanks for the tip to Navigate Up.

Not related to the bug, I'm curious what text editor you use. I use Vim, and the reason why I suggest writing links in your source files ending in .rst or .md is so that I can go from source to source in Vim, by putting the cursor over the filename and then gf. That, and then ctrl-o to go back, is very useful to me.

As rst and md are human readable, with a good editor like Vim, you could treat your source files as the wiki and never generate. Not that I would, but you could.

Do you use a different editor with similar capability?

I mainly use Vim, and have tried using both Vimwiki and Org-mode as personal wikis in the past, but they were never quite what I was looking for.

I like writing the wiki content in Vim, but for viewing it I think I prefer it as a webpage.

Following file links in Vim is really useful though, I should use it more often!

I also write in Vim and prefer the webpage view.

File links in Vim are really handy in your Miki when you're writing a couple of pages in a topic and you want to jump back and forth.

Of course in that scenario you can also ':e .' to edit the directory, or use the vim-included netrw, or install nerdtree.

I don't get it. This is not a wiki. A wiki is a collaboration tool with fast reads and searches and slow writes. This is a simple static site generator, such as jekyll/hugo/..., just without the automatic updates, filewatch or http save triggers. Those generators have all these features, and much more.

To turn this into wiki, add a js library to allow editing and saves (=> tiddlywiki), and maybe think of markdown javascript renderers (=> reveal-md)

Yet, it feels like a personal wiki to me. :)

I think that a focus on low level tools (javascript), or on current and common implementations as the definition of wiki, is unnecessarily restrictive.

I was going to "count the ways" that Miki can be considered a personal wiki. It doesn't much matter. It works for me, and I hope maybe a few others.

Instead, I'll propose that Miki, and other tools like it, are in the realm of personal wiki, in a similar way that Unix is an IDE. https://sanctum.geek.nz/arabesque/series/unix-as-ide/

That's what an easy to edit personal website feels like.
> low level tools (javascript)

Sincerely confused by this parenthetical statement.

rurban, my parent, says "to turn this into a wiki" and then lists javascript for on-page editing and markdown rendering. That's one way to get it done, of course.

But for sitting on the couch with your wiki totally contained on your lap in your laptop, editing in a text editor is a reasonable solution to "edit this page."

"Render markdown" from the command line is also a reasonable solution in that (my) scenario.

Would it be possible to somehow run this on Windows?
The dependencies should all be available, either directly or through cygwin. And of course there is the Linux subsystem now.
Yeah, cygwin would be the first thing I'd try for Windows. In fact I listed cygwin as a possibility at first, but took it out as I don't have a Windows machine ATM, so I didn't want to assume.

You can check for cygwin packages on their web search page https://cygwin.com/cgi-bin2/package-grep.cgi

rst2pdf is missing, so mwk pdf and mwk all would fail for rst source files. You could edit that out of the makefile, or find a replacement and alias rst2pdf to it.

pandoc is missing from cygwin, but pandoc itself has a windows installer, http://www.pandoc.org/installing.html.

That page suggests a latex package for pdf output, so there's a fighting chance you could get markdown working in Miki from cygwin if you put the Windows pandoc in your cygwin path. I've done similar for other tools in the past.

I use asciidoc with asciidocfx and then push it to a git repo.

This way I can keep it in sync between multiple machines.

I'd like to create a webapp with offline capabilities to do this but can't see myself getting around to it anytime soon.