Merge branch 'master' into dejal

This commit is contained in:
David Sinclair 2021-12-20 15:59:59 -07:00
commit c7ef07c063
164 changed files with 2965 additions and 1387 deletions

1
.gitignore vendored
View file

@ -52,6 +52,7 @@ docker/haproxy/haproxy.consul.cfg
docker/nginx/nginx.consul.conf
docker/prometheus/prometheus.yml
docker/redis/redis_replica.conf
docker/postgres/postgres.conf
# ----------------------
# Android

View file

@ -76,6 +76,7 @@ list:
- doctl -t `cat /srv/secrets-newsblur/keys/digital_ocean.token` compute droplet list
sizes:
- doctl -t `cat /srv/secrets-newsblur/keys/digital_ocean.token` compute size list
size: sizes
ratelimit:
- doctl -t `cat /srv/secrets-newsblur/keys/digital_ocean.token` account ratelimit
ansible-deps:

View file

@ -7,6 +7,7 @@ git_secrets_repo: ssh://git@github.com/samuelclay/newsblur-secrets
create_user: nb
local_key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
copy_local_key: "{{ lookup('file', '/srv/secrets-newsblur/keys/docker.key.pub') }}"
postgres_password: "{{ lookup('ini', 'postgres_password section=admin file=/srv/secrets-newsblur/configs/postgres_auth.ini') }}"
mongodb_keyfile: "{{ lookup('file', '/srv/secrets-newsblur/keys/mongodb_keyfile.key') }}"
mongodb_username: "{{ lookup('ini', 'mongodb_username section=admin file=/srv/secrets-newsblur/configs/mongodb_auth.ini') }}"
mongodb_password: "{{ lookup('ini', 'mongodb_password section=admin file=/srv/secrets-newsblur/configs/mongodb_auth.ini') }}"

View file

@ -18,3 +18,4 @@
- {role: 'node-exporter', tags: ['node-exporter', 'metrics']}
- {role: 'postgres', tags: 'postgres'}
- {role: 'monitor', tags: 'monitor'}
- {role: 'backups', tags: 'backups'}

View file

@ -3,7 +3,7 @@
file:
path: /srv/newsblur/backups
state: directory
- name: Ensure pip installed
become: yes
package:
@ -17,10 +17,10 @@
- name: Set backup vars
set_fact:
redis_story_filename: backup_redis_story_2021-04-13-04-00.rdb.gz
postgres_filename: backup_postgresql_2021-03-15-04-00.sql.gz
postgres_filename: backup_postgresql_2021-12-17-20-25.sql.gz
mongo_filename: backup_mongo_2021-03-15-04-00.tgz
redis_filename: backup_redis_2021-03-15-04-00.rdb.gz
tags: restore_postgres, restore_mongo, restore_redis, restore_redis_story
tags: never, restore_postgres, restore_mongo, restore_redis, restore_redis_story
- name: Download archives
amazon.aws.aws_s3:
@ -32,29 +32,29 @@
aws_access_key: "{{ lookup('ini', 'aws_access_key_id section=default file=/srv/secrets-newsblur/keys/aws.s3.token') }}"
aws_secret_key: "{{ lookup('ini', 'aws_secret_access_key section=default file=/srv/secrets-newsblur/keys/aws.s3.token') }}"
with_items:
- dir: /redis_story/
file: "{{ redis_story_filename }}"
# - dir: /postgres/
# file: "{{ postgres_filename }}"
# - dir: /redis_story/
# file: "{{ redis_story_filename }}"
- dir: /postgres/
file: "{{ postgres_filename }}"
# - dir: /mongo/
# file: "{{ mongo_filename }}"
# - dir: /backup_redis/
# file: "{{ redis_filename }}"
tags: restore_postgres, restore_mongo, restore_redis, restore_redis_story
tags: never, restore_postgres, restore_mongo, restore_redis, restore_redis_story
- name: Restore postgres
block:
- name: move postgres archive
become: yes
command: "mv -f /srv/newsblur/backups/{{ postgres_filename }} /srv/newsblur/docker/volumes/postgres"
command: "mv -f /srv/newsblur/backups/{{ postgres_filename }} /srv/newsblur/docker/volumes/postgres/"
ignore_errors: yes
- name: pg_restore
become: yes
command: |
docker exec -i db_postgres bash -c
"pg_restore -U newsblur --role=newsblur --dbname=newsblur /var/lib/postgresql/data/{{ postgres_filename }}"
tags: never,restore_postgres
docker exec -i postgres bash -c
"pg_restore -U newsblur --role=newsblur --dbname=newsblur /var/lib/postgresql/{{ postgres_filename }}"
tags: never, restore_postgres
- name: Restore mongo
block:
@ -72,7 +72,7 @@
command: |
docker exec -i db_mongo bash -c
"mongorestore --port 29019 --drop /data/db/{{ mongo_filename|regex_replace('.tgz$', '') }}/"
tags: never,restore_mongo
tags: never, restore_mongo
- name: Restore redis-story
block:
@ -80,4 +80,4 @@
become: yes
command: "mv -f /srv/newsblur/backups/{{ redis_story_filename }} /srv/newsblur/docker/volumes/redis/dump.rdb"
ignore_errors: yes
tags: never,restore_redis_story
tags: never, restore_redis_story

View file

@ -33,13 +33,13 @@
become: yes
shell:
# chdir: "/mnt/{{ inventory_hostname|regex_replace('db-', '')|regex_replace('-', '') }}"
cmd: sysbench fileio --file-total-size=150G prepare
cmd: sysbench fileio --file-total-size=50G prepare
- name: Run sysbench disk i/o
become: yes
shell:
# chdir: "/mnt/{{ inventory_hostname|regex_replace('db-', '')|regex_replace('-', '') }}"
cmd: sysbench fileio --file-total-size=150G --file-test-mode=rndrw --time=300 --max-requests=0 run
cmd: sysbench fileio --file-total-size=50G --file-test-mode=rndrw --time=300 --max-requests=0 run
register: io
- name: Cleanup sysbench

View file

@ -1,3 +1,3 @@
{
"iptables": false
}

View file

@ -11,8 +11,8 @@
networks:
- name: newsblurnet
env:
MONGODB_URI: 'mongodb://{{ inventory_hostname }}.node.nyc1.consul:27017/admin?'
# MONGODB_URI: 'mongodb://{{ mongodb_username }}:{{ mongodb_password }}@{{ inventory_hostname }}.node.nyc1.consul:27017/admin?authSource=admin'
# MONGODB_URI: 'mongodb://{{ inventory_hostname }}.node.nyc1.consul:27017/admin?'
MONGODB_URI: 'mongodb://{{ mongodb_username }}:{{ mongodb_password }}@{{ inventory_hostname }}.node.nyc1.consul:27017/admin?authSource=admin'
ports:
- '9216:9216'

View file

@ -32,7 +32,17 @@
fstype: xfs
opts: defaults,discard
state: mounted
when: false
- name: Set permissions on volume
become: yes
file:
path: "/mnt/{{ inventory_hostname | regex_replace('db-|-', '') }}"
state: directory
owner: 999
group: 999
recurse: yes
when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo-secondary', 'db-mongo-analytics']
- name: Copy MongoDB keyfile
become: yes
@ -98,22 +108,53 @@
ports:
- "27017:27017"
command: --config /etc/mongod.conf
user: 1000:1001
user: 999:999
volumes:
# - /mnt/{{ inventory_hostname | regex_replace('db-|-', '') }}:/data/db
- /mnt/{{ inventory_hostname | regex_replace('db-|-', '') }}:/data/db
- /srv/newsblur/ansible/roles/mongo/templates/mongo.analytics.conf:/etc/mongod.conf
- /srv/newsblur/config/mongodb_keyfile.key:/srv/newsblur/config/mongodb_keyfile.key
- /var/log/mongodb/:/var/log/mongodb/
- /opt/mongo/newsblur/backup/:/backup/
when: (inventory_hostname | regex_replace('[0-9]+', '')) == 'db-mongo-analytics'
- name: Create mongo database user
shell:
# Don't use this line below as it means there is already a username and password, so no need to set one
# sleep 2; docker exec mongo mongo -u "{{ mongodb_username }}" -p "{{ mongodb_password }}" --eval '
cmd: >-
sleep 2; docker exec mongo mongo --eval '
db.createUser(
{
user: "{{ mongodb_username }}",
pwd: "{{ mongodb_password }}",
roles: [
{ role: "root", db: "admin" },
]
}
)' admin
when: (inventory_hostname | regex_replace('[0-9]+', '')) == 'db-mongo-analytics'
register: auth_result
changed_when:
- auth_result.rc == 0
failed_when:
- "'Successfully added user' not in auth_result.stdout"
- "'already exists' not in auth_result.stdout"
- "'there are no users authenticated' not in auth_result.stdout"
tags:
- mongoauth
# - debug:
# msg: "{{ auth_result }}"
# tags:
# - mongoauth
- name: Register mongo in consul
tags: consul
become: yes
template:
src: consul_service.json
dest: /etc/consul.d/mongo.json
when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo', 'db-mongo-primary', 'db-mongo-secondary']
when: (inventory_hostname | regex_replace('[0-9]+', '')) in ['db-mongo-primary', 'db-mongo-secondary']
notify:
- reload consul

View file

@ -8,7 +8,7 @@
"port": 27017,
"checks": [{
"id": "mongo-analytics-ping",
"http": "http://{{ ansible_ssh_host }}:5579/db_check/mongo_analytics?consul=1,
"http": "http://{{ ansible_ssh_host }}:5579/db_check/mongo_analytics?consul=1",
"interval": "15s"
}]
}

View file

@ -7,3 +7,8 @@
name: consul
state: reloaded
listen: reload consul
- name: reload postgres config
become: yes
command: docker exec postgres pg_ctl reload
listen: reload postgres

View file

@ -1,20 +1,38 @@
---
- name: Start postgres container
- name: Template postgresql-13.conf file
template:
src: /srv/newsblur/docker/postgres/postgresql-13.conf.j2
dest: /srv/newsblur/docker/postgres/postgresql-13.conf
notify: reload postgres
register: updated_config
- name: Start postgres docker containers
become: yes
docker_container:
name: postgres
image: postgres:13.1
image: postgres:13
state: started
hostname: "{{ inventory_hostname }}"
container_default_behavior: no_defaults
command: postgres -D /var/lib/postgresql/pgdata -c config_file=/etc/postgresql/postgresql.conf
env:
POSTGRES_USER: newsblur
POSTGRES_PASSWORD: newsblur
restart_policy: unless-stopped
POSTGRES_PASSWORD: "{{ postgres_password }}"
hostname: "{{ inventory_hostname }}"
networks_cli_compatible: yes
# network_mode: host
network_mode: default
networks:
- name: newsblurnet
aliases:
- postgres
ports:
- '5432:5432'
- 5432:5432
volumes:
- /srv/newsblur/docker/volumes/postgres:/var/lib/postgresql/data
- /backup/:/var/lib/postgresql/backup/
- /srv/newsblur/docker/volumes/postgres:/var/lib/postgresql
- /srv/newsblur/docker/postgres/postgresql-13.conf:/etc/postgresql/postgresql.conf
- /srv/newsblur/docker/postgres/postgres_hba-13.conf:/etc/postgresql/pg_hba.conf
- /backup/:/var/lib/postgresql/backup/
restart_policy: unless-stopped
- name: Register postgres in consul
tags: consul
@ -25,12 +43,6 @@
notify:
- reload consul
- name: Register backup bucket
become: no
run_once: yes
register: backup_bucket
local_action: command /srv/newsblur/ansible/roles/postgres-exporter/tasks/get_credentials.py s3_bucket
- name: Add sanity checkers cronjob for disk usage
become: yes
cron:
@ -56,10 +68,9 @@
BACKUP_FILE=backup_postgresql_${NOW}.sql;
sudo docker exec -it postgres
/usr/lib/postgresql/13/bin/pg_dump -U newsblur -h 127.0.0.1 -Fc newsblur > backup/$BACKUP_FILE;
BUCKET={{ backup_bucket.stdout }};
sudo docker run --rm -it
-v /srv/newsblur:/srv/newsblur
-v /backup/:/backup/
--network=newsblurnet
newsblur/newsblur_python3
/srv/newsblur/utils/backups/backup_psql.py $BUCKET
python /srv/newsblur/utils/backups/backup_psql.py

View file

@ -1,6 +1,6 @@
{
"service": {
"name": "db-postgres",
"name": "db-postgres-staging",
"tags": [
"db"
],

View file

@ -1,4 +1,8 @@
---
- name: Add a vm.overcommit_memory setting at the end of the sysctl.conf
become: yes
sysctl: name=vm.overcommit_memory value=1 state=present reload=yes
- name: Template redis_replica.conf file
template:
src: /srv/newsblur/docker/redis/redis_replica.conf.j2
@ -6,6 +10,20 @@
notify: restart redis
register: updated_config
- name: Turning off secondary for redis by deleting redis_replica.conf
copy:
dest: /srv/newsblur/docker/redis/redis_replica.conf
content: ""
tags:
# - never
- replicaofnoone
- name: Setting Redis REPLICAOF NO ONE
shell: docker exec redis redis-cli REPLICAOF NO ONE
tags:
# - never
- replicaofnoone
- name: Start redis docker containers
become: yes
docker_container:
@ -30,16 +48,15 @@
- /srv/newsblur/docker/volumes/redis:/data
- /srv/newsblur/docker/redis/redis.conf:/usr/local/etc/redis/redis_server.conf
- /srv/newsblur/docker/redis/redis_replica.conf:/usr/local/etc/redis/redis_replica.conf
- /srv/newsblur/docker/volumes/redis.var.lib:/var/lib/redis
# - name: Register redis in consul
# become: yes
# template:
# src: consul_service.json
# dest: /etc/consul.d/redis.json
# notify:
# - reload consul
# tags: consul
- name: Register redis in consul
become: yes
template:
src: consul_service.json
dest: /etc/consul.d/redis.json
notify:
- reload consul
tags: consul
- name: Add sanity checkers cronjob for disk usage
become: yes
@ -85,7 +102,7 @@
job: >
docker run --rm
-v /srv/newsblur:/srv/newsblur
-v /srv/newsblur/docker/volumes/redis.var.lib/dump.rdb:/var/lib/redis/dump.rdb
-v /srv/newsblur/docker/volumes/redis/dump.rdb:/data/dump.rdb
--network=newsblurnet
--hostname={{ ansible_hostname }}
newsblur/newsblur_python3 /srv/newsblur/utils/backups/backup_redis.py
newsblur/newsblur_python3 python /srv/newsblur/utils/backups/backup_redis.py

View file

@ -0,0 +1,6 @@
---
- name: restart ufw
become: yes
service:
name: ufw
state: restarted

View file

@ -46,7 +46,7 @@
- firewall
- ufw
- name: Allow all access from inventory hosts with docker
- name: Allow all access from inventory hosts
become: yes
ufw:
rule: allow
@ -57,6 +57,55 @@
- firewall
- ufw
- name: Allow all access from inventory hosts with docker
become: yes
ufw:
rule: allow
route: yes
src: '{{ item }}'
with_items: "{{ groups['NewsBlur_Docker'] | map('extract', hostvars, ['ansible_host']) }}"
when: "'oldandnew' not in groups"
tags:
- firewall
- ufw
# Code from https://stackoverflow.com/a/51741599/8717: "What is the best practice of docker + ufw under Ubuntu"
- name: Solving UFW and Docker issues by adding ufw after.rules
become: yes
blockinfile:
dest: /etc/ufw/after.rules
state: present
block: |
# BEGIN UFW AND DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -j ufw-user-forward
-A DOCKER-USER -j RETURN -s 10.0.0.0/8
-A DOCKER-USER -j RETURN -s 172.16.0.0/12
-A DOCKER-USER -j RETURN -s 192.168.0.0/16
-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 172.16.0.0/12
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 172.16.0.0/12
-A DOCKER-USER -j RETURN
-A ufw-docker-logging-deny -j LOG --log-prefix "[UFW DOCKER BLOCK] "
-A ufw-docker-logging-deny -j DROP
COMMIT
# END UFW AND DOCKER
tags: docker
notify: restart ufw
- name: Start ufw
become: yes
ufw: state=enabled

View file

@ -7,6 +7,7 @@ class LoadTimes(View):
from apps.statistics.models import MStatistics
data = {
'feed_loadtimes_1min': MStatistics.get('last_1_min_time_taken'),
'feed_loadtimes_avg_hour': MStatistics.get('latest_avg_time_taken'),
'feeds_loaded_hour': MStatistics.get('latest_sites_loaded'),
}

View file

@ -57,7 +57,7 @@ class MStatistics(mongo.Document):
elif key in ('feeds_fetched', 'premium_users', 'standard_users', 'latest_sites_loaded',
'max_sites_loaded', 'max_stories_shared'):
values[key] = int(value)
elif key in ('latest_avg_time_taken', 'max_avg_time_taken', 'last_5_min_time_taken'):
elif key in ('latest_avg_time_taken', 'max_avg_time_taken', 'last_1_min_time_taken'):
values[key] = float(value)
values['total_sites_loaded'] = sum(values['sites_loaded']) if 'sites_loaded' in values else 0
@ -119,11 +119,11 @@ class MStatistics(mongo.Document):
now = round_time(datetime.datetime.now(), round_to=60)
sites_loaded = []
avg_time_taken = []
last_5_min_time_taken = 0
last_1_min_time_taken = 0
r = redis.Redis(connection_pool=settings.REDIS_STATISTICS_POOL)
for hour in range(24):
start_hours_ago = now - datetime.timedelta(hours=hour+1)
for hours_ago in range(24):
start_hours_ago = now - datetime.timedelta(hours=hours_ago+1)
pipe = r.pipeline()
for m in range(60):
@ -137,8 +137,8 @@ class MStatistics(mongo.Document):
counts = [int(c) for c in times[::2] if c]
avgs = [float(a) for a in times[1::2] if a]
if hour == 0:
last_5_min_time_taken = round(sum(avgs[:1]) / max(1, sum(counts[:1])), 2)
if hours_ago == 0:
last_1_min_time_taken = round(sum(avgs[:1]) / max(1, sum(counts[:1])), 2)
if counts and avgs:
count = max(1, sum(counts))
@ -160,7 +160,7 @@ class MStatistics(mongo.Document):
('latest_avg_time_taken', avg_time_taken[-1]),
('max_sites_loaded', max(sites_loaded)),
('max_avg_time_taken', max(1, max(avg_time_taken))),
('last_5_min_time_taken', last_5_min_time_taken),
('last_1_min_time_taken', last_1_min_time_taken),
)
for key, value in values:
cls.objects(key=key).update_one(upsert=True, set__key=key, set__value=value)

View file

@ -5,6 +5,9 @@
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" />
{%- seo -%}
<link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}">

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A New Logo for a New Blog | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A New Logo for a New Blog" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Explaining Intelligence | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Explaining Intelligence" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Where We Are in April | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Where We Are in April" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Make your own feed reader with NewsBlurs new API | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Make your own feed reader with NewsBlurs new API" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Blar: A new Android app for NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Blar: A new Android app for NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Customizing the reader, step 1: story titles | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Customizing the reader, step 1: story titles" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A Social Feed Reader | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A Social Feed Reader" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>2011: Year in Review | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="2011: Year in Review" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>SSL &amp; Stripe.js | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="SSL &amp; Stripe.js" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>From project to profession: going indie on NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="From project to profession: going indie on NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>New mobile app for NewsBlur: Web Feeds for Nokia MeeGo | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="New mobile app for NewsBlur: Web Feeds for Nokia MeeGo" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Knight News Challenge: NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Knight News Challenge: NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Building real-time feed updates for NewsBlur with Redis and WebSockets | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Building real-time feed updates for NewsBlur with Redis and WebSockets" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Introducing Blurblogs, Roy, and Y Combinator | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Introducing Blurblogs, Roy, and Y Combinator" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Take it to the couch with the NewsBlur iPad app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Take it to the couch with the NewsBlur iPad app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Giving Life to “The People Have Spoken” | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Giving Life to “The People Have Spoken”" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Do the robot: the official NewsBlur Android app is here | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Do the robot: the official NewsBlur Android app is here" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Extreme makeover: NewsBlur iOS app edition | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Extreme makeover: NewsBlur iOS app edition" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Time for some free NewsBlur swag! | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Time for some free NewsBlur swag!" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>The sharing bookmarklet: bringing your online explorations to NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="The sharing bookmarklet: bringing your online explorations to NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A blurblog of ones own: new privacy controls | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A blurblog of ones own: new privacy controls" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Three Months to Scale NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Three Months to Scale NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>The NewsBlur Redesign | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="The NewsBlur Redesign" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Keyboard Shortcuts Manager | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Keyboard Shortcuts Manager" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Read NewsBlur on your Mac with the new ReadKit | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Read NewsBlur on your Mac with the new ReadKit" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Text view comes to the NewsBlur iOS app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Text view comes to the NewsBlur iOS app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>NewsBlur Puzzle T-shirt 2013 | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="NewsBlur Puzzle T-shirt 2013" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Simple Search for Feeds, Saved Stories, and Blurblogs | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Simple Search for Feeds, Saved Stories, and Blurblogs" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Mark as read by number of days and other improvements | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Mark as read by number of days and other improvements" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Upping unread stories to 30 days for premium accounts | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Upping unread stories to 30 days for premium accounts" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Offline reading with the NewsBlur iOS app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Offline reading with the NewsBlur iOS app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>The NewsBlur iPhone and iPad app meets iOS 7 | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="The NewsBlur iPhone and iPad app meets iOS 7" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Version 3.0 of the NewsBlur Android App | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Version 3.0 of the NewsBlur Android App" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Background updates and dynamic font sizing on the NewsBlur iOS app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Background updates and dynamic font sizing on the NewsBlur iOS app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Faster parallel network requests for version 3.5 of the NewsBlur Android app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Faster parallel network requests for version 3.5 of the NewsBlur Android app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Three new features for the web: syntax highlighting for source code, adjustable video widths, and footnotes | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Three new features for the web: syntax highlighting for source code, adjustable video widths, and footnotes" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Saved story tagging | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Saved story tagging" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Connect NewsBlur to dozens of web services with IFTTT | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Connect NewsBlur to dozens of web services with IFTTT" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>NewsBlur iOS 4.0 features a new dashboard, gestures and sharing controls | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="NewsBlur iOS 4.0 features a new dashboard, gestures and sharing controls" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Google Reader announced its shutdown exactly a year ago | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Google Reader announced its shutdown exactly a year ago" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>The new font and style manager | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="The new font and style manager" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Unread is a new iOS app with NewsBlur support | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Unread is a new iOS app with NewsBlur support" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Full text search across all of your subscriptions and folders | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Full text search across all of your subscriptions and folders" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Use the new Saved Stories view to find saved stories by site | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Use the new Saved Stories view to find saved stories by site" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Temporarily mute sites | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Temporarily mute sites" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Read what youve read recently with the new recently read stories feed | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Read what youve read recently with the new recently read stories feed" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Adjust the font size of feed and story titles | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Adjust the font size of feed and story titles" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Reeder and NewsBlur, sitting in a tree… | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Reeder and NewsBlur, sitting in a tree…" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A Downtime Irony | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A Downtime Irony" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>NewsBlurs 2014 t-shirt on sale for this week only | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="NewsBlurs 2014 t-shirt on sale for this week only" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>NewsBlur iOS v4.5: iPhone 6 and iOS 8, full bleed images, alt text, and more | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="NewsBlur iOS v4.5: iPhone 6 and iOS 8, full bleed images, alt text, and more" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A new way to use the Story view while on https (SSL) | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A new way to use the Story view while on https (SSL)" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Offline reading and a dark theme on the Android app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Offline reading and a dark theme on the Android app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>The iOS app gets search and saved story tagging | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="The iOS app gets search and saved story tagging" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Organize your subscriptions with the new Organizer | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Organize your subscriptions with the new Organizer" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Bigger story previews with the new Grid view | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Bigger story previews with the new Grid view" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A real solution to the deprecated YouTube API | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A real solution to the deprecated YouTube API" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Reply to shared stories that have no comment | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Reply to shared stories that have no comment" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Read Stories feed and a rewritten networking stack on v4.3.0 of the NewsBlur Android App | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Read Stories feed and a rewritten networking stack on v4.3.0 of the NewsBlur Android App" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Even the folders have RSS feeds | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Even the folders have RSS feeds" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Lets all upgrade to version 4.5.0 of the NewsBlur Android app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Lets all upgrade to version 4.5.0 of the NewsBlur Android app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Join the NewsBlur iOS beta | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Join the NewsBlur iOS beta" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Premium fonts, comment-less shares, in-app Safari, and way, way more in version 5.0 of the NewsBlur iOS app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Premium fonts, comment-less shares, in-app Safari, and way, way more in version 5.0 of the NewsBlur iOS app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Better embeds for Twitter, Instagram, and Imgur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Better embeds for Twitter, Instagram, and Imgur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Power users need powerful statistics | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Power users need powerful statistics" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Search for pizza with your Android device | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Search for pizza with your Android device" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Two new third-party NewsBlur apps for iOS and Windows | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Two new third-party NewsBlur apps for iOS and Windows" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Story thumbnails for story titles | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Story thumbnails for story titles" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Tracking story changes with NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Tracking story changes with NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A heavier lifting Android app | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A heavier lifting Android app" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>NewsBlur goes dark … on iOS | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="NewsBlur goes dark … on iOS" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Twitters back, baby | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Twitters back, baby" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Newsletters in your NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Newsletters in your NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Newsreel is a NewsBlur app for tv | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Newsreel is a NewsBlur app for tv" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>The dashboard river will keep you up-to-date in real-time | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="The dashboard river will keep you up-to-date in real-time" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>A new NewsBlur Android release for the new year | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="A new NewsBlur Android release for the new year" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Preview NewsBlurs upcoming hardware device, Turn Touch | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Preview NewsBlurs upcoming hardware device, Turn Touch" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Introducing Turn Touch, a beautiful wooden remote for lights, devices, apps, and NewsBlur | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Introducing Turn Touch, a beautiful wooden remote for lights, devices, apps, and NewsBlur" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Last day to back Turn Touch: NewsBlurs beautiful remote | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Last day to back Turn Touch: NewsBlurs beautiful remote" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Saved searches make it easy to create custom feeds | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="Saved searches make it easy to create custom feeds" />

View file

@ -5,7 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://newsblur.com/media/img/favicon.ico" type="image/png" />
<link rel="icon" href="https://newsblur.com/media/img/favicon_32.png" sizes="32x32"/>
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/><!-- Begin Jekyll SEO tag v2.7.1 -->
<link rel="icon" href="https://newsblur.com/media/img/favicon_64.png" sizes="64x64"/>
<link rel="alternate" type="application/rss+xml"
title="The NewsBlur Blog RSS feed"
href="/feed.xml" /><!-- Begin Jekyll SEO tag v2.7.1 -->
<title>NewsBlurs Twitter support just got a whole lot better | The NewsBlur Blog</title>
<meta name="generator" content="Jekyll v4.2.0" />
<meta property="og:title" content="NewsBlurs Twitter support just got a whole lot better" />

Some files were not shown because too many files have changed in this diff Show more