Safari for Mac: Links to Bookmarks and History pages

Does anybody know, is it possible to create a link to Bookmarks (menu bar > Bookmarks > Edit) or History (menu bar > History > Show All History) pages in Safari for Mac?

Maybe an inner URL, like chrome://bookmarks in Chrome. Or maybe some clever trick. I want to put these links to a static HTML page with I use a homepage (Settings > General > Homepage).

Just open the the .html page in safari and click set to current page. The same path will work in Chrome, etc.


Safari bookmarks are stored in ~Library/Safari/Bookmarks.plist

1 Like

Hello, Wayne. Not sure why you talk about a local HTML page, like ~/Desktop/MPU.html, but this trick helped me to discover Safari URLs for Bookmarks and History pages, which is exactly what I tried to figure out. Turned out they are history:// and bookmarks://. Thanks.

3 Likes

Didn’t know about those URLs. Now I’ve learned something new. :grinning:

In the early 90’s I used to make my own home pages with links to sites on our corporate intranet. It was so new that we didn’t have DNS and just used ip addresses.

1 Like

Yeah, this is exactly what I’m working on currently. Trying to figure out how to make a really useful and/or funny and/or distraction-free homepage and whether I prefer to use the built-in Safari “Start Page” feature or that local HTML.

FWIW, here it is :slight_smile:

<style>
body{display:flex;align-items:center;justify-content:center;}
p{margin:0;}
a:is(:link,:visited){color:black;}a:hover{color:black;}
</style>

<div style="max-width:640px">
<p id="time-zone"><br></p>
<p><br></p>
<p><a>https://site1.com/</a></p>
<p><a>https://site1.com/</a></p>
</div>

<script>
'use strict';

for (const a of document.querySelectorAll('a')) {
  if (!(a.hasAttribute('href'))) {
    a.setAttribute('href', a.textContent);
  }
}

// https://gist.github.com/aranajhonny/dadf28964f990a810ebf561ceefa40df
function detectVPN() {
  var browserTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone

  return fetch(`https://ipapi.co/json`)
  .then(function(response) { return response.json() })
  .then(function (data) {
    var ipTimezone = data.timezone
    console.log(`browser timezone: ${browserTimezone}`, `ip timezone: ${ipTimezone}`)
    return {
      browser: browserTimezone,
      ip: ipTimezone,
      usingVPN: ipTimezone != browserTimezone
    }
  })
}

detectVPN().then(({ip}) => (document.querySelector('#time-zone').textContent = ip))
</script>
2 Likes

I’ve made my own loca html pages for decades. It’s essentially a localy served Web site. The pages are so oldd (though modifed over time) that I use Tables for the basic two-column layout.

3 Likes

Yes, great idea, I also was thinking about a personal wiki there.

I tried a couple of Wikis, including Wiki Media’s wiki, and Tiddly Wiki, others. Ended up using Voodoo Pad, which is dead in the water. Tried various PKMs, and went back to vanilla html.

Personally I use several Keynote presentations, each for some “big” topic in my life, and inside the presentations, each slide is for some specific “small” topic. A topic can occupy multiple slides, no problem, but no slide is meant to be read after another - that is to say, they can be read in any order.

This is somewhat similar to card catalog:

I like Keynote because I can put this text block here and that text block there and this image here and that image there. Compared to linear approaches like Markdown, it makes thinking much easier.