Narretz/bookmarklet-maker

Tool to create bookmarklet/ javascript apps to automate the web browser.

★ 0Forks 0HTMLGitHub ↗Compare

Project website ↗

README

Bookmarklet Maker

Bookmarklet Maker

Overview

Bookmarklet maker is a small web app to create bookmarklet or small executable Javascript apps to peform browser automation tasks.

You can run this app by accessing the hyperlink:

If you don’t know what is a bookmarklet, see:

Bookmarklet Cheat Sheet

Get Metadata

Get current page title

<title>Paget Title</title>
document.title

Get author

<meta content="author M.r dummy" name="author">
Array.from(document.getElementsByTagName("meta"))
    .find(function(e){return e.name == "author"})
    .content

Get description

<meta content="A description of the page." name="description">
Array.from(document.getElementsByTagName("meta"))
    .find(function(e){return e.name == "description"})
    .content

Get keywords

<meta content="keyword1 keyword2 keyword2" name="keywords">
Array.from(document.getElementsByTagName("meta"))
    .find(function(e){return e.name == "keywords"})
    .content

Get current date

> var d = new Date() ; (d.getYear() + 1900).toString() + "-" + d.getMonth().toString() + "-" + d.getDay().toString()
"2016-9-4"

Function getDate()

function getDate(){
    var d = new Date();
    return (d.getYear() + 1900).toString() + "-" +
        d.getMonth().toString() + "-" + d.getDay().toString() ;
}

>> getDate()
"2017-3-5"

Url

Get current page URL

document.URL

Redirect current page

window.location.href = "http://www.httpbin.org/get"

Open url in a new tab

window.open("http://www.mdn.org")

URL manipulation

URL Manipulation is useful to send the current URL to some web service or Web App such as Google Drive or Web Archive.

  • Open some page that doesn’t exist anymore in Web Archive:
var baseUrl = "https://web.archive.org/web/*/"
var urlmod  = document.URL
window.location.href = baseUrl + urlmod

Misc

Display alert box (Messagebox)

alert("My message");

Display a prompt

  • The promopt function is useful to read user input and allow user to copy some data.
prompt("Window title", "Content")

Display string in console

console.log(object);
console.log("My message");

Style

Recipes

Generate org-mode Bibliographical Reference

function getDate(){
    var d = new Date()
    return (d.getYear() + 1900).toString() + "-" +
        d.getMonth().toString() + "-" + d.getDay().toString() ;
};


var text = '*' + document.title + '*' + " Accessed at " + getDate() +
    ". Available at <" + document.URL + "> " ;

prompt("Type Ctrl+A and Ctrl+C to copy the markdown", text);

It will generate a reference like this:

- *Overview of Forks, Threads, and Asynchronous I/O* Accessed at 2017-3-5. Available at <http://www.remwebdevelopment.com/blog/overview-of-forks-threads-and-asynchronous-io-133.html> 

Change the page width for better readability

This will set the page width to the width of an A4 ISO paper sheet that makes easier to read long texts in the browser.

document.querySelector("body").style.setProperty("width", "800px")

Invert page color for enhancing reading at night

document.querySelector("body").style.setProperty("color", "white")
document.querySelector("body").style.setProperty("background", "black")

Change page background color

document.querySelector("body").style.setProperty("background", "white")

See also:

Contributors

caiorssNarretz

Issues