Lots of product page work for Luminotes Desktop.
This commit is contained in:
parent
6c018a2879
commit
6bd2dd510f
5
NEWS
5
NEWS
|
@ -1,4 +1,7 @@
|
|||
1.5.0:
|
||||
1.5.0 beta 2:
|
||||
*
|
||||
|
||||
1.5.0 beta 1: August 27, 2008
|
||||
* Completed the Luminotes Desktop Windows installer.
|
||||
* Improved logging, so tracebacks in production and desktop mode actually go
|
||||
to a file. Also removed logs on startup to prevent endless log growth.
|
||||
|
|
|
@ -110,6 +110,15 @@ settings = {
|
|||
"luminotes.unsubscribe_button":
|
||||
"""
|
||||
""",
|
||||
"luminotes.download_button":
|
||||
"""
|
||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
||||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="image" src="/static/images/download_button.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
||||
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
||||
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----">
|
||||
</form>
|
||||
""",
|
||||
},
|
||||
"/files/download": {
|
||||
"stream_response": True,
|
||||
|
|
|
@ -17,6 +17,7 @@ from view.Main_page import Main_page
|
|||
from view.Front_page import Front_page
|
||||
from view.Tour_page import Tour_page
|
||||
from view.Upgrade_page import Upgrade_page
|
||||
from view.Download_page import Download_page
|
||||
from view.Forums_page import Forums_page
|
||||
from view.Notebook_rss import Notebook_rss
|
||||
from view.Json import Json
|
||||
|
@ -344,6 +345,28 @@ class Root( object ):
|
|||
redirect = u"/pricing",
|
||||
)
|
||||
|
||||
@expose( view = Download_page )
|
||||
@strongly_expire
|
||||
@end_transaction
|
||||
@grab_user_id
|
||||
@validate(
|
||||
user_id = Valid_id( none_okay = True ),
|
||||
)
|
||||
def download( self, user_id = None ):
|
||||
"""
|
||||
Provide the information necessary to display the Luminotes download page.
|
||||
"""
|
||||
result = self.__users.current( user_id )
|
||||
parents = [ notebook for notebook in result[ u"notebooks" ] if notebook.trash_id and not notebook.deleted ]
|
||||
if len( parents ) > 0:
|
||||
result[ "first_notebook" ] = parents[ 0 ]
|
||||
else:
|
||||
result[ "first_notebook" ] = None
|
||||
|
||||
result[ "download_button" ] = self.__settings[ u"global" ].get( u"luminotes.download_button" )
|
||||
|
||||
return result
|
||||
|
||||
# TODO: move this method to controller.Notebooks, and maybe give it a more sensible name
|
||||
@expose( view = Json )
|
||||
@end_transaction
|
||||
|
|
|
@ -113,6 +113,12 @@
|
|||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
.desktop_screenshot {
|
||||
float: right;
|
||||
text-align: center;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.heading {
|
||||
padding: 0.5em;
|
||||
margin-top: 1em;
|
||||
|
@ -364,6 +370,10 @@
|
|||
font-size: 82%;
|
||||
}
|
||||
|
||||
.download_button_area {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.yearly_link {
|
||||
font-size: 82%;
|
||||
}
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
<h3>download</h3>
|
||||
<h3>source code</h3>
|
||||
|
||||
<p>
|
||||
First of all: <b>You don't need to download any software if you just want to
|
||||
First of all: <b>You don't need to download any source code if you just want to
|
||||
make a wiki!</b> For that, simply
|
||||
<a href="/users/demo" target="_top">try the demo</a>, or
|
||||
<a href="/pricing" target="_top">sign up</a> for a free account.
|
||||
<a href="/users/demo" target="_top">try the demo</a>,
|
||||
<a href="/download" target="_top">download</a> Luminotes Desktop, or
|
||||
<a href="/pricing" target="_top">sign up</a> for a free account online.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
But if you do want to run Luminotes on your own server, here is the
|
||||
necessary software:
|
||||
But if you do want to run Luminotes on your own server or run Luminotes
|
||||
Desktop on Linux, here is the necessary software:
|
||||
<ul>
|
||||
<li><a href="/static/luminotes.tar.gz" target="_top">Luminotes
|
||||
server</a> (stable release)</li>
|
||||
|
@ -18,10 +19,8 @@ server</a> (stable release)</li>
|
|||
|
||||
<p>
|
||||
It is licensed under the terms of the <a
|
||||
href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU GPL</a>. To use
|
||||
this software, you'll need a Linux machine with Python and PostgreSQL. More
|
||||
details, including installation instructions, can be found within the included
|
||||
INSTALL file.
|
||||
href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU GPL</a>.
|
||||
Installation instructions can be found within the included INSTALL file.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -29,10 +28,10 @@ If you have any problems or questions, please let me know. See my <a
|
|||
href="/notebooks/%s?note_id=new">contact info</a> for details.
|
||||
</p>
|
||||
|
||||
<h3>source code repository</h3>
|
||||
<h3>development repository</h3>
|
||||
|
||||
<p>
|
||||
The download link above is the most recent stable release of Luminotes server.
|
||||
The download link above is the most recent stable release of Luminotes.
|
||||
If you're interested in getting your hands on the development version of
|
||||
Luminotes, then you should use the Luminotes <a
|
||||
href="http://www.selenic.com/mercurial/" target="_top">Mercurial</a> source
|
||||
|
@ -46,7 +45,7 @@ browse the source code online:
|
|||
<p>
|
||||
I should emphasize that this is the development version of Luminotes. This
|
||||
means it's intended for developers and likely contains untested or
|
||||
unfinished features. If you want to run a production server, download the
|
||||
unfinished features. If you want to run a production version, download the
|
||||
stable release above rather than using the development version.
|
||||
</p>
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 59 KiB |
Binary file not shown.
|
@ -17,7 +17,7 @@ class Initializer( object ):
|
|||
( u"meet the team.html", False ),
|
||||
( u"contact info.html", False ),
|
||||
( u"login.html", False ),
|
||||
( u"download.html", False ),
|
||||
( u"source code.html", False ),
|
||||
( u"password reset.html", False ),
|
||||
( u"advanced browser features.html", False ),
|
||||
( u"supported browsers.html", False ),
|
||||
|
|
|
@ -18,7 +18,7 @@ class Updater( object ):
|
|||
( u"meet the team.html", False ),
|
||||
( u"contact info.html", False ),
|
||||
( u"login.html", False ),
|
||||
( u"download.html", False ),
|
||||
( u"source code.html", False ),
|
||||
( u"password reset.html", False ),
|
||||
( u"advanced browser features.html", False ),
|
||||
( u"supported browsers.html", False ),
|
||||
|
|
|
@ -0,0 +1,286 @@
|
|||
from Product_page import Product_page
|
||||
from Tags import Div, H1, Img, A, P, Table, Th, Tr, Td, Li, Span, I, Br, Ul, Li, Script, H4, B
|
||||
|
||||
|
||||
class Download_page( Product_page ):
|
||||
def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups, download_button ):
|
||||
MEGABYTE = 1024 * 1024
|
||||
|
||||
Product_page.__init__(
|
||||
self,
|
||||
user,
|
||||
first_notebook,
|
||||
login_url,
|
||||
logout_url,
|
||||
u"download", # note title
|
||||
|
||||
Script( type = u"text/javascript", src = u"/static/js/MochiKit.js" ),
|
||||
|
||||
Div(
|
||||
Div(
|
||||
H1(
|
||||
Img(
|
||||
src = u"/static/images/download.png",
|
||||
width = u"181", height = u"41",
|
||||
alt = u"download",
|
||||
),
|
||||
),
|
||||
P(
|
||||
"""
|
||||
Install Luminotes on your computer. 60-day money-back guarantee.
|
||||
""",
|
||||
class_ = u"upgrade_subtitle",
|
||||
),
|
||||
Div(
|
||||
Div(
|
||||
Img( src = u"/static/images/installer_screenshot.png", width = u"350", height = u"273" ),
|
||||
class_ = u"desktop_screenshot",
|
||||
),
|
||||
P(
|
||||
Table(
|
||||
Tr(
|
||||
Th( u" " ),
|
||||
Th(
|
||||
u"Luminotes Desktop",
|
||||
Div(
|
||||
download_button,
|
||||
class_ = u"download_button_area",
|
||||
),
|
||||
class_ = u"plan_name",
|
||||
)
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
A( u"Unlimited storage space", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'storage_description' ); return false;" ),
|
||||
class_ = u"feature_name",
|
||||
),
|
||||
Td(
|
||||
Img( src = u"/static/images/check.png", width = u"22", height = u"22" ),
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
Ul(
|
||||
Li( u"More space for your wiki notes." ),
|
||||
Li( u"More space for your documents and files." ),
|
||||
),
|
||||
colspan = u"2",
|
||||
id = u"storage_description",
|
||||
class_ = u"feature_description undisplayed",
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
A( u"Unlimited wiki notebooks", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'notebooks_description' ); return false;" ),
|
||||
class_ = u"feature_name",
|
||||
),
|
||||
Td(
|
||||
Img( src = u"/static/images/check.png", width = u"22", height = u"22" ),
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
Ul(
|
||||
Li( u"Create a unique notebook for each subject." ),
|
||||
Li( u"Keep work and personal notebooks separate." ),
|
||||
),
|
||||
colspan = u"2",
|
||||
id = u"notebooks_description",
|
||||
class_ = u"feature_description undisplayed",
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
A( u"Friendly email support", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'support_description' ); return false;" ),
|
||||
class_ = u"feature_name",
|
||||
),
|
||||
Td(
|
||||
Img( src = u"/static/images/check.png", width = u"22", height = u"22" ),
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
Ul(
|
||||
Li( u"Fast email responses to your support questions. From a real live human." ),
|
||||
Li( u"No waiting on hold with a call center." ),
|
||||
),
|
||||
colspan = u"2",
|
||||
id = u"support_description",
|
||||
class_ = u"feature_description undisplayed",
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
A( u"Notes stored on your own computer", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'local_storage' ); return false;" ),
|
||||
class_ = u"feature_name",
|
||||
),
|
||||
Td(
|
||||
Img( src = u"/static/images/check.png", width = u"22", height = u"22" ),
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
Ul(
|
||||
Li( u"All of your notes are stored privately on your own computer." ),
|
||||
Li( u"A future release will support optional online syncing." ),
|
||||
),
|
||||
colspan = u"2",
|
||||
id = u"local_storage",
|
||||
class_ = u"feature_description undisplayed",
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
A( u"Works without an internet connection", href = u"#", onclick = u"toggleElementClass( 'undisplayed', 'works_offline' ); return false;" ),
|
||||
class_ = u"feature_name",
|
||||
),
|
||||
Td(
|
||||
Img( src = u"/static/images/check.png", width = u"22", height = u"22" ),
|
||||
),
|
||||
),
|
||||
Tr(
|
||||
Td(
|
||||
Ul(
|
||||
Li( u"Take notes in meetings, in class, or while on the go." ),
|
||||
Li( u"Runs in a web browser, but no internet connection is needed." ),
|
||||
),
|
||||
colspan = u"2",
|
||||
id = u"works_offline",
|
||||
class_ = u"feature_description undisplayed",
|
||||
),
|
||||
),
|
||||
border = u"1",
|
||||
id = u"upgrade_table",
|
||||
),
|
||||
class_ = u"upgrade_table_area",
|
||||
),
|
||||
class_ = u"wide_center_area",
|
||||
),
|
||||
|
||||
class_ = u"upgrade_area",
|
||||
),
|
||||
|
||||
Div(
|
||||
Div(
|
||||
H4( u"What operating systems are supported?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
u"""
|
||||
Luminotes Desktop currently supports Windows XP, and Windows Vista. Future
|
||||
releases will support Mac OS X as well. And Linux users should get the
|
||||
""",
|
||||
A( u"source code", href = "/source_code" ),
|
||||
"directly.",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
P(
|
||||
u"""
|
||||
If Luminotes Desktop does not support your operating system currently, or you just
|
||||
don't want to install anything on your computer, you can still use Luminotes
|
||||
online! Simply
|
||||
""",
|
||||
A( u"sign up", href = "/pricing" ),
|
||||
"""
|
||||
for an online Luminotes account. With the online version of Luminotes, there's
|
||||
nothing to download or install.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"How many users are supported?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
u"""
|
||||
Luminotes Desktop is designed for individual note taking. If you're interested
|
||||
in sharing and collaboration, take a look at
|
||||
""",
|
||||
A( u"the online version of Luminotes", href = "/pricing" ),
|
||||
"""
|
||||
for those features.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"Is my wiki private?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
u"""
|
||||
Absolutely. With Luminotes Desktop, your notes are stored locally on your own
|
||||
computer, not on the web. But if you do want to access your wiki both locally
|
||||
and online, a future release will include optional online synchronization.
|
||||
There is also a complete
|
||||
""",
|
||||
A( u"Luminotes privacy policy", href = "/privacy" ),
|
||||
u"""
|
||||
so please check that out if you're interested in how Luminotes
|
||||
protects your privacy.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"Are upgrades included?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
"""
|
||||
When you purchase Luminotes Desktop, you automatically get full access to all future
|
||||
upgrades.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"What forms of payment do you accept?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
"""
|
||||
When you click the "Buy Now" button above, you'll be presented with a simple checkout
|
||||
page. You can purchase Luminotes Desktop with either a credit card or PayPal. It's
|
||||
fast and secure. You do not need a PayPal account to make the purchase.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
P(
|
||||
"""
|
||||
After you fill out the payment information, you will be able to download Luminotes
|
||||
Desktop and start taking notes right away.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"What is your refund policy?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
"""
|
||||
It's this simple: Luminotes Desktop comes with a 60-day money-back guarantee. No questions asked.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"What happens to my wiki if I stop using Luminotes?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
"""
|
||||
There is no lock-in with Luminotes. You can export your entire wiki whenever you like.
|
||||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
class_= u"wide_center_area",
|
||||
),
|
||||
|
||||
P(
|
||||
Table(
|
||||
Tr(
|
||||
Th(
|
||||
u"Luminotes Desktop",
|
||||
Div(
|
||||
download_button,
|
||||
class_ = u"download_button_area",
|
||||
),
|
||||
class_ = u"plan_name",
|
||||
)
|
||||
),
|
||||
id = u"upgrade_table_small",
|
||||
),
|
||||
class_= u"upgrade_table_area",
|
||||
),
|
||||
|
||||
Div(
|
||||
P(
|
||||
Span( u"Have a question before you buy?", class_ = u"hook_action_question" ), Br(),
|
||||
A( u"Contact support", href = u"/contact_info", class_ = u"hook_action" ),
|
||||
class_ = u"hook_action_area",
|
||||
separator = u"",
|
||||
),
|
||||
class_ = u"center_area",
|
||||
),
|
||||
|
||||
class_ = u"wide_center_area",
|
||||
),
|
||||
),
|
||||
)
|
|
@ -47,11 +47,10 @@ class Front_page( Product_page ):
|
|||
),
|
||||
P(
|
||||
A( u"Take a tour", href = u"/tour", class_ = u"hook_action" ), u", ",
|
||||
A( u"Try the demo", href = u"/users/demo", class_ = u"hook_action" ), u", ",
|
||||
A( u"Try the demo", href = u"/users/demo", class_ = u"hook_action" ), u", ", Br(),
|
||||
A( u"Download", href = u"/download", class_ = u"hook_action" ), u", ",
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up", href = u"/pricing", class_ = u"hook_action" ),
|
||||
Br(),
|
||||
Span( u"Sign up in seconds. For free.", class_ = u"hook_action_detail" ),
|
||||
class_ = u"hook_action_area",
|
||||
separator = u"",
|
||||
),
|
||||
|
@ -349,7 +348,8 @@ class Front_page( Product_page ):
|
|||
P(
|
||||
Span( u"Sound interesting?", class_ = u"hook_action_question" ), Br(),
|
||||
A( u"Take a tour", href = u"/tour", class_ = u"hook_action" ), u", ",
|
||||
A( u"Try the demo", href = u"/users/demo", class_ = u"hook_action" ), u", ",
|
||||
A( u"Try the demo", href = u"/users/demo", class_ = u"hook_action" ), u", ", Br(),
|
||||
A( u"Download", href = u"/download", class_ = u"hook_action" ), u", ",
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up", href = u"/pricing", class_ = u"hook_action" ),
|
||||
class_ = u"hook_action_area",
|
||||
|
|
|
@ -34,8 +34,10 @@ class Header( Div ):
|
|||
Div(
|
||||
( note_title == u"home" ) and title_image or A( title_image, href = u"/" ),
|
||||
( login_url and user.username == u"anonymous" ) and Div(
|
||||
( note_title == u"pricing" ) and Span( u"sign up for free", class_ = u"bold_link" ) or \
|
||||
A( u"sign up for free", href = u"/pricing", class_ = u"bold_link" ), u" | ",
|
||||
( note_title == u"download" ) and Span( u"download", class_ = u"bold_link" ) or \
|
||||
A( u"download", href = u"/download", class_ = u"bold_link" ), u" | ",
|
||||
( note_title == u"pricing" ) and Span( u"sign up", class_ = u"bold_link" ) or \
|
||||
A( u"sign up", href = u"/pricing", class_ = u"bold_link" ), u" | ",
|
||||
A(
|
||||
u"login",
|
||||
href = login_url,
|
||||
|
@ -62,6 +64,14 @@ class Header( Div ):
|
|||
),
|
||||
" | ",
|
||||
) or None,
|
||||
( note_title == u"download" ) and Span( u"download", class_ = u"bold_link" ) or \
|
||||
A(
|
||||
u"download",
|
||||
href = u"/download",
|
||||
title = u"Download Luminotes to run on your own computer.",
|
||||
class_ = u"bold_link",
|
||||
),
|
||||
" | ",
|
||||
user.username and Span(
|
||||
A(
|
||||
u"upgrade",
|
||||
|
@ -71,11 +81,11 @@ class Header( Div ):
|
|||
),
|
||||
" | ",
|
||||
) or Span(
|
||||
( note_title == u"pricing" ) and Span( u"sign up for free", class_ = u"bold_link" ) or \
|
||||
( note_title == u"pricing" ) and Span( u"sign up", class_ = u"bold_link" ) or \
|
||||
A(
|
||||
u"sign up for free",
|
||||
u"sign up",
|
||||
href = u"/pricing",
|
||||
title = u"Sign up for a real Luminotes account.",
|
||||
title = u"Sign up for an online Luminotes account.",
|
||||
class_ = u"bold_link",
|
||||
),
|
||||
" | ",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from Tags import Div, P, Span, H4, A, Strong, Img, Input
|
||||
from Tags import Div, P, Span, H4, A, Strong, Img, Input, Br
|
||||
from Rounded_div import Rounded_div
|
||||
from Search_form import Search_form
|
||||
|
||||
|
@ -186,7 +186,10 @@ class Link_area( Div ):
|
|||
),
|
||||
|
||||
( user.username is None and notebook_path != "/" ) and P(
|
||||
A( u"Sign up for free", href = u"/pricing", class_ = u"hook_action" ),
|
||||
A( u"Download", href = u"/download", class_ = u"hook_action" ),
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up", href = u"/pricing", class_ = u"hook_action" ), Br(),
|
||||
Span( "Get started in seconds.", class_ = u"hook_action_detail" ),
|
||||
class_ = u"hook_action_area",
|
||||
separator = u"",
|
||||
) or None,
|
||||
|
|
|
@ -23,9 +23,9 @@ class Product_page( Page ):
|
|||
Div(
|
||||
Div(
|
||||
u"Copyright ©2008 Luminotes", u" | ",
|
||||
A( u"download", href = u"/download" ), u" | ",
|
||||
A( u"contact", href = u"/contact_info" ), u" | ",
|
||||
A( u"support", href = u"/support" ), u" | ",
|
||||
A( u"source code", href = u"/source_code" ), u" | ",
|
||||
A( u"team", href = u"/meet_the_team" ), u" | ",
|
||||
A( u"blog", href = u"/blog" ), u" | ",
|
||||
A( u"privacy", href = u"/privacy" ),
|
||||
|
|
|
@ -106,9 +106,10 @@ class Tour_page( Product_page ):
|
|||
Div(
|
||||
P(
|
||||
Span( u"Like what you've seen so far?", class_ = u"hook_action_question" ), Br(),
|
||||
A( u"Try the demo", href = u"/users/demo", class_ = u"hook_action" ),
|
||||
A( u"Try the demo", href = u"/users/demo", class_ = u"hook_action" ), u", ",
|
||||
A( u"Download", href = u"/download", class_ = u"hook_action" ), u", ",
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up for free", href = u"/pricing", class_ = u"hook_action" ),
|
||||
A( u"Sign up", href = u"/pricing", class_ = u"hook_action" ),
|
||||
class_ = u"hook_action_area",
|
||||
separator = u"",
|
||||
),
|
||||
|
|
|
@ -245,6 +245,16 @@ class Upgrade_page( Product_page ):
|
|||
""",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"Do you have a desktop version I can download?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
u"""
|
||||
Yes! If you want to download Luminotes and take notes locally instead of on the web,
|
||||
check out
|
||||
""",
|
||||
A( u"Luminotes Desktop", href = "/download" ), ".",
|
||||
separator = u"",
|
||||
class_ = u"upgrade_text",
|
||||
),
|
||||
H4( u"Is my wiki private?", class_ = u"upgrade_question" ),
|
||||
P(
|
||||
u"""
|
||||
|
|
Reference in New Issue