heiko-barth.de

// Aktuelle URL per Bookmarklet in DokuWiki speichern

Ich habe zwei Skripte erstellt, mit denen man die aktuell im Browser aufgerufene Seite und deren HTML-Titel per Bookmarklet in einer Wiki-Seite speichern kann.

Folgendes PHP-Skript muss angepasst auf dem Webserver hinterlegt werden:

bookmark.php
<?php
        # path to dokuwiki page
        $file = "/path/to/wiki/data/pages/bookmarks.txt";
 
        # ensure utf-8
        $url = iconv("UTF-8", "UTF-8//IGNORE", $_GET["url"]);
        $title = iconv("UTF-8", "UTF-8//IGNORE", $_GET["title"]);
 
        # dont break wiki syntax
        $search  = array('|', '[', ']');
        $replace = "-";
        $url = str_replace($search, $replace, $url);
        $title = str_replace($search, $replace, $title);
 
        # write to dokuwiki page
        if (file_put_contents($file, "\n  * [[" . $url . "|" . $title . "]]", FILE_APPEND | LOCK_EX) === false) {
                die("Error: Failed to add bookmark.");
        }
 
        # redirect back to source
        header("HTTP/1.1 302 Found");
        header("Location: " . $_GET["url"]);

Dieses Bookmarklet sendet die aktuelle URL und den HTML-Seitentitel an das auf dem Server hinterlegte PHP-Skript:

bookmarklet.js
javascript:(function(){location.href='http://example.com/bookmark.php?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)})()

http://example.com muss natürlich an die eigenen Bedürfnisse angepasst werden.

Web 2.0



RSS   RSS abonieren

Github   Github
QR Code