Skip to content

Commit

Permalink
import all news posts as HTML jekyll posts (closes #19)
Browse files Browse the repository at this point in the history
This is done using HTML since the original source is in HTML. This
does not move the image locations, it leaves the <img> tags as is, so
it gets them from the wordpress locations.

Since only @CiaranG has access to the Wordpress database, I didn't use any
of the import methods. They all require direct database access.  Instead, I
used a little bag of tricks:

* wget --span-hosts --recursive --page-requisites --html-extension \
  --convert-links --include-directories=/posts,/news-and-reviews \
  https://f-droid.org/news-and-reviews/
* and this python script:

import glob
import os
import bs4

for f in glob.glob('posts/*/index.html'):
    print('parsing', f)
    outputname = os.path.basename(os.path.dirname(f)) + '.html'
    body = '---\nlayout: post\n'
    with open(f) as fp:
        soup = bs4.BeautifulSoup(fp)

        title = soup.find('title')
        if title:
            body += 'title: "' + title.text.replace(' – F-Droid', '')

        author = soup.find('a', {'class', 'url'})
        if author:
            body += '"\nauthor: "' + author.text + '"\n---\n\n'

        post_entry = soup.find('div', {'class', 'post-entry'})
        if post_entry:
            body += str(post_entry)

        date = soup.find('time', {'class', 'updated'})
        if date:
            filedate = date['datetime'].split('T')[0]
    with open(os.path.join('output', filedate + '-' + outputname), 'w') as fp:
        fp.write(body)
  • Loading branch information
eighthave committed Jan 23, 2017
1 parent d87c51f commit eb92804
Show file tree
Hide file tree
Showing 73 changed files with 1,331 additions and 39 deletions.
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
title: F-Droid - Free and Open Source Android App Repository
header-title: F-Droid
description: >
© 2016 F-Droid Limited and Contributors
© 2010-2017 F-Droid Limited and Contributors
baseurl: "/fdroid-website" # the subpath of your site, e.g. /blog
url: "https://fdroid.gitlab.io" # the base hostname & protocol for your site
include:
Expand Down
5 changes: 4 additions & 1 deletion _layouts/post.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
---
layout: default
---

{% include assets.html %}

<article class="post" itemscope itemtype="http:https://schema.org/BlogPosting">

<header class="post-header">
<h2 class="post-title" itemprop="name headline">{{ page.title }}</h2>
<p class="post-meta"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time>{% if page.author %} <span itemprop="author" itemscope itemtype="http:https://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>{% endif %}</p>
<p class="post-meta">{% if page.author %}<img src="{{ assets }}/{{ page.author }}.jpg" alt="{{ page.author }}" width="40" /> <span itemprop="author" itemscope itemtype="http:https://schema.org/Person"><span itemprop="name">{{ page.author }}</span></span>{% endif %}<time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time></p>
</header>

<div class="post-content" itemprop="articleBody">
Expand Down
9 changes: 9 additions & 0 deletions _posts/2010-09-29-f-droid-is-here.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: post
title: "F-Droid Is Here"
author: "F-Droid"
---

<div class="post-entry">
<p>F-Droid is dedicated to Free and Open Source (FOSS) software on the Android platform. Here you will find news, reviews and other features covering all things Android and software-freedom related.</p>
</div>
24 changes: 24 additions & 0 deletions _posts/2010-09-29-k-9-mail.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
layout: post
title: "K-9 Mail"
author: "F-Droid"
---

<div class="post-entry">
<p><img alt="Yes, master!" class="alignright size-full wp-image-14" height="48" src="http:https://f-droid.org/wp-content/uploads/2010/09/k-9-logo.png" title="K-9 Mail Logo" width="48"/>Everyone needs an email client, and unfortunately the stock Android client is very poor indeed – presumably because most of the development focus was on the GMail app. Luckily for those that don’t use GMail, or use other accounts too, the developers of K-9 Mail came to the rescue with what must be the best mobile mail client around.</p>
<p><span id="more-7"></span></p>
<p>K-9 deals easily with multiple accounts, of both POP and IMAP varieties, and Push IMAP is supported too. With this, notifications of incoming mail are instant, via the standard Android notification bar.</p>
<p>The support for dealing with large volumes of mail, one of the many shortcomings of the stock Email app, is excellent. Multiple selections are easy to use, as are multiple folders and combined virtual folders for multiple accounts.</p>
<p>Other useful features are encryption and signing, in conjunction with <a href="http:https://www.thialfihar.org/projects/apg/">APG</a> (I’ll cover that in a later review) and Microsoft Exchange integration, which I haven’t tried.</p>
<p>The ability to customise almost everything via the settings pages, both globally and on a per-account basis, is fantastic too. I’d almost suggest that if you can’t get K-9 to behave how you want it to, the problem is you, not the software. Even then, of course, the source is available!</p>
<p>My only real problem, ever, came when one of those nasty ‘Sent from my…’ default signatures sneaked into an upgrade without any warning, but even that was easy enough to disable.</p>
<p>K-9 is a mature, high quality and actively developed app which I use every day. Highly recommended.</p>
<h3>Vital Statistics</h3>
<p><a href="market:https://serach?q=pname:com.fsck.k9"><img alt="market:https://serach?q=pname:com.fsck.k9" class="alignright size-full wp-image-304" height="120" src="http:https://f-droid.org/wp-content/uploads/2010/09/k9_qr2.png" title="K9 Market QR Code" width="120"/></a></p>
<ul>
<li>License: Apache 2.0</li>
<li>Web Site: <a href="http:https://code.google.com/p/k9mail/">http:https://code.google.com/p/k9mail/</a></li>
<li>Issue Tracker: <a href="http:https://code.google.com/p/k9mail/issues/list">http:https://code.google.com/p/k9mail/issues/list</a></li>
</ul>
<p>Available in the Android Market (scan/click the QR code opposite) or, of course, via the <a href="../f-droid-repository-alpha/index.html">FDroid repository</a>.</p>
</div>
16 changes: 16 additions & 0 deletions _posts/2010-09-30-no-free-beer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
layout: post
title: "No such thing as a free beer?"
author: "F-Droid"
---

<div class="post-entry">
<p>Ars technica <a href="http:https://arstechnica.com/security/news/2010/09/some-android-apps-found-to-covertly-send-gps-data-to-advertisers.ars">is reporting</a> on a study that reveals that, unbeknownst to the user, some Android apps are sending personal information such as telephone numbers and GPS coordinates off to unknown recipients. The only surprising thing here is that anyone is surprised.</p>
<p>When we talk about FOSS we talk about free as in freedom, not free as in beer. I like to extend the free beer analogy to describe three kinds of software.</p>
<p><span id="more-50"></span></p>
<p>First we have FOSS – the beer really is free, and we know it’s so because of the freedoms we’re granted. It’s served up in a clear glass with a list of ingredients, and if you’re still not sure you get the recipe – make it yourself if you like, it comes out just same. Or vary the recipe to suit your taste.</p>
<p>Then there’s the beer you pay for. The seller is keeping the recipe a secret so you don’t know what’s in it and can’t alter it, but at least the deal is clear – you get the beer and the seller gets the cash. If he starts poisoning people with dodgy beer the money stops flowing and that’s not what he wants. It’s usually safe to drink.</p>
<p>Finally, a very odd kind of beer indeed. The guy is giving this stuff away as fast as he can make it, but he refuses to tell you what’s in it. Why’s he doing that? And why would you take even a sip through the straw of the opaque cup he insists you drink it from?</p>
<p>Although it seems a bit extreme to suggest that every app with hidden source code and no cost is out to get you, I do wonder about the motives behind such things sometimes. If you must dabble in the stuff, and I think it’s risky on a device that knows everywhere you go and everyone you speak to, then at least take the time to check the required permissions carefully before installing. Does that Silly Sound Effects app really need access to your location, or the internet? I don’t think so.</p>
<p>A better option, where possible, is to seek out the FOSS alternative. One of the aims of this site is to help you find it.</p>
</div>
11 changes: 11 additions & 0 deletions _posts/2010-10-01-connect-your-charger.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
layout: post
title: "Connect Your Charger"
author: "F-Droid"
---

<div class="post-entry">
<p>I always think popping up a “Battery Low – Connect Your Charger” message is a very thoughtless thing to do, and with battery life being what it is it’s something I get to think about quite a lot.</p>
<p>For one thing, if I was able to connect my charger I wouldn’t have ended up 5% battery in the first place, would I? And for another, if I’m desperately trying to get those last couple of things done before the power goes completely, the last thing I need is to be interrupted by a pop-up message that I have to clear before I carry on. I can see the battery is low – it’s right there in the status bar, that ominous looking red battery with a line through it. Every Android user’s worst nightmare.</p>
<p>Luckily I have several spare batteries, along with a stand-alone wall charger to make sure they’re always ready for action. They’re very cheap, if you know where to look, so long as you’re not hung up on brand names. So I might be about to run out of power again, but only for the time it takes to stick the next one in.</p>
</div>
24 changes: 24 additions & 0 deletions _posts/2010-10-01-permissions.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
layout: post
title: "Permissions"
author: "F-Droid"
---

<div class="post-entry">
<p>Following on from <a href="http:https://f-droid.org/posts/no-free-beer/">yesterday’s article</a> about app permissions, here’s some more practical help in the form of an app that lets you review the permissions you’ve granted to everything that’s currently installed.</p>
<p><a href="http:https://f-droid.org/wp-content/uploads/2010/10/permissions1.png"><img alt="" class="alignright size-medium wp-image-62" height="300" sizes="(max-width: 200px) 100vw, 200px" src="http:https://f-droid.org/wp-content/uploads/2010/10/permissions1-200x300.png" srcset="https://f-droid.org/wp-content/uploads/2010/10/permissions1-200x300.png 200w, https://f-droid.org/wp-content/uploads/2010/10/permissions1-100x150.png 100w, https://f-droid.org/wp-content/uploads/2010/10/permissions1.png 320w" title="The permissions list" width="200"/></a></p>
<p>The imaginatively titled Permissions shows all the available permissions on your phone in a big list, with those it considers dangerous highlighted in orange. Each entry also has a description of what it allows an app to do, and how that might affect you. For example, for the “coarse (network-based) location” permission, you’re told <i>“Access coarse location sources such as the cellular network database to determine an approximate phone location, where available. Malicious applications can use this to determine approximately where you are.”</i> It might seem like stating the obvious in this case, but for some of the more obscure permissions the description is essential.</p>
<p>The main purpose of the app is not just a list though – you can expand any of the entries in the list to see what applications are using that particular permission. This allows you to spot things you may have let slip through your defences when you first installed them, like the proverbial Fart App that strangely requires access to your contacts and the internet to make its amusing noises.</p>
<p><span id="more-61"></span></p>
<p> <a href="http:https://f-droid.org/wp-content/uploads/2010/10/permissions2.png"><img alt="" class="alignleft size-medium wp-image-67" height="300" sizes="(max-width: 200px) 100vw, 200px" src="http:https://f-droid.org/wp-content/uploads/2010/10/permissions2-200x300.png" srcset="https://f-droid.org/wp-content/uploads/2010/10/permissions2-200x300.png 200w, https://f-droid.org/wp-content/uploads/2010/10/permissions2-100x150.png 100w, https://f-droid.org/wp-content/uploads/2010/10/permissions2.png 320w" title="An expanded entry" width="200"/></a></p>
<p>Selecting one of the applications in the expanded list takes you to the standard Android Application Info screen, where you can see all the information about how much storage the application is using and whether it’s running or not. If it’s running, you can force it to stop, and you can also easily uninstall it from here in one click. You can see the full list of permissions too, in the same format as it’s given in when you have to accept them before installing. Effectively Permissions presents this information in reverse, for all your apps at once.</p>
<p>Permissions is a very useful app for reviewing who you’ve allowed to do what on your phone, and for learning some details of the Android permissions structure. As a tool for the casual user to do a quick security audit on their phone though, it’s a bit too detailed. One improvement in that direction might be to make the default mode a) show only ‘important’ permissions – perhaps those the app already highlights in orange, and b) show only user-installed apps, and leave out the system apps. A menu item could allow switching between this and the current full detail mode.</p>
<p><img alt="" class="alignright size-full wp-image-70" height="125" src="http:https://f-droid.org/wp-content/uploads/2010/10/permissions-qr1.png" title="Permissions Market QR Code" width="125"/></p>
<h3>Vital Statistics</h3>
<ul>
<li>License: Apache 2.0</li>
<li>Developer: Christian Mehlmauer</li>
<li>Web Site: <a href="http:https://code.google.com/p/androidpermissions/">http:https://code.google.com/p/androidpermissions/</a></li>
<li>Issue Tracker: <a href="http:https://code.google.com/p/androidpermissions/issues/list">http:https://code.google.com/p/androidpermissions/issues/list</a></li>
</ul>
</div>
22 changes: 22 additions & 0 deletions _posts/2010-10-02-lifesaver.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
layout: post
title: "LifeSaver 2"
author: "F-Droid"
---

<div class="post-entry">
<p>LifeSaver 2 is a simple but very useful app that backs up your call log and SMS messages to your SD card, and allows you to restore them later. This is useful for general everyday backups, as a means of exporting this data in an easy format for use elsewhere, and also (the intended usage) if you’re changing your phone, or wiping and reinstalling the OS.</p>
<p><span id="more-84"></span></p>
<p>For my utilitarian tastes, the whole thing is visually a bit too jazzy – I’d rather have the extra free space on the phone and more functionality on the screen than those giant images and animations, but plenty of people like things this way I suppose, and I must admit it does <a href="http:https://www.tbray.org/ongoing/When/201x/2010/04/25/LifeSaver-Lessons">look slick</a>. I forgive it the eye-candy-bloat because it gets the job done quickly and without any fuss.</p>
<p>Once you’ve “Saved your life” the information will be in a directory called LifeSaver-F on the SD card, in two files called MessageLog and CallLog. Both of these are text files, starting with a count of the number of entries, and then a simple JSON-encoded chunk of data for each one. This makes it easy to use this data elsewhere once you have it saved.</p>
<p>One amusing point of interest – it’s not called LifeSaver 2 because it’s a big upgrade or improvement over the original LiveSaver. In fact, the developer lost the app signing key for the original, so had to publish it as a whole new app. (Android won’t upgrade an application in place if it’s signed with a different key to the existing installed one, so to not do this would have broken the upgrade path for all existing users). I find the loss of the key particularly funny given the saving-things nature of the application, but it’s a lesson for all application developers and who better to provide it than Google’s own Developer Advocate?</p>
<h3>Vital Statistics</h3>
<p><img alt="market:https://search?q=pname:com.textuality.lifesaver2" class="alignright size-full wp-image-85" height="120" src="http:https://f-droid.org/wp-content/uploads/2010/10/lifesaver2-qr.png" title="LiveSaver2 Market QR Code" width="120"/></p>
<ul>
<li>License: Apache 2.0</li>
<li>Developer: <a href="http:https://en.wikipedia.org/wiki/Tim_Bray">Tim Bray</a></li>
<li>Source Code: <a href="http:https://code.google.com/p/lifesaver/">http:https://code.google.com/p/lifesaver/</a></li>
<li>Web Site: <a href="http:https://www.tbray.org/ongoing/When/201x/2010/04/25/LifeSaver-Lessons">Tim’s original blog post</a>
</li><li>Issue Tracker: <a href="http:https://code.google.com/p/lifesaver/issues/list">http:https://code.google.com/p/lifesaver/issues/list</a></li>
</ul>
</div>
31 changes: 31 additions & 0 deletions _posts/2010-10-04-mythmote.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
layout: post
title: "MythMote"
author: "F-Droid"
---

<div class="post-entry">
<p><a href="http:https://f-droid.org/wp-content/uploads/2010/09/mythmote1.png"><img alt="" class="alignright size-medium wp-image-99" height="300" sizes="(max-width: 200px) 100vw, 200px" src="http:https://f-droid.org/wp-content/uploads/2010/09/mythmote1-200x300.png" srcset="https://f-droid.org/wp-content/uploads/2010/09/mythmote1-200x300.png 200w, https://f-droid.org/wp-content/uploads/2010/09/mythmote1-100x150.png 100w, https://f-droid.org/wp-content/uploads/2010/09/mythmote1.png 320w" title="mythmote1" width="200"/></a></p>
<p>If you use <a href="http:https://www.mythtv.org/">MythTV</a> (and if not, why not?) then you need MythMote. It’s a remote control that communicates with all your MythTV front ends over the network. Why is this better than a normal remote? Just some of the many reasons:</p>
<ul>
<li>The interface is better</li>
<li>No infra-red – the dog can’t sit in the way</li>
<li>The same device works in every room</li>
<li>No infra-red – you don’t have to point it</li>
<li>You always have it with you</li>
<li>No infra-red – you don’t even have to be in the same room</li>
<li>Everyone can have their own remote</li>
</ul>
<p>To use MythMote, you need to tick the ‘Enable Network Remote Control Interface’ in the MythTV frontend setup, for each frontend you intend to use it with. You also need network access to these machines, which normally means using WiFi on the Android end. In theory, you could use cell data by exposing a port for each frontend at the edge of your LAN, and routing them to the appropriate machines, but I don’t know if I’d consider it safe to do that.</p>
<p><span id="more-34"></span></p>
<p><a href="http:https://f-droid.org/wp-content/uploads/2010/09/mythmote2.png"><img alt="" class="alignright size-medium wp-image-100" height="300" sizes="(max-width: 200px) 100vw, 200px" src="http:https://f-droid.org/wp-content/uploads/2010/09/mythmote2-200x300.png" srcset="https://f-droid.org/wp-content/uploads/2010/09/mythmote2-200x300.png 200w, https://f-droid.org/wp-content/uploads/2010/09/mythmote2-100x150.png 100w, https://f-droid.org/wp-content/uploads/2010/09/mythmote2.png 320w" title="mythmote2" width="200"/></a></p>
<p>Once you’re all set up, you just need to select the appropriate frontend (‘location’) from your list in MythMote and it’s connected almost instantly. You then have three tabs, with lots of on-screen buttons, plus the ability to send keyboard input – useful for searches, for example. Not every function you’d ever want is available, but most of the everyday ones are. An example of something that’s not there, unless I’m missing something, is that you can’t delete a recording. Actually, you can, by sending a ‘d’ as keyboard input, but that’s not something you’re going to want to have to do very much.</p>
<p>A great addition to a future release would be the ability to configure the layout, adding different functions and removing unused ones. In the meantime, of course, you could always tinker with the source if you really needed to.</p>
<p></p><h3>Vital Statistics</h3>
<p><img alt="market:https://search?q=pname:tkj.android.homecontrol.mythmote" class="alignright size-full wp-image-121" height="120" src="http:https://f-droid.org/wp-content/uploads/2010/09/mythmote-qr.png" title="MythMote Market QR Code" width="120"/></p>
<ul>
<li>License: GPL v2</li>
<li>Web Site: <a href="http:https://code.google.com/p/mythmote/">http:https://code.google.com/p/mythmote/</a></li>
<li>Issue Tracker: <a href="http:https://code.google.com/p/mythmote/issues/list">http:https://code.google.com/p/mythmote/issues/list</a></li>
</ul>
</div>
Loading

0 comments on commit eb92804

Please sign in to comment.