Beginning revamp of tour page and screenshots.
|
@ -12,6 +12,7 @@ from model.Notebook import Notebook
|
|||
from model.User import User
|
||||
from view.Main_page import Main_page
|
||||
from view.Front_page import Front_page
|
||||
from view.Tour_page import Tour_page
|
||||
from view.Notebook_rss import Notebook_rss
|
||||
from view.Upgrade_note import Upgrade_note
|
||||
from view.Json import Json
|
||||
|
@ -170,6 +171,25 @@ class Root( object ):
|
|||
|
||||
return result
|
||||
|
||||
@expose( view = Tour_page )
|
||||
@grab_user_id
|
||||
@validate(
|
||||
user_id = Valid_id( none_okay = True ),
|
||||
)
|
||||
def tour( self, user_id ):
|
||||
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
|
||||
|
||||
return result
|
||||
|
||||
# @expose()
|
||||
def take_a_tour( self ):
|
||||
return dict( redirect = u"/tour" )
|
||||
|
||||
@expose( view = Main_page, rss = Notebook_rss )
|
||||
@grab_user_id
|
||||
@validate(
|
||||
|
|
|
@ -53,7 +53,8 @@
|
|||
}
|
||||
|
||||
.header {
|
||||
background-color: #b0d0ff;
|
||||
background-image: url(/static/images/header.png);
|
||||
background-repeat: repeat-x;
|
||||
height: 60px;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
|
@ -98,7 +99,7 @@
|
|||
|
||||
.explanation {
|
||||
width: 400px;
|
||||
min-height: 300px;
|
||||
min-height: 310px;
|
||||
text-align: center;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
@ -117,16 +118,18 @@
|
|||
font-size: 105%;
|
||||
}
|
||||
|
||||
.hook_action_question {
|
||||
}
|
||||
|
||||
.hook_action_or {
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
.screenshot {
|
||||
.front_screenshot {
|
||||
float: right;
|
||||
width: 400px;
|
||||
height: 300px;
|
||||
text-align: center;
|
||||
margin-left: 20px;
|
||||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
.heading {
|
||||
|
@ -214,3 +217,32 @@
|
|||
font-size: 85%;
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.tour_area {
|
||||
text-align: center;
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1em;
|
||||
background-color: #ffffff;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.tour_screenshot {
|
||||
margin: 1.5em 1em 0.25em 1em;
|
||||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
.tour_text {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
width: 500px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.tour_list {
|
||||
margin-top: 0em;
|
||||
}
|
||||
|
||||
.tour_screenshot_wrapper {
|
||||
padding: 1em;
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 179 B |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 136 KiB |
|
@ -1198,7 +1198,8 @@ Wiki.prototype.save_editor = function ( editor, fire_and_forget, callback ) {
|
|||
editor = this.focused_editor;
|
||||
|
||||
var self = this;
|
||||
if ( editor && editor.read_write && !( editor.id == this.blank_editor_id && editor.empty() ) && !editor.closed && editor.dirty() ) {
|
||||
if ( editor && editor.read_write && !( editor.id == this.blank_editor_id && editor.empty() ) && !editor.closed ) {
|
||||
// if ( editor && editor.read_write && !( editor.id == this.blank_editor_id && editor.empty() ) && !editor.closed && editor.dirty() ) {
|
||||
this.invoker.invoke( "/notebooks/save_note", "POST", {
|
||||
"notebook_id": this.notebook_id,
|
||||
"note_id": editor.id,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from Product_page import Product_page
|
||||
from Tags import Div, Img, A, P, Table, Tr, Td, Li, Span, I
|
||||
from Tags import Div, Img, A, P, Table, Tr, Td, Li, Span, I, Br
|
||||
|
||||
|
||||
class Front_page( Product_page ):
|
||||
|
@ -16,11 +16,11 @@ class Front_page( Product_page ):
|
|||
Div(
|
||||
Div(
|
||||
A(
|
||||
Img( src = u"/static/images/screenshot_small.png", width = u"400", height = u"291" ),
|
||||
Img( src = u"/static/images/screenshot_small.png", width = u"400", height = u"308" ),
|
||||
href = u"/static/images/screenshot.png",
|
||||
target = u"_new",
|
||||
),
|
||||
class_ = u"screenshot",
|
||||
class_ = u"front_screenshot",
|
||||
),
|
||||
Div(
|
||||
Div(
|
||||
|
@ -47,7 +47,7 @@ class Front_page( Product_page ):
|
|||
align = u"center",
|
||||
),
|
||||
P(
|
||||
A( u"Take a tour", href = u"/take_a_tour", class_ = u"hook_action" ), u", ",
|
||||
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", ",
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up", href = u"/sign_up", class_ = u"hook_action" ),
|
||||
|
@ -147,7 +147,7 @@ class Front_page( Product_page ):
|
|||
Div(
|
||||
P(
|
||||
u"""
|
||||
Luminotes is a personal wiki notebook for organizing your notes and ideas.
|
||||
Luminotes is a WYSIWYG personal wiki notebook for organizing your notes and ideas.
|
||||
You don't have to use any special markup codes or install any software. You
|
||||
simply start typing.
|
||||
""",
|
||||
|
@ -215,7 +215,8 @@ class Front_page( Product_page ):
|
|||
|
||||
Div(
|
||||
P(
|
||||
A( u"Take a tour", href = u"/take_a_tour", class_ = u"hook_action" ), u", ",
|
||||
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", ",
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up", href = u"/sign_up", class_ = u"hook_action" ),
|
||||
|
|
|
@ -62,7 +62,7 @@ class Product_page( Page ):
|
|||
),
|
||||
Div(
|
||||
( note_title == u"home" ) and Span( u"home", class_ = u"bold_link" ) or A( u"home", href = u"/" ), u" | ",
|
||||
( note_title == u"tour" ) and Span( u"tour", class_ = u"bold_link" ) or A( u"tour", href = u"/take_a_tour" ), u" | ",
|
||||
( note_title == u"tour" ) and Span( u"tour", class_ = u"bold_link" ) or A( u"tour", href = u"/tour" ), u" | ",
|
||||
( note_title == u"demo" ) and Span( u"demo", class_ = u"bold_link" ) or A( u"demo", href = u"/users/demo" ), u" | ",
|
||||
( note_title == u"upgrade" ) and Span( u"upgrade", class_ = u"bold_link" ) or A( u"pricing", href = u"/upgrade" ), u" | ",
|
||||
( note_title == u"faq" ) and Span( u"faq", class_ = u"bold_link" ) or A( u"faq", href = u"/faq" ), u" | ",
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
from Product_page import Product_page
|
||||
from Tags import Div, Img, A, Ol, Li, P, Span, I, Br
|
||||
|
||||
|
||||
class Tour_page( Product_page ):
|
||||
def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan ):
|
||||
Product_page.__init__(
|
||||
self,
|
||||
user,
|
||||
first_notebook,
|
||||
login_url,
|
||||
logout_url,
|
||||
u"tour", # note title
|
||||
|
||||
Div(
|
||||
Div(
|
||||
Img(
|
||||
src = u"/static/images/tour.png",
|
||||
width = u"277", height = u"47",
|
||||
alt = u"Luminotes Tour",
|
||||
),
|
||||
),
|
||||
Div(
|
||||
Img( src = u"/static/images/tour_screenshot1.png", width = u"725", height = u"558", class_ = u"tour_screenshot" ),
|
||||
Div(
|
||||
Div(
|
||||
Ol(
|
||||
Li( u"Format your wiki with this convenient toolbar" ),
|
||||
Li( u"Just start typing — everything is saved automatically" ),
|
||||
Li( u"Search everything in your wiki" ),
|
||||
Li( u"Make as many notebooks as you want" ),
|
||||
class_ = u"tour_list",
|
||||
),
|
||||
class_ = u"tour_text",
|
||||
),
|
||||
),
|
||||
),
|
||||
Div(
|
||||
Img( src = u"/static/images/screenshot.png", width = u"725", height = u"558", class_ = u"tour_screenshot" ),
|
||||
Div(
|
||||
Div(
|
||||
Ol(
|
||||
Li( u"Connect your thoughts with links between notes" ),
|
||||
Li( u"Download your entire wiki with a single click" ),
|
||||
Li( u"Attach files to your wiki and download them anytime" ),
|
||||
Li( u"Track past revisions and make updates without worry" ),
|
||||
class_ = u"tour_list",
|
||||
),
|
||||
class_ = u"tour_text",
|
||||
),
|
||||
),
|
||||
),
|
||||
Div(
|
||||
Img( src = u"/static/images/screenshot.png", width = u"725", height = u"558", class_ = u"tour_screenshot" ),
|
||||
Div(
|
||||
Div(
|
||||
Ol(
|
||||
Li( u"Share your wiki with friends and colleages" ),
|
||||
Li( u"Send invites simply by entering email addresses" ),
|
||||
Li( u"Control how much access each person gets" ),
|
||||
Li( u"Revoke access at any time" ),
|
||||
class_ = u"tour_list",
|
||||
),
|
||||
class_ = u"tour_text",
|
||||
),
|
||||
),
|
||||
class_ = u"tour_screenshot_wrapper",
|
||||
),
|
||||
class_ = u"tour_area"
|
||||
),
|
||||
|
||||
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" ),
|
||||
Span( u" or ", class_ = u"hook_action_or" ),
|
||||
A( u"Sign up", href = u"/sign_up", class_ = u"hook_action" ),
|
||||
class_ = u"hook_action_area",
|
||||
separator = u"",
|
||||
),
|
||||
class_ = u"center_area",
|
||||
),
|
||||
)
|