Blog post about the BibleGateway error

- Upgraded to Nikola v8
- Created a post from Tomas' blog post
This commit is contained in:
Raoul Snyman 2019-07-15 00:08:07 +00:00
parent baba79bf92
commit 363f4c4758
11 changed files with 154 additions and 66 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
.doit.db.db
.venv
__pycache__
cache
output
themes/bootstrap3

41
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,41 @@
image: alpine
before_script:
- apk --no-cache add make openssh-client py3-setuptools python3-dev py3-pillow py3-lxml
- python3 -m pip install nikola
pages:
stage: deploy
script:
- nikola theme -i bootstrap3
- nikola build
artifacts:
paths:
- output
only:
- master
test:
stage: test
script:
- nikola theme -i bootstrap3
- nikola build
artifacts:
paths:
- output
except:
- master
deploy:
stage: deploy
script:
- nikola theme -i bootstrap3
- nikola build
- cd output
- echo "$STRIPE_API_KEY" > stripe.ini
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- scp -r * openlp@openlp.org:public_html/
only:
- master

View File

@ -0,0 +1,36 @@
.. title: Integration with BibleGateway Broken
.. slug: blog/2019/07/14/integration-with-biblegateway-broken
.. date: 2019-07-14 23:42:41 UTC
.. tags:
.. category:
.. link:
.. description:
.. type: text
.. previewimage: /cover-images/integration-with-biblegateway-broken.jpg
Over the last few days we have received a TON of reports about OpenLP's integration with BibleGateway being broken.
Users who rely on web Bibles from BibleGateway are telling us that they get an error message whenever they try to
look up new passages (verses are downloaded from Bible Gateway on an as-needed basis in order to comply with Bible
translation copyright terms).
Unfortunately there is no quick fix for this, and because some of the libraries that OpenLP 2.4.6 uses are no longer
available, we are not able to create new builds for the OpenLP 2.4.x release series. We are investigating other options,
but we cannot guarantee anything.
While we are well aware that some bibles available on BibleGateway are not available elsewhere, there are other sources
for a lot of Bibles, such as `Zefania`_ or from the homepage of Open Song. In both cases do remember to extract the
zip file before importing. See the `Bibles section`_ of the manual for more details on importing Bibles from other
sources.
Alternatively, going to https://www.biblegateway.com/ and copying and pasting the Bible text into a custom slide is
also an option.
The only good news here is that the new implementation for web Bibles in the upcoming OpenLP 3.0 release is not
affected by this, although it is not ready for production use.
We apologise for the problems people are experiencing. The bad side of using an external service like BibleGateway is
that when they change something, OpenLP is not built to handle the change, and appears to be "broken". Sadly, there is
no real way to prevent something like this from happening again.
.. _Zefania: https://sourceforge.net/projects/zefania-sharp/files/Bibles/
.. _Bibles section: http://manual.openlp.org/bibles.html

View File

@ -16,29 +16,34 @@ documentation <http://manual.openlp.org/configure.html#remote>`_ and
also info for the `Android
app <http://manual.openlp.org/android.html#android>`_.
**Networking Basics**
Networking Basics
-----------------
Before we get to the tips, we need to be sure have a good understanding
of some basic networking terms.
**IP Address:** This is the unique number that is given to a computer on
a network. Think of this as a street address of a house. On most local
networks It will look something like this: 192.168.1.100.
**IP Address**
This is the unique number that is given to a computer on
a network. Think of this as a street address of a house. On most local
networks It will look something like this: 192.168.1.100.
**LAN:** Local Area Network, this is the local network. If you have a
typical home setup with a modem and a wireless router the wireless
router connects all the computers and assings IP addresses on the LAN.
Many users have confused the LAN with the internet. A LAN doesn not have
to be connected to the internet at all, it simply provides a way for
several close by computers to communicate. A LAN is all that is needed
for the remote feature of OpenLP to work.
**LAN**
Local Area Network, this is the local network. If you have a
typical home setup with a modem and a wireless router the wireless
router connects all the computers and assings IP addresses on the LAN.
Many users have confused the LAN with the internet. A LAN doesn not have
to be connected to the internet at all, it simply provides a way for
several close by computers to communicate. A LAN is all that is needed
for the remote feature of OpenLP to work.
**WiFi:** this is the means that you connect to a Local network
wirelessly. Again, this does not mean you are connected to the internet.
**WiFi**
this is the means that you connect to a Local network
wirelessly. Again, this does not mean you are connected to the internet.
Now, to the tips...
**Get on the Same Network**
Get on the Same Network
-----------------------
Many people use the Android app on their mobile phone. One of the most
common issues I have ran into when someone is running the remote app is
@ -46,7 +51,8 @@ they are not on the network that the OpenLP machine is on. For most
setups this means you need to be on the same WiFi network that the
OpenLP machine is on.
**Connect to the Correct IP Address **
Connect to the Correct IP Address
---------------------------------
Most networks use
`DHCP <http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol>`_
@ -63,12 +69,14 @@ your OpenLP computer if you know its
device by using an app such as
`eZNetScan <https://play.google.com/store/apps/details?id=com.vrsspl.eznetscan&hl=en>`_.
**Be Sure to Apply Your Settings**
Be Sure to Apply Your Settings
------------------------------
If you need to change your IP address on the Android app be sure to tap
the Activate button to activate the changes. 
**Consider a Static IP Address**
Consider a Static IP Address
----------------------------
A static IP address will help keep you from having a lot of these
issues. This may not always be possible, another way to achieve

48
conf.py
View File

@ -136,7 +136,8 @@ TIMEZONE = "UTC"
# Date format used to display post dates.
# (str used by datetime.datetime.strftime)
# DATE_FORMAT = '%Y-%m-%d %H:%M'
DATE_FORMAT = '%a %-d %b, %Y'
# DATE_FORMAT = '%a %-d %b, %Y'
DATE_FORMAT = 'EEE d MMM, y'
# While nikola can select a sensible locale for each language,
# sometimes explicit control can come handy.
@ -445,7 +446,8 @@ LICENSE = ""
# A small copyright notice for the page footer (in HTML).
# (translatable)
CONTENT_FOOTER = 'Contents &copy; {date} <a href="mailto:{email}">{author}</a> - Powered by <a href="http://getnikola.com" rel="nofollow">Nikola</a> {license}'
CONTENT_FOOTER = 'Contents &copy; {date} <a href="mailto:{email}">{author}</a> - Powered by <a ' \
'href="http://getnikola.com" rel="nofollow">Nikola</a> {license}'
# Things that will be passed to CONTENT_FOOTER.format(). This is done
# for translatability, as dicts are not formattable. Nikola will
@ -530,7 +532,7 @@ COMMENT_SYSTEM_ID = "openlp"
# This can be disabled on a per-page/post basis by adding
# .. pretty_url: False
# to the metadata
# PRETTY_URLS = False
PRETTY_URLS = False
# If True, publish future dated posts right away instead of scheduling them.
# Defaults to False.
@ -586,7 +588,8 @@ COMMENT_SYSTEM_ID = "openlp"
# (translatable)
# SOCIAL_BUTTONS_CODE = """
# <!-- Social buttons -->
# <div id="addthisbox" class="addthis_toolbox addthis_peekaboo_style addthis_default_style addthis_label_style addthis_32x32_style">
# <div id="addthisbox" class="addthis_toolbox addthis_peekaboo_style addthis_default_style addthis_label_style
# addthis_32x32_style">
# <a class="addthis_button_more">Share</a>
# <ul><li><a class="addthis_button_facebook"></a>
# <li><a class="addthis_button_google_plusone_share"></a>
@ -658,7 +661,7 @@ FEED_TEASERS = False
# <input type="text" name="q" maxlength="255" results="0" placeholder="Search"/>
# </form>
# <!-- End of custom search -->
#""" % SITE_URL
# """ % SITE_URL
# Use content distribution networks for jquery, twitter-bootstrap css and js,
# and html5shiv (for older versions of Internet Explorer)
@ -671,14 +674,15 @@ FEED_TEASERS = False
# Extra things you want in the pages HEAD tag. This will be added right
# before </head>
# (translatable)
#EXTRA_HEAD_DATA = """
#<link href="//fonts.googleapis.com/css?family=Oxygen:400,300,700&amp;subset=latin,latin-ext" rel="stylesheet" type="text/css">
#<link href="//fonts.googleapis.com/css?family=Raleway:700,400,300" rel="stylesheet" type="text/css">
#<link href="fonts/font-awesome/css/font-awesome.css" rel="stylesheet">
#<link href="css/animations.css" rel="stylesheet">
#<link href="css/style.css" rel="stylesheet">
#<link href="css/custom.css" rel="stylesheet">
#"""
# EXTRA_HEAD_DATA = """
# <link href="//fonts.googleapis.com/css?family=Oxygen:400,300,700&amp;subset=latin,latin-ext" rel="stylesheet"
# type="text/css">
# <link href="//fonts.googleapis.com/css?family=Raleway:700,400,300" rel="stylesheet" type="text/css">
# <link href="fonts/font-awesome/css/font-awesome.css" rel="stylesheet">
# <link href="css/animations.css" rel="stylesheet">
# <link href="css/style.css" rel="stylesheet">
# <link href="css/custom.css" rel="stylesheet">
# """
EXTRA_HEAD_DATA = """
<link href="/assets/css/ekko-lightbox.css" rel="stylesheet">
<link href="/assets/css/toastr.min.css" rel="stylesheet">
@ -687,14 +691,14 @@ EXTRA_HEAD_DATA = """
# Google Analytics or whatever else you use. Added to the bottom of <body>
# in the default template (base.tmpl).
# (translatable)
#BODY_END = """
#<script type="text/javascript" src="plugins/modernizr.js"></script>
#<script type="text/javascript" src="plugins/isotope/isotope.pkgd.min.js"></script>
#<script type="text/javascript" src="plugins/jquery.backstretch.min.js"></script>
#<script type="text/javascript" src="plugins/jquery.appear.js"></script>
#<script type="text/javascript" src="js/template.js"></script>
#<script type="text/javascript" src="js/custom.js"></script>
#"""
# BODY_END = """
# <script type="text/javascript" src="plugins/modernizr.js"></script>
# <script type="text/javascript" src="plugins/isotope/isotope.pkgd.min.js"></script>
# <script type="text/javascript" src="plugins/jquery.backstretch.min.js"></script>
# <script type="text/javascript" src="plugins/jquery.appear.js"></script>
# <script type="text/javascript" src="js/template.js"></script>
# <script type="text/javascript" src="js/custom.js"></script>
# """
BODY_END = """
<script type="text/javascript">window.liveSettings={api_key:"2c307f8400684f0595b35e8101f9fc8a"};</script>
<script type="text/javascript" src="https://checkout.stripe.com/checkout.js"></script>
@ -723,7 +727,7 @@ BODY_END = """
# If you hate "Filenames with Capital Letters and Spaces.md", you should
# set this to true.
UNSLUGIFY_TITLES = True
FILE_METADATA_UNSLUGIFY_TITLES = True
# Additional metadata that is added to a post when creating a new_post
# ADDITIONAL_METADATA = {}

View File

@ -1,11 +0,0 @@
#!/bin/bash
NIKOLA=`which nikola`
if [[ -f "nikola" ]]; then
NIKOLA="./nikola"
fi
$NIKOLA clean
$NIKOLA build
cd output
rsync -r -a -v -z -e ssh * openlp@openlp.org:public_html/
cd ..

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

View File

@ -0,0 +1 @@
google-site-verification: google3623fce3d6bcc6d8.html

View File

@ -9,7 +9,8 @@ ${base.html_headstart()}
${template_hooks['extra_head']()}
</head>
<body class="no-trans txlive">
% if permalink is not UNDEFINED and permalink == u'/index.html':
<!-- ${permalink} -->
% if permalink is not UNDEFINED and permalink == '/':
<%include file="front_page.html"/>
% else:
<div class="scrollToTop"><a href="#" title="Scroll to top"><i class="fa fa-fw fa-arrow-up fa-lg"></i></a></div>
@ -64,17 +65,7 @@ ${template_hooks['extra_head']()}
</div>
</div>
</header>
% if permalink is not UNDEFINED and permalink.startswith(u'/blog/index'):
<div class="blog-heading">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<h1>Reflections and Projections</h1>
</div>
</div>
</div>
</div>
% elif post is not UNDEFINED and post:
% if post is not UNDEFINED and post:
<div class="post-heading" style="background-image: url(${post.meta('previewimage')})">
<div class="container">
<div class="row">
@ -84,6 +75,16 @@ ${template_hooks['extra_head']()}
</div>
</div>
</div>
% elif permalink is not UNDEFINED and permalink.startswith(u'/blog/'):
<div class="blog-heading">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<h1>Reflections and Projections</h1>
</div>
</div>
</div>
</div>
% endif
<div class="container" id="content">
<div class="body-content">

View File

@ -93,9 +93,11 @@ lang="${lang}">
<script type="text/javascript" src="/assets/js/custom.js"></script>
<script type="text/javascript" src="/assets/js/jquery.colorbox-min.js"></script>
%endif
%if colorbox_locales[lang]:
<script src="/assets/js/colorbox-i18n/jquery.colorbox-${colorbox_locales[lang]}.js"></script>
%endif
<%doc>
% if colorbox_locales[lang]:
<!-- script src="/assets/js/colorbox-i18n/jquery.colorbox-${colorbox_locales[lang]}.js"></script -->
% endif
</%doc>
${social_buttons_code}
</%def>

View File

@ -85,7 +85,7 @@
</%def>
<%def name="mathjax_script(post)">
%if post.is_mathjax:
%if post.has_math:
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}});</script>
<script src="/assets/js/mathjax.js"></script>