pmachapman / goto.bible Goto Github PK
View Code? Open in Web Editor NEWView and compare Bible Translations in an innovative interlinear format. Run on Windows or Web.
Home Page: https://goto.bible/
License: Other
View and compare Bible Translations in an innovative interlinear format. Run on Windows or Web.
Home Page: https://goto.bible/
License: Other
For example: https://goto.bible/John.13_34-35/ESV
This bible has gone to print recently, so might be a useful addition. See https://berean.bible/licensing.htm
See https://www.greekfontsociety-gfs.gr/typefaces/19th_century
This is the face used in the old BFBS GNT.
It is not available on any API, except maybe DBL. We have a copy of the files from TBS, so a parser will need to be added.
This was omitted when Developer Mode support went live.
If there is room, show the book + chapter reference (condensed).
This is useful, as the Psalms from this translation are used in the BCP, and Psalm 14 has a substantial textual variant.
When you view "Philippians 1:18b-26", only verse 26 is highlighted. Highlighting should start at the start of verse 18, or the first full stop or semicolon.
Compare with 2016 - see if the missing space is a renderer or API feed issue.
A user has requested that we add the notes from the Geneva Bible. This will only work on the Windows app at this time.
Settings should just turn into a cog on the large breakpoint instead of disappearing altogether.
Now that we have Resharper, we should set up the solution to use it correctly.
fail: GoToBible.Web.Server.Controllers.RenderPassageController[0]
URL: http://goto.bible/RenderPassage
Referer: https://goto.bible/Acts.9_1/ACRAEM/ENGEVD
RenderingParameters: {"BackgroundColour":{"R":0,"G":0,"B":0,"A":0,"IsKnownColor":false,"IsEmpty":true,"IsNamedColor":false,"IsSystemColor":false,"Name":"0"},"IsDebug":false,"Font":{"Bold":false,"FamilyName":"Calibri","Italic":false,"SizeInPoints":14.25,"Strikeout":false,"Underline":false},"ForegroundColour":{"R":0,"G":0,"B":0,"A":0,"IsKnownColor":false,"IsEmpty":true,"IsNamedColor":false,"IsSystemColor":false,"Name":"0"},"Format":1,"InterlinearIgnoresCase":true,"InterlinearIgnoresDiacritics":true,"InterlinearIgnoresPunctuation":true,"PassageReference":{"End":"","IsValid":true,"Original":"Acts 9:1","Start":"Acts 9:1"},"PrimaryProvider":"DigitalBiblePlatformApi","PrimaryTranslation":"ACRAEM","RenderItalics":true,"SecondaryProvider":"DigitalBiblePlatformApi","SecondaryTranslation":"ENGEVD"}
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at GoToBible.Providers.DigitalBiblePlatformApi.GetChapterAsync(String translation, String book, Int32 chapterNumber) in D:\source\repos\GoTo.Bible\GoToBible.Providers\DigitalBiblePlatformApi.cs:line 263
at GoToBible.Engine.Renderer.RenderAsync(RenderingParameters parameters, Boolean renderCompleteHtmlPage) in D:\source\repos\GoTo.Bible\GoToBible.Engine\Renderer.cs:line 106
at GoToBible.Web.Server.Controllers.RenderPassageController.Post(RenderingParameters parameters, Boolean renderCompleteHtmlPage) in D:\source\repos\GoTo.Bible\GoToBible.Web\Server\Controllers\RenderPassageController.cs:line 103
We should look into distributing via the Windows Store. This could be done via an MSIX package, and will need to:
Links:
We need a background process to provide monthly statistics reporting via email.
The font is not applied correctly in Safari.
If you open https://goto.bible/John.3_16/SBLGNT/tr1894mr in Incognito Mode, you should be prompted to set the suggested settings.
The Windows app needs a developer mode, set via config or a menu if in Debug mode, so that the current functionality can share a codebase with a API dependent Windows client, suitable for public release.
This will help fast track a public Windows client, and improve code reuse.
The renderer may need to have an interface, so we can have a new ApiRenderer, and we will need to add an ApiProvider, so that the Windows app can talk directly to the API like the Blazor app does.
Deploying the WebView2 via the Microsoft Store is problematic.
We should expose WebView and Webview each via a control (maybe EdgeWebView and LegacyWebview?), and allow these to be selected in developer mode (default to IE).
If Webview2 is not found, then use IE (especially for non-developer mode).
This will open a web browser to the current open translation(s).
This is not a useful feature.
There is an error in the server logs.
We need to remove the reliance on System.Drawing so that we can port this to Kotlin and Swift.
The code in the VB6 RGB application should help for conversion routines between RGB, HTML, and OLE Colour formats.
We only need RGB, not RGBA support, as the OLE colour conversion loses the A, as well as IsSystemColor and IsNamedColor.
The class should be JSON compliant with Color to maintain API compliance, although the .Net object as a JSON object is not pretty: {"r":0,"g":0,"b":0,"a":255,"isKnownColor":true,"isEmpty":false,"isNamedColor":true,"isSystemColor":false,"name":"Black"}
A compatible class might be: {"r":0,"g":0,"b":0}
, although a 255 value will need to be passed if deserialising this to a Color object.
Much like the Windows app so that, for instance, diacritics and case can be ignored if required.
For example, if you are using the ESV, set the resource to the NTA notes, then change to the NTA, the resource panel will not load the notes for the book which has just loaded in the main panel.
See https://goto.bible/Song.of.Solomon.1/ESV. It should not say "She", "He", etc
The current newline handling doesn't work well on Linux servers. We need to change occurrences of \r\n to Environment.NewLine - see in particular https://goto.bible/Acts.8_1/NLT and https://goto.bible/Acts.8_1/SBLGNT/tr1894mr for some bad cases.
This will help for books that have a chapter 0 (introduction), and for the use of PassageReference to parse books without chapters.
To make it easier for language learners, we could have an interlinear romaji or pinyin.
These could be generated using:
The following crash occurs if the program is run form the program files directory. We should have WebView2 create its user data folder in AppData\Local (see also https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/user-data-folder).
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************* Exception Text *************
System.Runtime.InteropServices.COMException (0x800700AA): The requested resource is in use. (0x800700AA)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
at Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateCoreWebView2ControllerAsync(IntPtr ParentWindow)
at Microsoft.Web.WebView2.WinForms.WebView2.InitCoreWebView2Async(CoreWebView2Environment environment)
at GoToBible.Windows.FormMain.InitialiseAsync() in D:\source\repos\GoTo.Bible\GoToBible.Windows\FormMain.cs:line 346
at GoToBible.Windows.FormMain.FormMain_Load(Object sender, EventArgs e) in D:\source\repos\GoTo.Bible\GoToBible.Windows\FormMain.cs:line 262
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_0(Object state)
************* Loaded Assemblies *************
System.Private.CoreLib
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Private.CoreLib.dll
----------------------------------------
GoToBible.Windows
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/Program%20Files/GoTobible/GoToBible.Windows.dll
----------------------------------------
System.Runtime
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 5.0.8.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Windows.Forms.dll
----------------------------------------
System.ComponentModel.Primitives
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.Primitives.dll
----------------------------------------
System.Windows.Forms.Primitives
Assembly Version: 5.0.8.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Windows.Forms.Primitives.dll
----------------------------------------
System.Runtime.InteropServices
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.InteropServices.dll
----------------------------------------
System.Drawing.Primitives
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Drawing.Primitives.dll
----------------------------------------
System.Collections.Specialized
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.Specialized.dll
----------------------------------------
System.Collections
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.dll
----------------------------------------
Microsoft.Web.WebView2.Core
Assembly Version: 1.0.902.49
Win32 Version: 1.0.902.49
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Web.WebView2.Core.dll
----------------------------------------
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/mscorlib.dll
----------------------------------------
System.Diagnostics.Process
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Diagnostics.Process.dll
----------------------------------------
System.Threading
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.dll
----------------------------------------
System.Diagnostics.TraceSource
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Diagnostics.TraceSource.dll
----------------------------------------
GoToBible.Model
Assembly Version: 1.1.1.0
Win32 Version: 1.1.1.0
CodeBase: file:///E:/Program%20Files/GoTobible/GoToBible.Model.dll
----------------------------------------
Microsoft.Extensions.Caching.Memory
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Caching.Memory.dll
----------------------------------------
netstandard
Assembly Version: 2.1.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/netstandard.dll
----------------------------------------
Microsoft.Extensions.Options
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Options.dll
----------------------------------------
Microsoft.Extensions.Caching.Abstractions
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Caching.Abstractions.dll
----------------------------------------
GoToBible.Engine
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/Program%20Files/GoTobible/GoToBible.Engine.dll
----------------------------------------
System.Drawing.Common
Assembly Version: 5.0.0.2
Win32 Version: 5.0.421.11614
CodeBase: file:///E:/Program%20Files/GoTobible/System.Drawing.Common.dll
----------------------------------------
Microsoft.Extensions.Logging.Abstractions
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Logging.Abstractions.dll
----------------------------------------
System.Collections.Concurrent
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.Concurrent.dll
----------------------------------------
Microsoft.Extensions.Primitives
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Extensions.Primitives.dll
----------------------------------------
Microsoft.Win32.Primitives
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Win32.Primitives.dll
----------------------------------------
System.ComponentModel.EventBasedAsync
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.EventBasedAsync.dll
----------------------------------------
System.Threading.Thread
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.Thread.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/Accessibility.dll
----------------------------------------
System.ComponentModel.TypeConverter
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.TypeConverter.dll
----------------------------------------
Microsoft.Web.WebView2.WinForms
Assembly Version: 1.0.902.49
Win32 Version: 1.0.902.49
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Web.WebView2.WinForms.dll
----------------------------------------
Microsoft.Win32.SystemEvents
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/Microsoft.Win32.SystemEvents.dll
----------------------------------------
System.Runtime.Extensions
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.Extensions.dll
----------------------------------------
System.ComponentModel
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.ComponentModel.dll
----------------------------------------
System.Memory
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Memory.dll
----------------------------------------
System.Drawing
Assembly Version: 5.0.8.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Drawing.dll
----------------------------------------
System.Resources.Extensions
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/System.Resources.Extensions.dll
----------------------------------------
System.ObjectModel
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.ObjectModel.dll
----------------------------------------
System.Linq
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Linq.dll
----------------------------------------
System.Buffers
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Buffers.dll
----------------------------------------
System.Private.Uri
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Private.Uri.dll
----------------------------------------
System.Collections.NonGeneric
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.NonGeneric.dll
----------------------------------------
System.Configuration.ConfigurationManager
Assembly Version: 5.0.0.0
Win32 Version: 5.0.20.51904
CodeBase: file:///E:/Program%20Files/GoTobible/System.Configuration.ConfigurationManager.dll
----------------------------------------
System.Security.Cryptography.Algorithms
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Security.Cryptography.Algorithms.dll
----------------------------------------
System.Security.Cryptography.Primitives
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Security.Cryptography.Primitives.dll
----------------------------------------
System.Xml.ReaderWriter
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Xml.ReaderWriter.dll
----------------------------------------
System.Private.Xml
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Private.Xml.dll
----------------------------------------
System.Text.RegularExpressions
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Text.RegularExpressions.dll
----------------------------------------
System.IO.FileSystem
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.IO.FileSystem.dll
----------------------------------------
System.Net.WebClient
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Net.WebClient.dll
----------------------------------------
System.Text.Encoding.Extensions
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Text.Encoding.Extensions.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.dll
----------------------------------------
System.Runtime.Serialization.Formatters
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.Serialization.Formatters.dll
----------------------------------------
System.Xml.XmlSerializer
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Xml.XmlSerializer.dll
----------------------------------------
System.Threading.Tasks
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.Tasks.dll
----------------------------------------
System.Runtime.InteropServices.RuntimeInformation
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Runtime.InteropServices.RuntimeInformation.dll
----------------------------------------
System.Web.HttpUtility
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Web.HttpUtility.dll
----------------------------------------
System.Threading.ThreadPool
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Threading.ThreadPool.dll
----------------------------------------
System.Diagnostics.StackTrace
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Diagnostics.StackTrace.dll
----------------------------------------
System.Reflection.Metadata
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Reflection.Metadata.dll
----------------------------------------
System.Collections.Immutable
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.Collections.Immutable.dll
----------------------------------------
System.IO.MemoryMappedFiles
Assembly Version: 5.0.0.0
Win32 Version: 5.0.821.31504
CodeBase: file:///E:/Program%20Files/GoTobible/System.IO.MemoryMappedFiles.dll
----------------------------------------
************* JIT Debugging *************
The Psalm superscriptions are getting wrecked in interlinear mode. Compare:
If you navigate, for example, to an OT book in a NT only test, the first book in the NT canon should be navigated to.
This should help with confusion.
We need verse highlighting support if someone specifies a verse or range of verse. If a chapter is specified, there should be no highlighting. We will probably need to implement verse range support for this.
When you reopen the site, your settings are lost.
The app should be available as a PWA. Obviously, translations will not be cached locally, but we could cache the rendered chapter, and lock the user input if offline.
There will be a few duplicate texts, so the Web API will need to be de-duplicated.
This is DBP v4. We could replace the DBP Provider?
https://www.faithcomesbyhearing.com/audio-bible-resources/bible-brain
We may need per-language defaults for comparison options. Comparing the SBLGNT to the TR is a mess because of diacritics, and most English speakers shouldn't care if a word had a comma or not when comparing English translations.
This should be able to be done in the Windows app and the Web app. Default to all selected in Windows, English and Greek on web, and maybe Windows as well. If you open a translation on the web that is not in the allowed languages list, then automatically add that language to the list.
This should help with the translation selection dropdown bloat.
Possible defaults: English, Greek, Hebrew? We might need to change the Comparer to prefix the language name with 1, 2, or 3 for comparison, if we add Hebrew to the top three in sort order.
When you press the back button, the location changes, but the text and drop downs do not.
So that when a verse has two whole lines interlinear (ie two different languages), then the verse will not be on a different line.
This really only matters on mobile.
This is from the hymnal app
The "a" verse sub-numbering shouldn't have an end bracket. This maybe in Brenton's English and/or Greek Septuagint.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.