mirror of
https://gitlab.com/openlp/website.git
synced 2024-12-22 04:52:49 +00:00
Blog post about the BibleGateway error
- Upgraded to Nikola v8 - Created a post from Tomas' blog post
This commit is contained in:
parent
baba79bf92
commit
363f4c4758
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
.doit.db.db
|
||||||
|
.venv
|
||||||
|
__pycache__
|
||||||
|
cache
|
||||||
|
output
|
||||||
|
themes/bootstrap3
|
41
.gitlab-ci.yml
Normal file
41
.gitlab-ci.yml
Normal 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
|
36
blog/integration-with-biblegateway-broken.rst
Normal file
36
blog/integration-with-biblegateway-broken.rst
Normal 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
|
@ -16,29 +16,34 @@ documentation <http://manual.openlp.org/configure.html#remote>`_ and
|
|||||||
also info for the `Android
|
also info for the `Android
|
||||||
app <http://manual.openlp.org/android.html#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
|
Before we get to the tips, we need to be sure have a good understanding
|
||||||
of some basic networking terms.
|
of some basic networking terms.
|
||||||
|
|
||||||
**IP Address:** This is the unique number that is given to a computer on
|
**IP Address**
|
||||||
a network. Think of this as a street address of a house. On most local
|
This is the unique number that is given to a computer on
|
||||||
networks It will look something like this: 192.168.1.100.
|
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
|
**LAN**
|
||||||
typical home setup with a modem and a wireless router the wireless
|
Local Area Network, this is the local network. If you have a
|
||||||
router connects all the computers and assings IP addresses on the LAN.
|
typical home setup with a modem and a wireless router the wireless
|
||||||
Many users have confused the LAN with the internet. A LAN doesn not have
|
router connects all the computers and assings IP addresses on the LAN.
|
||||||
to be connected to the internet at all, it simply provides a way for
|
Many users have confused the LAN with the internet. A LAN doesn not have
|
||||||
several close by computers to communicate. A LAN is all that is needed
|
to be connected to the internet at all, it simply provides a way for
|
||||||
for the remote feature of OpenLP to work.
|
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
|
**WiFi**
|
||||||
wirelessly. Again, this does not mean you are connected to the internet.
|
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...
|
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
|
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
|
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
|
setups this means you need to be on the same WiFi network that the
|
||||||
OpenLP machine is on.
|
OpenLP machine is on.
|
||||||
|
|
||||||
**Connect to the Correct IP Address **
|
Connect to the Correct IP Address
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
Most networks use
|
Most networks use
|
||||||
`DHCP <http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol>`_
|
`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
|
device by using an app such as
|
||||||
`eZNetScan <https://play.google.com/store/apps/details?id=com.vrsspl.eznetscan&hl=en>`_.
|
`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
|
If you need to change your IP address on the Android app be sure to tap
|
||||||
the Activate button to activate the changes.
|
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
|
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
|
issues. This may not always be possible, another way to achieve
|
||||||
|
48
conf.py
48
conf.py
@ -136,7 +136,8 @@ TIMEZONE = "UTC"
|
|||||||
# Date format used to display post dates.
|
# Date format used to display post dates.
|
||||||
# (str used by datetime.datetime.strftime)
|
# (str used by datetime.datetime.strftime)
|
||||||
# DATE_FORMAT = '%Y-%m-%d %H:%M'
|
# 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,
|
# While nikola can select a sensible locale for each language,
|
||||||
# sometimes explicit control can come handy.
|
# sometimes explicit control can come handy.
|
||||||
@ -445,7 +446,8 @@ LICENSE = ""
|
|||||||
|
|
||||||
# A small copyright notice for the page footer (in HTML).
|
# A small copyright notice for the page footer (in HTML).
|
||||||
# (translatable)
|
# (translatable)
|
||||||
CONTENT_FOOTER = 'Contents © {date} <a href="mailto:{email}">{author}</a> - Powered by <a href="http://getnikola.com" rel="nofollow">Nikola</a> {license}'
|
CONTENT_FOOTER = 'Contents © {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
|
# Things that will be passed to CONTENT_FOOTER.format(). This is done
|
||||||
# for translatability, as dicts are not formattable. Nikola will
|
# 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
|
# This can be disabled on a per-page/post basis by adding
|
||||||
# .. pretty_url: False
|
# .. pretty_url: False
|
||||||
# to the metadata
|
# to the metadata
|
||||||
# PRETTY_URLS = False
|
PRETTY_URLS = False
|
||||||
|
|
||||||
# If True, publish future dated posts right away instead of scheduling them.
|
# If True, publish future dated posts right away instead of scheduling them.
|
||||||
# Defaults to False.
|
# Defaults to False.
|
||||||
@ -586,7 +588,8 @@ COMMENT_SYSTEM_ID = "openlp"
|
|||||||
# (translatable)
|
# (translatable)
|
||||||
# SOCIAL_BUTTONS_CODE = """
|
# SOCIAL_BUTTONS_CODE = """
|
||||||
# <!-- Social buttons -->
|
# <!-- 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>
|
# <a class="addthis_button_more">Share</a>
|
||||||
# <ul><li><a class="addthis_button_facebook"></a>
|
# <ul><li><a class="addthis_button_facebook"></a>
|
||||||
# <li><a class="addthis_button_google_plusone_share"></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"/>
|
# <input type="text" name="q" maxlength="255" results="0" placeholder="Search"/>
|
||||||
# </form>
|
# </form>
|
||||||
# <!-- End of custom search -->
|
# <!-- End of custom search -->
|
||||||
#""" % SITE_URL
|
# """ % SITE_URL
|
||||||
|
|
||||||
# Use content distribution networks for jquery, twitter-bootstrap css and js,
|
# Use content distribution networks for jquery, twitter-bootstrap css and js,
|
||||||
# and html5shiv (for older versions of Internet Explorer)
|
# 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
|
# Extra things you want in the pages HEAD tag. This will be added right
|
||||||
# before </head>
|
# before </head>
|
||||||
# (translatable)
|
# (translatable)
|
||||||
#EXTRA_HEAD_DATA = """
|
# EXTRA_HEAD_DATA = """
|
||||||
#<link href="//fonts.googleapis.com/css?family=Oxygen:400,300,700&subset=latin,latin-ext" rel="stylesheet" type="text/css">
|
# <link href="//fonts.googleapis.com/css?family=Oxygen:400,300,700&subset=latin,latin-ext" rel="stylesheet"
|
||||||
#<link href="//fonts.googleapis.com/css?family=Raleway:700,400,300" rel="stylesheet" type="text/css">
|
# type="text/css">
|
||||||
#<link href="fonts/font-awesome/css/font-awesome.css" rel="stylesheet">
|
# <link href="//fonts.googleapis.com/css?family=Raleway:700,400,300" rel="stylesheet" type="text/css">
|
||||||
#<link href="css/animations.css" rel="stylesheet">
|
# <link href="fonts/font-awesome/css/font-awesome.css" rel="stylesheet">
|
||||||
#<link href="css/style.css" rel="stylesheet">
|
# <link href="css/animations.css" rel="stylesheet">
|
||||||
#<link href="css/custom.css" rel="stylesheet">
|
# <link href="css/style.css" rel="stylesheet">
|
||||||
#"""
|
# <link href="css/custom.css" rel="stylesheet">
|
||||||
|
# """
|
||||||
EXTRA_HEAD_DATA = """
|
EXTRA_HEAD_DATA = """
|
||||||
<link href="/assets/css/ekko-lightbox.css" rel="stylesheet">
|
<link href="/assets/css/ekko-lightbox.css" rel="stylesheet">
|
||||||
<link href="/assets/css/toastr.min.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>
|
# Google Analytics or whatever else you use. Added to the bottom of <body>
|
||||||
# in the default template (base.tmpl).
|
# in the default template (base.tmpl).
|
||||||
# (translatable)
|
# (translatable)
|
||||||
#BODY_END = """
|
# BODY_END = """
|
||||||
#<script type="text/javascript" src="plugins/modernizr.js"></script>
|
# <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/isotope/isotope.pkgd.min.js"></script>
|
||||||
#<script type="text/javascript" src="plugins/jquery.backstretch.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="plugins/jquery.appear.js"></script>
|
||||||
#<script type="text/javascript" src="js/template.js"></script>
|
# <script type="text/javascript" src="js/template.js"></script>
|
||||||
#<script type="text/javascript" src="js/custom.js"></script>
|
# <script type="text/javascript" src="js/custom.js"></script>
|
||||||
#"""
|
# """
|
||||||
BODY_END = """
|
BODY_END = """
|
||||||
<script type="text/javascript">window.liveSettings={api_key:"2c307f8400684f0595b35e8101f9fc8a"};</script>
|
<script type="text/javascript">window.liveSettings={api_key:"2c307f8400684f0595b35e8101f9fc8a"};</script>
|
||||||
<script type="text/javascript" src="https://checkout.stripe.com/checkout.js"></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
|
# If you hate "Filenames with Capital Letters and Spaces.md", you should
|
||||||
# set this to true.
|
# 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 that is added to a post when creating a new_post
|
||||||
# ADDITIONAL_METADATA = {}
|
# ADDITIONAL_METADATA = {}
|
||||||
|
11
deploy.sh
11
deploy.sh
@ -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 ..
|
|
BIN
files/cover-images/integration-with-biblegateway-broken.jpg
Normal file
BIN
files/cover-images/integration-with-biblegateway-broken.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 273 KiB |
1
files/google3623fce3d6bcc6d8.html
Normal file
1
files/google3623fce3d6bcc6d8.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
google-site-verification: google3623fce3d6bcc6d8.html
|
@ -9,7 +9,8 @@ ${base.html_headstart()}
|
|||||||
${template_hooks['extra_head']()}
|
${template_hooks['extra_head']()}
|
||||||
</head>
|
</head>
|
||||||
<body class="no-trans txlive">
|
<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"/>
|
<%include file="front_page.html"/>
|
||||||
% else:
|
% else:
|
||||||
<div class="scrollToTop"><a href="#" title="Scroll to top"><i class="fa fa-fw fa-arrow-up fa-lg"></i></a></div>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
% if permalink is not UNDEFINED and permalink.startswith(u'/blog/index'):
|
% if post is not UNDEFINED and post:
|
||||||
<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:
|
|
||||||
<div class="post-heading" style="background-image: url(${post.meta('previewimage')})">
|
<div class="post-heading" style="background-image: url(${post.meta('previewimage')})">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@ -84,6 +75,16 @@ ${template_hooks['extra_head']()}
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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
|
% endif
|
||||||
<div class="container" id="content">
|
<div class="container" id="content">
|
||||||
<div class="body-content">
|
<div class="body-content">
|
||||||
|
@ -93,9 +93,11 @@ lang="${lang}">
|
|||||||
<script type="text/javascript" src="/assets/js/custom.js"></script>
|
<script type="text/javascript" src="/assets/js/custom.js"></script>
|
||||||
<script type="text/javascript" src="/assets/js/jquery.colorbox-min.js"></script>
|
<script type="text/javascript" src="/assets/js/jquery.colorbox-min.js"></script>
|
||||||
%endif
|
%endif
|
||||||
%if colorbox_locales[lang]:
|
<%doc>
|
||||||
<script src="/assets/js/colorbox-i18n/jquery.colorbox-${colorbox_locales[lang]}.js"></script>
|
% if colorbox_locales[lang]:
|
||||||
%endif
|
<!-- script src="/assets/js/colorbox-i18n/jquery.colorbox-${colorbox_locales[lang]}.js"></script -->
|
||||||
|
% endif
|
||||||
|
</%doc>
|
||||||
${social_buttons_code}
|
${social_buttons_code}
|
||||||
</%def>
|
</%def>
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
</%def>
|
</%def>
|
||||||
|
|
||||||
<%def name="mathjax_script(post)">
|
<%def name="mathjax_script(post)">
|
||||||
%if post.is_mathjax:
|
%if post.has_math:
|
||||||
<script type="text/x-mathjax-config">
|
<script type="text/x-mathjax-config">
|
||||||
MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}});</script>
|
MathJax.Hub.Config({tex2jax: {inlineMath: [['$latex ','$'], ['\\(','\\)']]}});</script>
|
||||||
<script src="/assets/js/mathjax.js"></script>
|
<script src="/assets/js/mathjax.js"></script>
|
||||||
|
Loading…
Reference in New Issue
Block a user