mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Adding FAQ and About pages. Privacy -> Publishers.
This commit is contained in:
parent
583e45fcf8
commit
9f865e6db4
8 changed files with 338 additions and 90 deletions
|
@ -25,10 +25,6 @@ def press(request):
|
|||
return render_to_response('static/press.xhtml', {},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
def privacy(request):
|
||||
return render_to_response('static/privacy_policy.xhtml', {},
|
||||
def publishers(request):
|
||||
return render_to_response('static/publishers.xhtml', {},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
def tos(request):
|
||||
return render_to_response('static/tos.xhtml', {},
|
||||
context_instance=RequestContext(request))
|
|
@ -2573,7 +2573,7 @@ form.opml_import_form input {
|
|||
}
|
||||
|
||||
.NB-splash-info .NB-splash-links a,
|
||||
.NB-modal-about a,
|
||||
.NB-static a,
|
||||
a.NB-splash-link {
|
||||
color: #405BA8;
|
||||
text-decoration: none;
|
||||
|
@ -2581,7 +2581,7 @@ a.NB-splash-link {
|
|||
}
|
||||
|
||||
.NB-splash-info .NB-splash-links a:hover,
|
||||
.NB-modal-about a:hover,
|
||||
.NB-static a:hover,
|
||||
a.NB-splash-link:hover {
|
||||
color: #A85B40;
|
||||
}
|
||||
|
@ -4183,75 +4183,6 @@ background: transparent;
|
|||
margin: 0 10px;
|
||||
}
|
||||
|
||||
/* =============== */
|
||||
/* = About Modal = */
|
||||
/* =============== */
|
||||
|
||||
.NB-modal-about ul {
|
||||
margin: 2px 12px 4px 0;
|
||||
padding: 0 0 1px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.NB-modal-about ul li {
|
||||
margin: 0 0 12px;
|
||||
padding-left: 20px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.NB-modal-about ul li.last {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.NB-modal-about ul.NB-about-what li {
|
||||
background: transparent url('../img/icons/silk/bullet_blue.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-modal-about ul.NB-about-server li {
|
||||
background: transparent url('../img/icons/silk/bullet_yellow.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-modal-about ul.NB-about-client li {
|
||||
background: transparent url('../img/icons/silk/bullet_red.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-modal-about ul.NB-about-who li {
|
||||
background: transparent url('../img/icons/silk/bullet_green.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-modal-about ul.NB-about-why li {
|
||||
background: transparent url('../img/icons/silk/bullet_orange.png') no-repeat 0 0;
|
||||
}
|
||||
|
||||
.NB-modal-about .NB-link-about-faq {
|
||||
float: right;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.NB-modal-about ul li .NB-faq-question {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.NB-modal-about ul li .NB-faq-answer {
|
||||
line-height: 18px;
|
||||
color: #404040;
|
||||
margin: 0 0 16px 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.NB-modal-about ul li .NB-faq-answer.last {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.NB-modal-about .NB-trainer-bullet {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.NB-modal-about .NB-faq-image {
|
||||
float: right;
|
||||
border-color:#C0C0C0 #A0A0A0 #A0A0A0 #C0C0C0;
|
||||
border-style:solid;
|
||||
border-width:1px;
|
||||
}
|
||||
|
||||
/* ===================== */
|
||||
/* = Feedchooser Modal = */
|
||||
/* ===================== */
|
||||
|
@ -4859,7 +4790,7 @@ background: transparent;
|
|||
|
||||
.NB-static {
|
||||
overflow: auto;
|
||||
padding-bottom: 65px;
|
||||
padding: 78px 0 65px;
|
||||
font-size: 13px;
|
||||
color: #303030;
|
||||
line-height: 18px;
|
||||
|
@ -4871,8 +4802,9 @@ background: transparent;
|
|||
}
|
||||
|
||||
.NB-static .NB-static-title {
|
||||
position: relative;
|
||||
display: inline;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
height: 55px;
|
||||
font-size: 36px;
|
||||
line-height: 78px;
|
||||
|
@ -4897,6 +4829,23 @@ background: transparent;
|
|||
.NB-static ul {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.NB-static pre {
|
||||
overflow-x: auto;
|
||||
padding: 8px;
|
||||
}
|
||||
.NB-static pre,
|
||||
.NB-static code {
|
||||
background-color: ghostWhite;
|
||||
padding: 0px 4px;
|
||||
border: 1px solid #DEDEDE;
|
||||
font: normal normal normal 11px/normal Menlo, Consolas, Monaco, Courier, monospace;
|
||||
}
|
||||
.NB-static .NB-module-title-prefix {
|
||||
color: #A0A0A0;
|
||||
padding: 0 8px 0 0;
|
||||
}
|
||||
|
||||
/* ============== */
|
||||
/* = Press Page = */
|
||||
/* ============== */
|
||||
|
@ -4915,10 +4864,83 @@ background: transparent;
|
|||
}
|
||||
.NB-static-press-reviews .NB-press-publisher img {
|
||||
vertical-align: text-bottom;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
.NB-static-press-reviews .NB-press-author {
|
||||
font-weight: bold;
|
||||
}
|
||||
.NB-static-press-reviews .NB-press-date {
|
||||
color: #404040;
|
||||
}
|
||||
|
||||
/* ============== */
|
||||
/* = About page = */
|
||||
/* ============== */
|
||||
|
||||
.NB-static-about ul,
|
||||
.NB-static-faq ul {
|
||||
margin: 2px 12px 4px 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.NB-static-about ul li
|
||||
.NB-static-faq ul li {
|
||||
margin: 0 0 12px;
|
||||
padding-left: 20px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.NB-static-about ul li.last,
|
||||
.NB-static-static ul li.last {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.NB-static-about ul.NB-about-what li {
|
||||
background: transparent url('../img/icons/silk/bullet_blue.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-static-about ul.NB-about-server li {
|
||||
background: transparent url('../img/icons/silk/bullet_yellow.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-static-about ul.NB-about-client li {
|
||||
background: transparent url('../img/icons/silk/bullet_red.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-static-about ul.NB-about-who li {
|
||||
background: transparent url('../img/icons/silk/bullet_green.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-static-about ul.NB-about-why li {
|
||||
background: transparent url('../img/icons/silk/bullet_orange.png') no-repeat 0 0;
|
||||
}
|
||||
|
||||
.NB-static-faq .NB-link-about-faq {
|
||||
float: right;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.NB-static-faq ul li .NB-faq-question {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.NB-static-faq ul li .NB-faq-answer {
|
||||
line-height: 18px;
|
||||
color: #404040;
|
||||
margin: 0 0 16px 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.NB-static-faq ul li .NB-faq-answer.last {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.NB-static-faq .NB-trainer-bullet {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.NB-static-faq .NB-faq-image {
|
||||
float: right;
|
||||
border-color:#C0C0C0 #A0A0A0 #A0A0A0 #C0C0C0;
|
||||
border-style:solid;
|
||||
border-width:1px;
|
||||
}
|
|
@ -94,14 +94,14 @@
|
|||
<div class="NB-splash-info NB-splash-bottom">
|
||||
<a href="{% url index %}"><img class="NB-splash-title" src="{{ MEDIA_URL }}/img/logo_newsblur.png" /></a>
|
||||
<ul class="NB-splash-links">
|
||||
<li class="NB-splash-link NB-splash-meta-faq"><a href="#faq">FAQ</a></li>
|
||||
<li class="NB-splash-link NB-splash-meta-about"><a href="#about">About</a></li>
|
||||
<li class="NB-splash-link"><a href="{% url faq %}">FAQ</a></li>
|
||||
<li class="NB-splash-link"><a href="{% url about %}">About</a></li>
|
||||
<li class="NB-splash-link NB-first NB-splash-link-github"><a href="http://github.com/samuelclay">GitHub</a></li>
|
||||
</ul>
|
||||
<ul class="NB-splash-links NB-splash-links-2">
|
||||
<li class="NB-splash-link"><a href="{% url api %}">API</a></li>
|
||||
<li class="NB-splash-link"><a href="{% url press %}">Press</a></li>
|
||||
<li class="NB-splash-link"><a href="{% url privacy %}">Privacy</a></li>
|
||||
<li class="NB-splash-link"><a href="{% url publishers %}">Publishers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
68
templates/static/about.xhtml
Normal file
68
templates/static/about.xhtml
Normal file
|
@ -0,0 +1,68 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block bodyclass %}NB-static{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="NB-static-title">
|
||||
About NewsBlur
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title"><span class="NB-module-title-prefix">What:</span>A Feed Reader with Intelligence</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-what">
|
||||
<li>Read the original site or the RSS feed.</li>
|
||||
<li>Automatically highlight stories you want to read.</li>
|
||||
<li class="last">Filter out stories you don't want to read.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title"><span class="NB-module-title-prefix">Who:</span>A Labor of Love</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-who">
|
||||
<li>Hand-crafted by: <a href="http://www.samuelclay.com">Samuel Clay</a></li>
|
||||
<li>Find him on Twitter: <a href="http://twitter.com/samuelclay">@samuelclay</a></li>
|
||||
<li>E-mail: <a href="mailto:samuel@ofbrooklyn.com">samuel@ofbrooklyn.com</a></li>
|
||||
<li class="last">Made in: <a href="http://www.newyorkfieldguide.com">New York City</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title"><span class="NB-module-title-prefix">How:</span>Server-side technologies</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-server">
|
||||
<li><a href="http://www.djangoproject.com">Django</a>: Web framework written in Python, used to serve all pages.</li>
|
||||
<li><a href="http://ask.github.com/celery">Celery</a> & <a href="http://www.rabbitmq.com">RabbitMQ</a>: Asynchronous queueing server, used to fetch and parse RSS feeds.</li>
|
||||
<li><a href="http://www.mongodb.com">MongoDB</a>, <a href="http://www.mongodb.com/pymongo">Pymongo</a>, & <a href="http://www.github.com/hmarr/mongoengine">Mongoengine</a>: Non-relational database, used to store stories, read stories, feed/page fetch histories, and proxied sites.</li>
|
||||
<li class="last"><a href="http://www.postgresql.com">PostgreSQL</a>: Relational database, used to store feeds, subscriptions, and user accounts.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title"><span class="NB-module-title-prefix">How:</span>Client-side and design</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-client">
|
||||
<li><a href="http://www.jquery.com">jQuery</a>: Cross-browser compliant JavaScript code. IE works without effort.</li>
|
||||
<li><a href="http://documentcloud.github.com/underscore/">Underscore.js</a>: Functional programming for JavaScript. Indispensible.</li>
|
||||
<li><b>Miscellaneous jQuery Plugins:</b> Everything from resizable layouts, to progress bars, sortables, date handling, colors, corners, JSON, animations. See the complete list on <a href="http://github.com/samuelclay/NewsBlur/">NewsBlur's GitHub repository</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title"><span class="NB-module-title-prefix">Why:</span>What's the point of another RSS feed reader?</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-why">
|
||||
<li>To learn how to build and scale the entire web stack: front-end JavaScript, HTML5 layout, back-end view processing, large dataset schema migrations, relational and non-relational database clusters across multiple servers, and getting multiple machines to talk to each other.</li>
|
||||
<li>All of this just to prove that I could do it.</li>
|
||||
<li>But most importantly, to meet future co-founders.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
141
templates/static/faq.xhtml
Normal file
141
templates/static/faq.xhtml
Normal file
|
@ -0,0 +1,141 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block bodyclass %}NB-static NB-static-faq{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="NB-static-title">
|
||||
Frequently Asked Questions
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title">The Reader</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-what">
|
||||
<li>
|
||||
<div class="NB-faq-question">
|
||||
What is the difference between the three views: Original, Feed, and Story?
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
Original view is the original site. Feed view is the RSS feed from the site. And Story view is the original site for one story at a time. Original view is the blog site, whereas Story view is an individual blog post. It's all personal preference, really.
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
You can double-click a story to temporarily open it up in the Story view. The next story you open will transport you back to whichever view you were on before. Double-clicking a Feed will open up the feed in a new tab.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="NB-faq-question">
|
||||
Am I actually at the original site? Can NewsBlur see what I see?
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
In order to show you the original site, NewsBlur takes a snapshot of the page. You may have noticed that if you are logged into the original site, you are not logged into NewsBlur's snapshot of the page. This is because NewsBlur fetched the site for you.
|
||||
</div>
|
||||
</li>
|
||||
<li class="last">
|
||||
<div class="NB-faq-question">
|
||||
Why doesn't NewsBlur follow me when I click on links on the page?
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
When you click on a link, you are technically leaving NewsBlur, although only for a portion of the page in an iframe. In order to track what you're reading, you need to read NewsBlur's snapshot of the page, or switch to the Feed view.
|
||||
</div>
|
||||
<div class="NB-faq-answer last">
|
||||
This may change one day. There is a way to fix this behavior so it works like you would expect. It is not easy to do, however. One day.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title">The Intelligence</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-server">
|
||||
<li>
|
||||
<div class="NB-faq-question">
|
||||
What does the three-color slider do?
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
<img src="/media//img/reader/intelligence_slider_positive.png" class="NB-faq-image" width="114" height="29">This is called the intelligence slider. Slide it to the right to only show stories you like.
|
||||
</div>
|
||||
<div class="NB-faq-answer last">
|
||||
<img src="/media//img/reader/intelligence_slider_negative.png" class="NB-faq-image" width="114" height="29">Slide it to the left to show stories you dislike. Stories all start off neutral, in the center of the slider.
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
<br>
|
||||
<img class="NB-trainer-bullet" src="/media//img/icons/silk/bullet_red.png"> are stories you don't like<br>
|
||||
<img class="NB-trainer-bullet" src="/media//img/icons/silk/bullet_yellow.png"> are stories you have not yet rated<br>
|
||||
<img class="NB-trainer-bullet" src="/media//img/icons/silk/bullet_green.png"> are stories you like
|
||||
</div>
|
||||
</li>
|
||||
<li class="last">
|
||||
<div class="NB-faq-question">
|
||||
How does NewsBlur know whether I like or dislike a story?
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
When you like or dislike a story, you mark a facet of that story by checking a tag, author, part of the title, or entire publisher. When these facets are found in future stories, the stories are then weighted with your preferences. It is a very simple, explicit process where you tell NewsBlur what you like and don't like.
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
The idea is that by explicitly telling NewsBlur what your story preferences are, there is increased likelihood that you will like what the intelligence slider does for you.
|
||||
</div>
|
||||
<div class="NB-faq-answer last">
|
||||
Currently, there is not an automated way of detecting stories you like or dislike without having to train NewsBlur. This implicit, automatic intelligence will come in the near-term future, but it will require an evolution to the interface that has not been easy to figure out how to make in a simple, clear, and effective manner. Soon.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title">What's Coming</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-who">
|
||||
<li>
|
||||
<div class="NB-faq-answer">
|
||||
An iPhone app.
|
||||
</div>
|
||||
</li>
|
||||
<li class="last">
|
||||
<div class="NB-faq-answer last">
|
||||
Sort sites alphabetically, by popularity, use, unread counts.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title">Something's Wrong</h5>
|
||||
<div class="NB-module-content">
|
||||
<ul class="NB-about-client">
|
||||
<li>
|
||||
<div class="NB-faq-question">
|
||||
Help! All of the stories are several days old and new stories are not showing up.
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
Sites that only have a single subscriber tend to get updated much less often than popular sites. Additionally, the frequency that a site publishes stories (once per month or several per day) has an impact on how often the site is refreshed.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="NB-faq-question">
|
||||
Help! A bunch of my sites are misbehaving and they work in Google Reader.
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
This is a known issue that is being addressed in a number of ways. About half of these misbehaving errors are errors that you really do need to address (like 404 Not Found errors). The other half are various edge cases, parser errors, uncaught exceptions, and bad code on NewsBlur's part.
|
||||
</div>
|
||||
<div class="NB-faq-answer">
|
||||
But because this problem is so severe, various measures are taken every few weeks that fix a huge swath of misbheaving sites at once. You might find that this happens and it's quite nice when it does.
|
||||
</div>
|
||||
</li>
|
||||
<li class="last">
|
||||
<div class="NB-faq-question">
|
||||
Help! I have an issue and it's not mentioned here.
|
||||
</div>
|
||||
<div class="NB-faq-answer last">
|
||||
Please, please, please e-mail <a href="mailto:samuel@ofbrooklyn.com">samuel@ofbrooklyn.com</a>. If you have an issue it is entirely possible that other people do, too.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
|
@ -45,11 +45,8 @@
|
|||
</a>
|
||||
<span class="NB-press-publisher">
|
||||
<img src="http://blogaliving.com/wp-content/uploads/2011/01/blogalivingfav.png">
|
||||
BlogALiving.com
|
||||
</span>,
|
||||
<span class="NB-press-author">
|
||||
Chris
|
||||
</span>,
|
||||
BlogALiving.com</span>,
|
||||
<span class="NB-press-author">Chris</span>,
|
||||
<span class="NB-press-date">
|
||||
Mar 8, 2011
|
||||
</span>
|
||||
|
|
25
templates/static/publishers.xhtml
Normal file
25
templates/static/publishers.xhtml
Normal file
|
@ -0,0 +1,25 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% block bodyclass %}NB-static{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="NB-static-title">
|
||||
Publishers on NewsBlur
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title">Control the Original View</h5>
|
||||
<div class="NB-module-content">
|
||||
<p>Just add the <code>post</code> to each post's class.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NB-module">
|
||||
<h5 class="NB-module-title">Graceful iFrame Busting</h5>
|
||||
<div class="NB-module-content">
|
||||
To ensure that NewsBlur readers only use the Feed view...
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
3
urls.py
3
urls.py
|
@ -16,8 +16,7 @@ urlpatterns = patterns('',
|
|||
url(r'^faq/?', static_views.faq, name='faq'),
|
||||
url(r'^api/?', static_views.api, name='api'),
|
||||
url(r'^press/?', static_views.press, name='press'),
|
||||
url(r'^privacy/?', static_views.privacy, name='privacy'),
|
||||
url(r'^tos/?', static_views.tos, name='tos'),
|
||||
url(r'^publishers/?', static_views.publishers, name='publishers'),
|
||||
)
|
||||
|
||||
if settings.DEVELOPMENT:
|
||||
|
|
Loading…
Add table
Reference in a new issue