When you have a list of URL stored in columnar and want to import to your browser like Chrome, it is painful to do it one by one. So I created a script in R to automate this process by converting a csv or any separator separated file to an HTML file for bookmark import.
Here is the code:
</pre>
library(gdata)
add_link <- function(name, urllink){
current_time <- as.integer(as.POSIXct(Sys.time()))
modified_time <- as.integer(as.POSIXct(Sys.time()))
tag_list <- c("<DT><A>", trimws(as.character(name)), "</A>")
A_tag <- paste(tag_list, sep='', collapse = '')
return(A_tag)
}
add_bookmark_folder <- function(foldername){
tag_list <- c("<DT><H3>",
foldername,"</H3>")
return(paste(tag_list, sep='', collapse=''))
}
## change the following two lines for your use.
bookmark_textfile = "bookmark.txt" # input file
fileOutput <- "bookmart_import.html" # output file
bookmark_text = read.table(bookmark_textfile, sep = '|')
colnames(bookmark_text) <- c("name","url")
header_string <- paste('
<!-- This is an automatically generated file.
It will be read and overwritten.
DO NOT EDIT! -->
Bookmarks
<H1>Bookmarks</H1>
<DL>', add_bookmark_folder('DSAT'),
'<DL>', sep='\n', collapse='')
end_string <- '
</DL>
</DL>
'
# write strings to html file
write(header_string, fileOutput)
# DSat
for (i in 1:(dim(bookmark_text)[1] - 1)){
name <- bookmark_text$name[i]
urllink <- bookmark_text$url[i]
#print(add_link(name,urllink))
write(add_link(name, urllink), fileOutput, append=TRUE)
}
write(' </DL>', fileOutput, append=TRUE)
# dev folder
dev_folder <- paste(c(add_bookmark_folder('DEV'), '<DL>'), sep = '\n', collapse = '\n')
write(dev_folder, fileOutput, append=TRUE)
devIndex <- dim(bookmark_text)[1] - 1
for (i in devIndex:dim(bookmark_text)[1]){
name <- bookmark_text$name[i]
urllink <- bookmark_text$url[i]
print(add_link(name,urllink))
write(add_link(name,urllink), fileOutput, append=TRUE)
}
write(end_string, fileOutput, append=TRUE)
print("bookmark import file successfully completed. ")
<pre>