Skip to content

caiorss/bookmarklet-maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bookmarklet Maker

Bookmarklet Maker

Overviiew

Bookmarklet maker is a small web app to create bookmarklet or small executable Javascript apps to peform browser aumtomation 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.yandex.com")

URL manipulation

URL Manipulation is useful to send the current URL to some web service or Web App such as Google Driver 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
  • Open a file google Driver.

Example URL: https://drive.google.com/viewerng/viewer?url=lampwww.epfl.ch/~hmiller/scala2014/proceedings/p51-prokopec.pdf

var baseUrl = "http://lampwww.epfl.ch/~hmiller/scala2014/proceedings/p51-prokopec.pdf"
var urlmod = "https://drive.google.com/viewerng/viewer?url=" + baseUrl
window.open(urlmod)

Open current page (PDF document in Google Driver).

window.open("https://drive.google.com/viewerng/viewer?url=" + document.URL);

Open a prompt showing Google driver URL to current document. Useful to create short URL in services like tiny URL and view document in Tablets or Smartphones.

prompt("Google driver URL:", "https://drive.google.com/viewerng/viewer?url=" + document.URL);

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:

Releases

No releases published

Packages

No packages published

Languages