All Projects → azu → asocial-bookmark

azu / asocial-bookmark

Licence: MIT License
Personal Bookmark System.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to asocial-bookmark

YouP3
Android app for downloading media from YouTube with 4K Support (Beta)
Stars: ✭ 51 (+183.33%)
Mutual labels:  bookmark
node-bookmarks-parser
Parses Firefox/Chrome HTML bookmarks files
Stars: ✭ 44 (+144.44%)
Mutual labels:  bookmark
atom-file-bookmark
Bookmark files in your project for quick access
Stars: ✭ 16 (-11.11%)
Mutual labels:  bookmark
browse-manager
Chrome扩展,网址/域名拉黑,访问次数统计、提示,自动收藏。等
Stars: ✭ 81 (+350%)
Mutual labels:  bookmark
bookmark-everything
This tool enables you to add bookmarks to your project files so you can reach them easily.
Stars: ✭ 37 (+105.56%)
Mutual labels:  bookmark
browser-bookmarks
Retrieve bookmarks from different browsers.
Stars: ✭ 19 (+5.56%)
Mutual labels:  bookmark
tim
manage issues with order
Stars: ✭ 51 (+183.33%)
Mutual labels:  bookmark
Popup-my-Bookmarks
A browser extension that providing a more efficient way to view and manage your bookmarks menu
Stars: ✭ 88 (+388.89%)
Mutual labels:  bookmark
mdash
⭐️ Lightweight new tab page for Chrome/Firefox, synced with your bookmarks
Stars: ✭ 19 (+5.56%)
Mutual labels:  bookmark
osmosmemo
Turn GitHub into a bookmark manager
Stars: ✭ 120 (+566.67%)
Mutual labels:  bookmark
bookmarks-for-spotify
"Bookmarks for Spotify" allows you to bookmark recently played song or audiobook tracks from Spotify.
Stars: ✭ 22 (+22.22%)
Mutual labels:  bookmark
jumpfs
Jumpfs is a cross-shell bookmarking system for files. folders, urls and shell-comands. It works in PowerShell, Bash, and Cmd.
Stars: ✭ 30 (+66.67%)
Mutual labels:  bookmark
alfred-bookmarks
bookmark search with alfred workflow written in Go
Stars: ✭ 24 (+33.33%)
Mutual labels:  bookmark
pinboard-safariextension
📌 Pinboard Safari extension for bookmarking the current page.
Stars: ✭ 16 (-11.11%)
Mutual labels:  bookmark
search-bookmarks-history-and-tabs
Browser extension to search and navigate browser tabs, local bookmarks and history.
Stars: ✭ 57 (+216.67%)
Mutual labels:  bookmark
awesome-bookmarking
🔖 Everything bookmarking related
Stars: ✭ 56 (+211.11%)
Mutual labels:  bookmark
Coursera-Clone
Coursera clone
Stars: ✭ 48 (+166.67%)
Mutual labels:  bookmark
gobkm
Single user online bookmark manager.
Stars: ✭ 24 (+33.33%)
Mutual labels:  bookmark
WebClipChangeAppLogo
iOS14利用WebClip更换图标,做到无缝启动App
Stars: ✭ 47 (+161.11%)
Mutual labels:  bookmark
popc
Popc manager for vim & neovim
Stars: ✭ 17 (-5.56%)
Mutual labels:  bookmark

asocial-bookmark

Personal bookmark system on GitHub repository.

Features

  • Manage your bookmark on GitHub
  • Update bookmark data via GitHub API
  • Postem integration

Install

Install with npm:

npm install asocial-bookmark

Requirements:

  • ECMAScript 2017+

Usage

GitHub mode.

import { AsocialBookmark } from "asocial-bookmark";

(async () => {
    if (!process.env.GH_TOKEN) {
        throw new Error("Set env GH_TOKEN=xxx");
    }
    const asocialBookmark = new AsocialBookmark({
        github: {
            owner: "azu",
            repo: "mybookmarks",
            ref: "heads/master",
            token: process.env.GH_TOKEN
        }
    });
    const date = new Date();
    const isoDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString();
    await asocialBookmark.updateBookmark({
        title: "example",
        url: "https://example.com",
        content: "description for example",
        date: isoDate,
        tags: ["example"]
    });

    const bookmark = await asocialBookmark.getBookmark({
        url: "https://example.com",
        date: new Date().toUTCString()
    });
    console.log("bookmark", bookmark);
    const tags = await asocialBookmark.getTags();
    console.log("tags", tags);
})();

CLI

RUN following CLI in your bookmark repository.

Migrate はてなブックマーク to asocial-bookmark

$ cd your-bookmarks-repository/
$ migrate-hatenabookmark-to-asocial-bookmark --hatena <user-name>

Create index.json that includes all bookmarks.

$ cd your-bookmarks-repository/
$ asocial-bookmark-create-index

How to create your bookmark repository

WIP: It is complex workflow.

  1. Create your repository.
    • Example: https://github.com/{your}/mybookmarks
  2. Convert existing bookmark like "はてなブックマーク" to asocial-bookmark
  3. Setup CI/CD - Netlify is useful in this case
    • Run $ asocial-bookmark-create-index that create index.json before each deploy
    • Enable CORS for https://<your-bookmark>/index.json
    • All bookmarks: https://<your-bookmark>/index.json
    • All tags: https://<your-bookmark>/tags.json
    • Block bookmarks by month: https://<your-bookmark>/:year/:month/index.json

.netlify.toml in your bookmark repository:

# example netlify.toml
[build]
  command = "asocial-bookmark-create-index"
  functions = "functions"
  publish = "."
  #  status = 200
[[headers]]
  for = "/index.json"
  [headers.values]
    Access-Control-Allow-Origin = "*"
  1. Post bookmark to your repository via postem

src/service.js in postem

const path = require("path");
module.exports = [
    {
        enabled: true,
        name: "twitter",
        indexPath: path.join(__dirname, "services/twitter/index.js")
    },
    {
        enabled: true,
        name: "AsocialBookmark",
        indexPath: path.join(__dirname, "services/asocial-bookmark/index.js")
    }
];
  1. Search Bookmark on はてなブックマーク検索PWA
    • Input https://<your-bookmark>/index.json to "hatena user name"
    • Very Very Hack But Work!
    • Do incremental search!

Related

Changelog

See Releases page.

Running tests

Install devDependencies and Run npm test:

npm test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].