Giter Club home page Giter Club logo

scripturetips-browserplugin's Introduction

ScriptureTips Browser Plugin

A browser plugin that scans the page looking for references to scripture and converting those references into URL links that you can click on.

Preview: Settings

ScriptureTips Browser Plugin has two main functions:

Real-time Page Scanning

ScriptureTips Browser Plugin will scan any page you are reading, looking for references to scripture, and it will convert those references into links (if they are not already linked).

Preview: Real-time Mode

This way, you can click on the link to read the scripture, and it saves the time of having to copy/paste, open a new browser window and search for the scripture.

Blog/Post Link Generator

If you are writing content that contains scripture references, you can process that content before you submit it, so that the links get added to the content automatically.

Preview: Content Link Generator

This means that your readers can click on the links without having ScriptureTips installed on their browser, and it saves you the time of having to create each link, Eg:

Preview: Content Link Generator Sample Output

You can use it to generate the links in your posts when blogging or writing on forums.

It supports BB Code, WIKI Markdown and HTML markup languages.

Flexible Configuration

Any site can be excluded by marking the checkbox when you click the extension's button while visiting the website.

Preview: Enable/disable in settings

You can create custom services using reference placeholders in the configuration:

Preview: Customise Services

How to install

In Chrome Extensions menu, enable "Developer Settings" and click the "Load Unpacked" button. Navigate to the chrome folder in the unzipped code that you have downloaded from the Github Project Page.

-or-

Install from the Google Chrome Webstore

Bugs or feature requests, use the Github Issue Tracker.

©2024 - Adonai Reigns <www.adonai-reigns.life>

scripturetips-browserplugin's People

Contributors

antzcode avatar

Watchers

James Cloos avatar

scripturetips-browserplugin's Issues

Better UI for Options screen

It's a messy, confusing screen.

  1. By default, the services should be hidden on the options page, with a button to toggle "Show Advanced Options". That will reduce the confusion for new users, so they can easily see simple options to choose the default service and mode.

  2. There is a lot of wasted space around the form elements in the advanced options (Bible Services). Convert the layout into a table, and use a content-editable functionality that will convert the table cells into input fields when clicked.

Changes to options should propagate without page reload

When changing preferences in the options, the user needs to refresh any page that is already open before the generated links are updated.

We need to send a message when options change, and the content script needs to listen for the message, then update all links.

Also, let's implement a cache-breaker in the data-scripture-tips-processed attribute, to keep track of whether our links need to be updated.

So, we first increment and store the cache breaker value (use timestamp of options last update), then any of our links that do not match that cache breaker need to be updated.

Support for Quoran

Need to convert Quoran references to links in the same way as Bible references.

Automatically convert form data before posting

Need to identify common WYSIWYG editors and implement a hook where available, to intercept the user's form submission with a prompt: "Would you like Scripture Tips to automatically convert the references to links?".

The prompt shouldn't show if there are no scripture references in the post.

Also, for other popular services:

Facebook.
Twitter.
Youtube.
... etc

More powerful options for searching Bible references

The present search methodology is quite restrictive and doesn't catch the variety of shorthand spellings that people use. For example, when a person references the book of Matthew, they might say

Mt 13:12 or Matt 13.12 or Mat. 13:12, or even Matthew 13:12.

Furthermore, sometimes a bible service website will have their own shorthand, as for example BibleHub.com does not support Camel Case, so a text-transform to lowercase is needed in the urls.

  1. A CSV upload and processing feature:

First column is the official book name that is used in the generated urls. Any subsequent column on that row is a valid name that maps to that name. Eg:

Matthew,Mt,Mt.,mt,mt.,matt,matt.,Matt,Matt.
Songs,Songs of Solomon,Songs Of Solomon,songs of solomon,sos,SoS,SOS,songs,sgs

There should be one master CSV record, that is used for all services, and the user should be able to download, edit and upload that file.

Each service must also allow a custom CSV to be used in preference to the master CSV.

Note: no locale-specific functionality is required in this feature. If a user wishes to match Matthew in Spanish as Mateo, they can achieve that by adding Mateo and mateo to the spreadsheet. If the website service they are using requires Mateo, then it should be spelled that way in the first column of the spreadsheet and Matthew should be placed in another cell on that row.

Create a comprehensive CSV as a starting point, that is permanently bundled in the extension and is processed as an upload to the master CSV record when the extension is installed.

  1. Update the search algorithm to support period (.) separator or colon (:) separator, where presently it will only match a colon pattern. Eg:

Matthew 13.12 will not match, but it should, and Matthew 13:12 does match, as it should.

Not working on div text where the div contains child nodes

The configuration specifies that all divs that have no child nodes should be processed. This is intended to prevent recursive processing, but it is causing the text content of a div to not be procesed at all, when that div contains child nodes.

Need to change the configuration to operate on divs that contain no child divs, even if that div contains other child nodes.

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.