Giter Club home page Giter Club logo

furiganamaker's Introduction

furiganamaker's People

Contributors

aiktb avatar dependabot[bot] avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

furiganamaker's Issues

Hot key to turn on-off / dymantic space adjustment

Is your feature request related to a problem? Please describe.

To put (or prepare to put) hiragana, when this extension is turned on, it will create spaces between words (Kanji)
Even it is under on-hover mode, we can see the layout of the contents changed, as the below pictures showed
Sometimes these spaces between words cause a little inconvenience in reading
image
image

I tried to set hot-key, but it actually is not "turn on-off" Furigana, but call (pop-up) menu.
image

Describe the solution you'd like

I would like to ask if it is possible to have a hot-key to "turn on-off" Furigana,
that can make the reader to switch between "normal layout" (easier to read) and "show Hiragana"?
Or, it does not pre-leave space to put Hiragana, but create space "dynamically" when on-hover (in hover mode)?

image

Hope my description is not confusing.

Describe alternatives you've considered

No response

Additional context

No response

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Invalid JSON format anyway

Describe the bug

I tried to 1. modify one item 2. remove all rules 3. just save with the original rules,
it warns me JSON is invalid (and unable to save).

image
image
image

Reproduction

  1. modify the rule,
    from [{"domain": "twitter.com","selector": "div[lang='ja'] span","dynamic": true,"enabled": true},
    to [{"domain": "twitter.com","selector": "div[lang='ja'] span","dynamic": true,"enabled": FALSE}, ...
    โ†’ Invalid JSON

  2. remove all contents in the rule box
    โ†’ Invalid JSON

  3. undo all steps by 2 times ctrl+Z
    โ†’ Invalid JSON

Expected behavior

Clear the rule

Browser

Edge

System Info

No response

Additional context

No response

Validations

perf: causes the browser to become unresponsive on pages containing a large number of kanji

Describe the bug

Vicious bugs extremely seriously affect the user experience and must be fixed.

Reproduction

Example Site

Expected behavior

The browser will not become unresponsive.

Browser

Chrome

System Info

System:
    OS: Windows 11 10.0.22621
    CPU: (12) x64 AMD Ryzen 5 5600U with Radeon Graphics
    Memory: 2.61 GB / 13.86 GB
  Binaries:
    Node: 20.6.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files\nodejs\yarn.CMD
    npm: 10.2.0 - C:\Program Files\nodejs\npm.CMD
    pnpm: 8.12.1 - ~\AppData\Local\pnpm\pnpm.CMD
  Browsers:
    Edge: Chromium (120.0.2210.121)
    Internet Explorer: 11.0.22621.1

Validations

Auto detects Japanese pages and adds furigana to them.

Is your feature request related to a problem? Please describe.

This issue is used to track the progress of feature implementation in the comments following.
image

Describe the solution you'd like

Nothing

Describe alternatives you've considered

No response

Additional context

No response

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Translate / Vocab Feature

Is your feature request related to a problem? Please describe.

Thank you for creating this extension first.

While looking for a furigana extension, I found x6ud and your extension.
https://github.com/x6ud/auto-furigana-chrome-extension and your extension

For me as someone with very very basic Japanese knowledge, an ideal furigana extension will be one that

  1. autodetects
  2. vocab feature - for users to translate any words (via word segmentation like with kuromoji) through any manner
  3. display furigana for Kanji and in Hiragana / katakana and not romaji.

Describe the solution you'd like

Translation / Vocab feature for words using word segmentisation like auto-furigana to allow users to hover over words and understand the meaning of certain kanji. It would be even better if it is available for all Japanese words and not just kanji.

Describe alternatives you've considered

No response

Additional context

No response

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

The `ColorPicker` component does not represent the HSV/HSL color space correctly.

Describe the bug

QQ2024214-16129-HD.mp4

Reproduction

Unnecessary.

Expected behavior

QQ2024214-16449-HD.mp4

Browser

Chrome

System Info

No response

Additional context

This is confirmed to be a TinyColor bug:

> tinycolor({h: 100, s: 0,v: 10}).toHsv()
> {h: 0, s: 0, v: 10}

This results in a serious loss of hue accuracy.
The solution is to use another color space conversion library, which requires correct handling of the following values:

  • named-color
  • "currentColor"
  • HSV
  • HSL

Validations

Add option for "Always Show" with "Gap"/more space.

Is your feature request related to a problem? Please describe.

I was testing out all the options to find something comfortable to read - as I have very poor eyesight and dyslexia - I was trying out the other options under the section with "Always Show" and "Hover".

I like the extra space that the "Hover Gap" option had for the kanji between sentence lines compared to it's 'no gap' counterpart but I would still like to see the furigana above the kanji with a little bit extra space.

With just the current "Always Show" option, it squishes the characters a little too much together for someone with bad vision/disability. Sometimes the page loads in such a way that the characters even overlap which makes it even more difficult to understand.

(Image showing the option section I'm talking about.)
image_2024-05-21_045905492

(Image of the overlapping kanji and furigana on the front page of JP wiki as example.)
image_2024-05-21_050331674

Describe the solution you'd like

I'd like it if there could be an added option for an "Always Show" to have more space between the lines to adjust for the added characters. Even if it's only a few pixels worth, just to make it more readable for those with vision disabilities. Maybe called "Always Show with Gap" or something similar.

(Made a little mock-up of what I mean.)
Screenshot 2024-05-21 051924

Describe alternatives you've considered

The only other option that I can think of is adding the furigana after text in parentheses rather than over the top but that doesn't always work with webpage formats.. I've seen other extension trying something like this and color code the furigana but I never got them to work.

Additional context

Um, the only other thing that I could think of is that if there is an ability to have/import different fonts from something free like Google Font. Sometimes it makes it easier to read the text than with the default fonts, in terms of the disability issue.

Thank you for your time and consideration!~ orz

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

When adding furigana to the Vue SPA link elements, on-site routing can't be prevented.

Describe the bug

As title.

Reproduction

https://ja.vuejs.org/guide/introduction.html

Use the Popup or content menu's "Add furigana" function to click on a link on the page.
Note that on-site links behave differently than off-site links.

Expected behavior

Prevent the link's routing.

Browser

Chrome

System Info

No response

Additional context

This involves some internal details of vue-router, for which event.preventDefault will not work.

Validations

Supports N4 levels of kanji filters.

Is your feature request related to a problem? Please describe.

Currently this extension only supports N5 level kanji filters.
The N5 level still has many common Chinese characters that are not covered, and it needs to be expanded to a higher level.

Describe the solution you'd like

Supports N4/N3/N2 levels of kanji filters.
Provide a filter level switcher on the options page.

Describe alternatives you've considered

Just the corresponding JSON file is required.

This file needs to conform to the following format:

interface FilterRule {
  kanji: string;
  reading: string[];
}

filter.json as {
  N2: FilterRule[];
  N3: FilterRule[];
  N4: FilterRule[];
  N5: FilterRule[];
};

Additional context

Planning to extract this information from the JTPL sensei website requires writing a script.

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Reduce FOUC(Flash of unstyled content) caused by network-loaded icons.

Is your feature request related to a problem? Please describe.

Currently, this extension uses the @iconify/react dependency, a library that loads icons on-demand from the web, generates a noticeable FOUC on first load, and subsequently loads them via cache.

Through research, this library can be replaced by @egoist/tailwindcss-icon and all icons are local with no FOUCs, which is great!

Describe the solution you'd like

No FOUC.

Describe alternatives you've considered

Migrated from @iconify/react to @egoist/tailwindcss-icon.

Additional context

No response

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update dependency @tailwindcss/typography to v0.5.14
  • chore(deps): update dependency react-i18next to v15.0.1
  • chore(deps): update dependency tailwindcss to v3.4.9
  • chore(deps): update dependency @commitlint/cli to v19.4.0
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/ci.yml
  • actions/checkout v4
  • pnpm/action-setup v4
  • actions/setup-node v4
  • actions/upload-artifact v4
.github/workflows/deploy.yml
  • actions/checkout v4
  • pnpm/action-setup v4
  • actions/setup-node v4
  • cloudflare/wrangler-action v3
.github/workflows/link.yml
  • actions/checkout v4
  • lycheeverse/lychee-action v1.10.0
.github/workflows/release.yml
  • actions/checkout v4
  • actions/create-release v1
  • actions/checkout v4
  • pnpm/action-setup v4
  • actions/setup-node v4
npm
package.json
  • @ctrl/tinycolor ^4.1.0
  • @floating-ui/react ^0.26.20
  • @headlessui/react ^2.1.2
  • @js-temporal/polyfill ^0.4.4
  • @sglkc/kuromoji ^1.1.0
  • @webext-core/messaging ^1.4.0
  • file-saver ^2.0.5
  • i18next ^23.12.2
  • react 18.3.0-canary-c5b937576-20231219
  • react-dom 18.3.0-canary-c5b937576-20231219
  • react-i18next ^15.0.0
  • react-markdown ^9.0.1
  • react-router-dom ^6.25.1
  • react-share ^5.1.0
  • wanakana ^5.3.1
  • zod ^3.23.8
  • @biomejs/biome ^1.8.3
  • @commitlint/cli ^19.3.0
  • @commitlint/config-conventional ^19.2.2
  • @commitlint/types ^19.0.3
  • @egoist/tailwindcss-icons ^1.8.1
  • @headlessui/tailwindcss ^0.2.1
  • @playwright/test ^1.45.3
  • @tailwindcss/forms ^0.5.7
  • @tailwindcss/typography ^0.5.13
  • @types/chrome ^0.0.269
  • @types/file-saver ^2.0.7
  • @types/node ^20.14.12
  • @types/react ^18.3.3
  • @types/react-dom ^18.3.0
  • @wxt-dev/module-react ^1.1.0
  • autoprefixer ^10.4.19
  • husky ^9.1.3
  • kuromojin ^3.0.0
  • sharp ^0.33.4
  • tailwindcss ^3.4.7
  • typescript ^5.5.4
  • vite-plugin-svgr ^4.2.0
  • vitest ^2.0.4
  • wxt ^0.19.1-alpha1
  • node >=20.15.0
  • pnpm 9.6.0
nvm
.nvmrc
  • node 20.16.0

  • Check this box to trigger a request for Renovate to run again on this repository

Unable to submit to Edge: "error: The uploaded package consists of a compressed file."

Describe the bug

Submissions could be submitted normally before January 15, 2024, but now Edge review has suddenly added the requirement that uploaded zip files are not allowed to contain compressed files.
The third-party library kuromoji.js used by this extension relies on some local *.dat.gz files. The gz files are compressed files, which prevents the extension from being submitted to Edge.

Reproduction

Unnecessary.

Expected behavior

Add a fork of kuromoji.js to upload to NPM and reference it in this project so that it accepts *.dat files instead of *.dat.gz files.

Browser

Chrome

System Info

No response

Additional context

Link to microsoft/MicrosoftEdge-Extensions#135

Validations

Firefox support: wait MV3

Is your feature request related to a problem? Please describe.

Discontinued maintenance of firefox version as of version 2.0.0, which means that the latest version of firefox Furigana Maker will be 1.6.1, which will keep the default addition of furigana functionality for X.

The main reason for this is that firefox currently has poor MV3 support, Service Worker missing in firefox MV3, which causes me to have to use firefox MV2, which is too much different code and causes me to have to test both browsers.

It adds a lot of maintenance costs.

Describe the solution you'd like

I will try to add it again when firefox MV3 is fully supported.

Describe alternatives you've considered

No response

Additional context

No response

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Add rule change alerts on extension updates.

Is your feature request related to a problem? Please describe.

For example, when twitter.com migrates to x.com, what should be done to update the old rules and prevent conflicts?

Describe the solution you'd like

One possible solution is to add a dialog to options.html that lets users choose whether they want to import new rules or delete outdated ones, etc.
The callback to open the options page and pop up the dialog should be registered in the event listener that the extension update.

Describe alternatives you've considered

No response

Additional context

Important

If the user updates more than one version at a time, the changes from these versions should be merged and shown to the user.

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Provide an "active" flag for the extension icon of the website that is in the custom rule list.

Is your feature request related to a problem? Please describe.

A small green or blue dot is used for flag.

This requires adding a new "action" permission to the manifest.

When the content script determines whether the current page matches the custom rule, use tabs.query to query the currentTab id and pass it to action.setBadgeBackgroundColor to set the badge.

If the content script does not have action API access, move it to a service worker.

This also requires action.setTitle() to provide some more useful information.

Describe the solution you'd like

Like this:

image

Describe alternatives you've considered

No response

Additional context

No response

Validations

  • Check if you're on the latest Furigana Maker version.
  • Follow our Code of Conduct
  • Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.
  • I would like to implement this feature via a PR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.