{"id":13478665,"url":"https://github.com/kal247/App-bookmarks","last_synced_at":"2025-03-27T08:30:51.619Z","repository":{"id":56841193,"uuid":"152914221","full_name":"kal247/App-bookmarks","owner":"kal247","description":"Export browser bookmarks as plain text.","archived":false,"fork":false,"pushed_at":"2025-01-01T18:33:21.000Z","size":239,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T18:49:16.847Z","etag":null,"topics":["bookmarks","browser","cli","cross-platform","terminal"],"latest_commit_sha":null,"homepage":"https://metacpan.org/dist/App-bookmarks","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kal247.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-13T21:02:33.000Z","updated_at":"2025-01-01T18:33:24.000Z","dependencies_parsed_at":"2024-10-30T12:43:17.535Z","dependency_job_id":null,"html_url":"https://github.com/kal247/App-bookmarks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kal247%2FApp-bookmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kal247%2FApp-bookmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kal247%2FApp-bookmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kal247%2FApp-bookmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kal247","download_url":"https://codeload.github.com/kal247/App-bookmarks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245809655,"owners_count":20676028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmarks","browser","cli","cross-platform","terminal"],"created_at":"2024-07-31T16:02:00.245Z","updated_at":"2025-03-27T08:30:51.607Z","avatar_url":"https://github.com/kal247.png","language":"Perl","funding_links":[],"categories":["Perl"],"sub_categories":[],"readme":"bookmarks - Export bookmarks from browsers and files\n====================================================\n\nSYNOPSIS\n--------\n\n    $ bookmarks [-hVda] [-f format] [file ...]\n\n    -h, --help      help\n    -V, --version   version\n    -d              debug (sent to STDERR)\n    -a              all : process arguments and default locations\n    -f format       export format : csv, csv-noheader, html, html-raw,\n                    or any combination of characters t,u,d as\n                    \u003ctitle\u003e \u003curl\u003e \u003cdescription\u003e (default : tud)\n    -s              find schemeless URLs in text files (default : no)\n\n\nDESCRIPTION\n-----------\n\n`bookmarks` is a tool to export bookmarks from files supplied as arguments. Without arguments, or with option `-a`, `bookmarks` will attempt to read files from browsers default locations. If file is a dash \"-\", STDIN is read and processed as plain text source. \n\nSupported sources :\n\n- Safari (_*.plist_)\n- Firefox (_*.sqlite_)\n- Chrome and Edge (_*Bookmarks_)\n- Internet Explorer (_*Favorites_)\n- Netscape Bookmarks File Format (_*.html_)\n- Markdown (_*.md_)\n- Gemini (_*.gmi_)\n- Surfraw (same as plain text)\n- Plain text (any other extension)\n\nSupported fields :\n\n- `\u003ctitle\u003e` is the name, alias or title.\n- `\u003curl\u003e` is the address, URL or URI.\n- `\u003cdescription\u003e` is only supported for Safari 'Description', Firefox 'Tags' and Markdown 'Title' (just the tooltip, actually).\n\nMarkdown, Gemini and plain text files are processed line by line (as UTF-8) :\n```\n  [markdown example](http://example.md/ \"with description\")\n  =\u003e gemini://example.gmi gemini example\n  plain text example http://example.txt with description\n```\n\nOutput format :\n\nBy default, fields `\u003ctitle\u003e` `\u003curl\u003e` `\u003cdescription\u003e` are exported as plain text. This can be changed by using option `-f` and specifying any combination of characters t,u,d.\nOther possible values :\n\n- `csv` : Comma-separated values with double-quotes and CR NL (RFC 4180).\n- `csv-noheader` : same as above, without header line.\n- `html` : Netscape Bookmarks File Format.\n- `html-raw` : raw list of HTML \u003cA\u003e elements.\n\n\nSEARCH BOOKMARKS INTERACTIVELY FROM CLI\n---------------------------------------\n\nThis tool can be used to search, select and open bookmarks interactively from your terminal. The following instructions are for macOS.\n\n![](tty.png)\n\nInstall the wonderful [fzf](https://github.com/junegunn/fzf) (available in [Homebrew](https://brew.sh)), [URI::Find](https://github.com/schwern/URI-Find) (CPAN), [App::uricolor](https://github.com/kal247/App-uricolor) (CPAN), and add these aliases to your shell :\n\n**Open link(s) with default application :**\n```\nalias lk=\"bookmarks | uricolor | fzf --ansi --exact --multi | urifind | xargs open\"\n```\n\n- `uricolor` colorizes URIs to distinguish them from title and description.\n- `fzf` is a fuzzy finder : use TAB for multiple selection, press ENTER to confirm, or ESC to cancel.\n- `urifind` extracts all URIs. Try `uricolor -s` and `urifind --schemeless` to find schemeless URLs.\n- Selected URIs will open with your default browser or application.\n- Since `open` uses macOS _Launch Services_ to determine which program to run, most common schemes such as `ftp://` or `ssh://` are automatically recognized.\n\nN.B. On Windows, I use [busybox-w32](https://frippery.org/busybox/) and a file `lk.bat` containing : \n```\n@echo off\n\nbookmarks | uricolor | fzf --ansi --exact --multi | urifind | busybox xargs -n1 cmd /c start \"\"\n````\n\n**Copy link(s) to clipboard :**\n```\nalias lkc=\"bookmarks | uricolor | fzf --ansi --exact --multi | urifind | pbcopy\"\n```\n\n\nCHECK LINKS STATUS\n------------------\n\nThese examples use the tool _http_status_ provided by [HTTP::SimpleLinkChecker](https://metacpan.org/pod/HTTP::SimpleLinkChecker) (CPAN).\n\n**Check links and show status :**\n```\nbookmarks -f u | xargs http_status\n```\n\n**Show only broken links (parallel) :**\n```\nbookmarks -f u | xargs -n10 -P16 http_status 2\u003e/dev/null | perl -ne 'print if not /200$/'\n```\n\n\nINSTALLATION\n------------\n\nTo install this module automatically from CPAN :\n\n    cpan App::bookmarks\n\nTo install this module automatically from Git repository :\n\n    cpanm https://github.com/kal247/App-bookmarks.git\n\nTo install this module manually, run the following commands :\n\n    perl Makefile.PL\n    make     \n    make test\n    make install\n\n\nPREREQUISITES\n-------------\n\nAll are optional.\n\n- Safari : macOS\n- Firefox : DBI, DBD::SQLite\n- Chrome : File::Slurper, JSON\n- Internet Explorer : Config::Any, Config::Tiny, Win32\n- Netscape : Netscape::Bookmarks\n- Plain text : URI::Find\n\n\nSUPPORT AND DOCUMENTATION\n-------------------------\n\nAfter installing, you can find documentation for this module with the `perldoc` command :\n\n    perldoc bookmarks\n\nYou can also look for information at :\n\n- CPAN\n\n    [https://metacpan.org/release/App-bookmarks](https://metacpan.org/release/App-bookmarks)\n\n- GITHUB\n\n    [https://github.com/kal247/App-bookmarks](https://github.com/kal247/App-bookmarks)\n\n\nLICENSE AND COPYRIGHT\n---------------------\n\nThis software is Copyright (c) 2019-2025 by jul.\n\nThis is free software, licensed under:\n\n    The Artistic License 2.0 (GPL Compatible)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkal247%2FApp-bookmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkal247%2FApp-bookmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkal247%2FApp-bookmarks/lists"}