All Projects → shuowu → Yi Note

shuowu / Yi Note

Licence: gpl-3.0
YiNote browser extension - online video note taking tool

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Yi Note

Blocktube
YouTube™ content blocker
Stars: ✭ 186 (+93.75%)
Mutual labels:  youtube, chrome-extension, firefox-addon
Simplified Twitter
Remove distractions from the new Twitter layout. Extension for Chrome, Firefox, Safari, Edge & More
Stars: ✭ 111 (+15.63%)
Mutual labels:  productivity, chrome-extension, firefox-addon
Floccus
☁️ Sync your bookmarks privately across browsers
Stars: ✭ 2,630 (+2639.58%)
Mutual labels:  bookmarks, chrome-extension, firefox-addon
Yt Ad Autoskipper
A browser extension that automates skipping ad on Youtube. This is not an ad blocker, it just automates the process of clicking on the "Skip Ad" button on Youtube.
Stars: ✭ 127 (+32.29%)
Mutual labels:  youtube, chrome-extension, firefox-addon
Darkness
Dark Themes for Popular Websites
Stars: ✭ 467 (+386.46%)
Mutual labels:  youtube, chrome-extension, firefox-addon
Timimi
Webextension to save Tiddlywiki
Stars: ✭ 129 (+34.38%)
Mutual labels:  note-taking, chrome-extension, firefox-addon
Youtube time tracker
Chrome Extension that tracks time you spent on Youtube.
Stars: ✭ 84 (-12.5%)
Mutual labels:  productivity, youtube, chrome-extension
Daily
Building the homepage every developer deserves 👩🏽‍💻 👨‍💻
Stars: ✭ 4,632 (+4725%)
Mutual labels:  productivity, chrome-extension, firefox-addon
Fake Filler Extension
A browser extension for Chrome, Edge and Firefox that fills dummy text in all input fields in a page.
Stars: ✭ 383 (+298.96%)
Mutual labels:  productivity, chrome-extension, firefox-addon
Nb
CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.
Stars: ✭ 3,846 (+3906.25%)
Mutual labels:  productivity, note-taking, bookmarks
Gata
Bookmarks made better
Stars: ✭ 17 (-82.29%)
Mutual labels:  productivity, bookmarks, chrome-extension
Web Search Navigator
Chrome/Firefox extension that adds keyboard shortcuts to Google, YouTube, Github, Amazon, and others
Stars: ✭ 532 (+454.17%)
Mutual labels:  youtube, chrome-extension, firefox-addon
Youtube Extension
🔴YouTube Extension🧰>80 Features ⭐Please document, code or donate📌Tidy📌Longest-standing(2012)(Users>350000)⋮🎞️🎛️🎧⚙️🎬🔊☕🎨🧩🧪📈⏯️(Player: Repeat Screenshot Rotate; Hide related video distraction. Always expand video Description. Playback speed. Video Quality bandwidth H.264 electricity. Player Size Full Window. Themes Customization. Statistics. Reverse Playlist YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube YouTube Youtube enhancer YouTube app YouTube video YouTube YouTube YouTube api v3 YouTube playback YouTube player VP8 VP9 AV1 vidIQ tubebuddy download adblocker adblock ads sponsorblock addon youtube music ⭐ youtube premium css css4 html5 ytdl youtube-dl invidious iridium ParticleCore youtube+ youtube++ youtube-plus maia-yt youtube nonstop youtube control center vlogger vlog h264ify h264 m.youtube.com music.youtube.com studio.youtube youtube mobile youtube studio ⭐ kids Vanced gaming.youtube.com gaming youtubecenter freetube lite-youtube-embed newpipe youtube-dl-gui mps-youtube nuclear pytube awesome youtubers youtube downloader 8k 4k 60fps 30fps youtubeexplode vidgear k-lite tubebuddy adobe apple ios iphone design simplify ffmpeg premiere designer annoyance youtube upload
Stars: ✭ 1,027 (+969.79%)
Mutual labels:  youtube, chrome-extension, firefox-addon
The Tab Of Words
A minimal Chrome / Firefox extension to help you learn Japanese words in each new tab.
Stars: ✭ 94 (-2.08%)
Mutual labels:  chrome-extension, firefox-addon
Vbookmarks
A successor of Neat Bookmarks.
Stars: ✭ 61 (-36.46%)
Mutual labels:  bookmarks, chrome-extension
Ccfrank4dblp
Displays the China Computer Federation (CCF) recommended rank of international conferences and journals in the dblp and Google Scholar search results.
Stars: ✭ 62 (-35.42%)
Mutual labels:  chrome-extension, firefox-addon
Floating Player
Floating Player is a Google Chrome extension to watch videos while you browse the internet
Stars: ✭ 77 (-19.79%)
Mutual labels:  youtube, chrome-extension
Notemarks
A git based labeling app to manage notes, documents, and bookmarks.
Stars: ✭ 61 (-36.46%)
Mutual labels:  note-taking, bookmarks
Awsconsolerecorder
Records actions made in the AWS Management Console and outputs the equivalent CLI/SDK commands and CloudFormation/Terraform templates.
Stars: ✭ 1,152 (+1100%)
Mutual labels:  chrome-extension, firefox-addon
Carbonalyser
The add-on "Carbonalyser" allows to visualize the electricity consumption and greenhouse gases (GHG) emissions that your Internet browsing leads to.
Stars: ✭ 98 (+2.08%)
Mutual labels:  chrome-extension, firefox-addon

YiNote Browser Extension

YiNote, aka TurboNote Chrome Extension, is an effective tool to take and share notes while watching online videos.

Installation

Table of Contents

Introduction

Purpose and history

YiNote, aka TurboNote chrome extension, is developed to help online learner and video editor to bookmark thoughts and ideas in a fine-grained way while working or learning with online materials. It was developed in 2016 as a side project, and luckily loved by thousands users all around the world.

During the COVID-19 pandemic, I rewrote the extension in a more scalable and maintainable approach. Hopefully it can fill the needs from different users, and boost your learning experience to next level.

Features

  • Take time-stamped note while watching online video, currently supported video formats/platform:
    • Youtube video
    • Embedded youtube iframe video
    • HTML5 video
    • Local video via browser
  • Send notes to popular note platforms
    • Google Docs
    • MS OneNote
    • Evernote
  • Support markdown styling in editor
  • Generate PDF with video screenshot
  • Annotate screenshot
  • Bookmark video
  • Tag bookmarks
  • Search through bookmarks and notes
  • Export and import of data

Get started

How to use

There are serveral options to use this extension:

  • Install extension from web stores

    Please see Installation section to install extension from official platform stores. If you are user before v1.0.0, please checkout Migrations Guide for more information.

  • Build and install extension locally

    You can also build the extension, then run it locally. Please see Development for more information.

Development

Prerequisite

Suggested environment:

  • Node >= 10.0.0
  • NPM >= 6.0.0
Install dependencies

For NPM v6 or above:

npm ci

For NPM before v6

npm install
Start development

YiNote leverages Lerna to manage the monorepo.

Please run npm run bootstrap to setup dependecies for each sub_modules before start.

Then run npm start will start both extension and playground in development mode.

For content script change, you need to reload the extension in chrome://extensions tab.

For background and options changes, just refresh the page should be able to load the changes.

playground mode is also provided to easy content script development. This mode simulates content script to inject UI widget in page served from webpack dev server

For more information about how to develop browser extensions, please refer to Chrome extension get started

About the project

Project components

This extension inject content script to display UI widget and interact with host page.

Background Scripts is used for message handling and handling data migrations.

Options page is provided to give more webpage real estate for data management and configuring settings.

YiNote store data in browser.storage on user's local device.

Tech stack

Thanks for the open source community. YiNote depends on lots of awesome open source modules. In the following part, I'll only list part of them to share base knowledge of the how this project is built.

Browser support

YiNote leverages mozilla's Web extension polyfill to achieve better support for Chrome, Firefox and other Chrome-compatible browsers. For detailed support informarion, please see Supported Browsers

Contribute

As a community

As a developer

Please read the Contribution Guide

Translate YiNote

YiNote only supports English currently, please help translate YiNote to make it accessible to more users. To translate please follow the English message json file and translate the content in message field into other languages. For detailed information, please follow this Browser extension i18n doc

All kinds of contributions from anyone are always welcomed!

Support YiNote in your website

If you have a video website and want to make it work with YiNote, but unfortunately YiNote is not able to properly detect video on your website. There are serveral options you can try.

  • Add a new Player to YiNote by following this pull request

  • Add player hook in your website.

    1. Add data attribute, [data-yinote="yinote-hook-player"], to your video element. So YiNote can properly locate your video element.
    2. Add message listener to watch on video action messages from YiNote.
    window.addEventListener('message', event => {
      const { data } = event;
      if (data.from !== 'yi-note') {
        return;
      }
    
      switch (data.action) {
        case 'play':
          // handle play video
          return;
        case 'pause':
          // handle pause video
          return;
        case 'seek':
          // get secondsToSeek from data.data
          // then seek to certain time with your player
          return;
        case 'getCurrentTime':
          // get current time from your player, then
          window.postMessage({ ...data, data: $currentTime }, *);
          return;
        case 'getDuration':
          // get duration from your player, then
          window.postMessage({ ...data, data: $duration }, *);
          return;
      }
    }, false);
    

Roadmap

  • (Done) Integration with popular note / document platforms, like Evernote, onenote, google doc.

  • (Done) Sync notes from mooc platforms

  • Web article annotation

  • Cloud support

  • Fine grained note sharing

  • Multiple devices support (Desktop browser, mobile devices)

FAQs

How to share notes with others?

  • YiNote can send notes to Evernote, MS OneNote, Google Docs since v1.2.0. You can firstly send notes to one of the supported services, then generate share link from there.
  • You can also export notes as JSON file in options page, then send the exported JSON file out. Whoever get the exported file can then import it via options page.

What should I prepare if I decide not to use YiNote extension any more?

YiNote save users data in chrome local storage (per extension), which means delete the extension will also erase saved notes from your browser. YiNote provides a backup strategy in options page to export local data into a json file. Please make sure you backup your data before delete the extension. Cloud support will be provided in the future to achieve better sync and backup.

Why I bookmarked same title and thumbnail for different videos on Youtube?

Youtube don't update page metas, like title and thumbnails, when video changed in page. So reload page is needed to make sure YiNote can capture proper metadata for the video. YiNote also enabled settings in options page to enable auto reload when video change. Page domain, like www.youtube.com, need to be added when enable this setting. YiNote only applys reload behaviour to listed domains in the settings page.

License

Copyright (c) 2016 - 2020

Licensed under the GUN GPL3.0 License. View license

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].