tlienart / FranklinTemplates.jl

Simple website templates for Franklin.jl
https://tlienart.github.io/FranklinTemplates.jl/
MIT License
79 stars 24 forks source link

[Template Request] Andy Matuschak's Working Notes / Obsidian Sliding Window Mode #114

Open RoyiAvital opened 3 years ago

RoyiAvital commented 3 years ago

I encountered Andy Matuschak's Working Notes which have 3 great features:

  1. Preview Links on Hover
    When hovering a link to another notes / post a preview of that links appear.
  2. Open to the Right (Obsidian Sliding Window Mode)
    This means when clicking on a link to a different note / post it opens to the right in a new frame. Which means the context of the opened note is kept and the reader can have a look at both at the same time.
  3. Backlinks
    If note A links to note B it will appear as a backlink at the footer of blog B.
    This allows getting more context in links.

If we could add to that search by tags or clickable tags to see all notes with a given tag / tags it will create a killer template for technical / scientific writing and knowledge sharing.

I think the feature for backlinks should be implemented as an extension to Franklin.jl.

rikhuijzer commented 3 years ago

From Slack: Although I do see the benefits, I think it's overly complex and has many drawbacks. For example, will http://web.archive.org/ be able to index the site? In my browser, Javascript has been blocked for sites by default (uMatrix) and this breaks the site completely. I can't even follow links.

Also, about the context switching. People are already able to do context switching with their default tools. This site will only make it more difficult because it fills half of the space with white

RoyiAvital commented 3 years ago

@rikhuijzer , As any template, anyone and his preferences. If you turned off JS it means you also can't see MathJaX and KaTeX so you already don't see most technical writing. About the scoping and context, beside opening 2 browser side by side, how exactly can you achieve it? Think reading some math which is based on a lemma. Having the Lemma to the right is just prefect. Then moving forward, new lemma, opens again to the right.

Anyhow, it is a personal preference. Probably you won't use it. I think it is the most effective template for personal knowledge base I have seen. If you can assist overcoming the disadvantages you raised, it will only get better.

As a side note, it seems Obsidian embraced this template in their publish mechanism. See for instance, as a technical writing: Welcome to The Quantum Well!.

Is there a way to put a bounty on an issue here? I'd be happy to donate some money for this functionality.

tlienart commented 3 years ago

Thanks both!

For transparency, what's in the template pipeline is:

After that I'll probably fold back to a tool I wanted to make with Zlatan (who now seems to be off GitHub) to help build websites with Bootstrap and Franklin.

I will keep working on other templates in the long term but, ideally, I'd like people to give it a shot (and I will help as much as I can to support this). Templates which don't have specific "functionalities" like HTML5 up, lanyon etc are pretty easy to replicate while more sophisticated ones like Academic require more work (effectively a bunch of hfun_* function to be defined).

I know people like to have many templates to choose from and tweak and I also know that I'm a massive bottleneck for this goal at the moment; this is why I'd ideally like keen people to just try to build their own site, copy paste layout elements from templates they like, ping me from their repo to fix stuff, and eventually we can port the whole lot here to make it available to all.

If you don't know where to start, I can help set up a very rough draft which you would then pick up to do the polishing :)

PS: thanks for the offer for donation; I think I'd rather you sent that money to the Julia foundation 😄

rik commented 3 years ago

@RoyiAvital FYI you tagged the wrong rik 🙂 It doesn’t bother me but thought you should know. (I also won’t see your answer as I’m unsubscribing from the issue)

rikhuijzer commented 3 years ago

@rik Awesome GitHub name you have.

ChasingZenith commented 3 years ago

About the ''backlink'' features, Is there any instruction on how to automatically detect backlinks and display something like ''links to this page'' ''link to this ##header ###subheader'' like this obsidian page do?

tlienart commented 3 years ago

@ChasingZenith it's probably better we discuss this on Slack or in a new Franklin.jl issue.

In short: no there isn't. You could construct it though but it's not entirely trivial. if you write a function lx_link for all links, then you can track link edges, construct some form of dictionary and do what you're requesting. I.e. you'd do

\link{title}{link_path}

instead of

[title]{link_path}

so that every time you link to something, you can keep track of the link edge. We can't quite yet do this without such machinery in Franklin as we don't process links ourselves (we let Base.Markdown do it). In the next version we will be processing links (and the entirety of the markdown) ourselves and so it would then becomes possible to keep track of all the link edges.

Feel free to open an issue about this on Franklin for further discussion. Note that setting same-page backlinks (footnotes that have a pointer back like on wikipedia pages) is, by contrast, very simple.

ChasingZenith commented 3 years ago

Think you very much for your great idea. And I am looking forward to the next version of Franklin.jl.