Exemple #1
0
  def __init__(
    self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups, forum_name,
    threads, total_thread_count, start = 0, count = None,
  ):
    base_path = cherrypy.request.path
    updates_path = "%s?rss" % base_path

    if forum_name == u"blog":
      full_forum_name = u"Luminotes %s" % forum_name
    else:
      full_forum_name = u"%s forum" % forum_name

    Product_page.__init__(
      self,
      user,
      first_notebook,
      login_url,
      logout_url,
      full_forum_name, # note title
      Link( rel = u"alternate", type = u"application/rss+xml", title = full_forum_name, href = updates_path ) or None,

      P(
        H1( full_forum_name ),
      ),
      Div(
        P(
          base_path.startswith( u"/forums/" ) and Span(
            B( A( u"start a new discussion", href = os.path.join( base_path, u"create_thread" ) ) ),
            u" | ",
            A( u"all forums", href = u"/forums/" ),
            u" | ",
          ) or None,
          A( u"subscribe to rss", href = updates_path ),
          A(
            Img( src = u"/static/images/rss.png", width = u"14", height = u"14", class_ = u"middle_image padding_left" ),
            href = updates_path,
          ),
          class_ = u"small_text",
        ) or None,
        [ Div(
          A(
            thread.name,
            href = ( forum_name == u"blog" ) and \
              os.path.join( base_path, thread.friendly_id ) or \
              "%s?posts=%s" % ( os.path.join( base_path, thread.object_id ), thread.note_count ),
          ),
          Span(
            self.post_count( thread, forum_name ),
            class_ = u"small_text",
          )
        ) for thread in threads ],
        class_ = u"forum_threads", 
      ),
      Page_navigation( base_path, len( threads ), total_thread_count, start, count ),
    )
  def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups ):
    Product_page.__init__(
      self,
      user,
      first_notebook,
      login_url,
      logout_url,
      u"forums", # note title

      Div(
        Div(
          Img(
            src = u"/static/images/forums.png",
            width = u"335", height = u"47",
            alt = u"Discussion Forums",
          ),
        ),
        Div(
          Span( A( u"general discussion", href = u"/forums/general/" ), class_ = u"forum_title" ),
          P(
            u"""
            Swap tips about making the most out of your personal wiki, and discuss your ideas for
            new Luminotes features and enhancements.
            """
          ),
          Span( A( u"technical support", href = u"/forums/support/" ), class_ = u"forum_title" ),
          P( u"Having a problem with your wiki? Something not working as expected? Ask about it here." ),
          class_ = u"forums_text",
        ),
        class_ = u"forums_area", 
      ),

      Div(
        P(
          Span( u"Need more help?", class_ = u"hook_action_question" ), Br(),
          A( u"Contact support directly", href = u"/contact_info", class_ = u"hook_action" ),
          class_ = u"hook_action_area",
          separator = u"",
        ),
        class_ = u"center_area",
      ),
    )
Exemple #3
0
    def __init__(
        self,
        user,
        notebooks,
        first_notebook,
        login_url,
        logout_url,
        rate_plan,
        groups,
        forum_name,
        threads,
        total_thread_count,
        start=0,
        count=None,
    ):
        base_path = cherrypy.request.path
        updates_path = "%s?rss" % base_path

        if forum_name == u"blog":
            full_forum_name = u"Luminotes %s" % forum_name
        else:
            full_forum_name = u"%s forum" % forum_name

        Product_page.__init__(
          self,
          user,
          first_notebook,
          login_url,
          logout_url,
          full_forum_name, # note title
          Link( rel = u"alternate", type = u"application/rss+xml", title = full_forum_name, href = updates_path ) or None,

          P(
            H1( full_forum_name ),
          ),
          Div(
            P(
              base_path.startswith( u"/forums/" ) and Span(
                B( A( u"start a new discussion", href = os.path.join( base_path, u"create_thread" ) ) ),
                u" | ",
                A( u"all forums", href = u"/forums/" ),
                u" | ",
              ) or None,
              A( u"subscribe to rss", href = updates_path ),
              A(
                Img( src = u"/static/images/rss.png", width = u"14", height = u"14", class_ = u"middle_image padding_left" ),
                href = updates_path,
              ),
              class_ = u"small_text",
            ) or None,
            [ Div(
              A(
                thread.name,
                href = ( forum_name == u"blog" ) and \
                  os.path.join( base_path, thread.friendly_id ) or \
                  "%s?posts=%s" % ( os.path.join( base_path, thread.object_id ), thread.note_count ),
              ),
              Span(
                self.post_count( thread, forum_name ),
                class_ = u"small_text",
              )
            ) for thread in threads ],
            class_ = u"forum_threads",
          ),
          Page_navigation( base_path, len( threads ), total_thread_count, start, count ),
        )
Exemple #4
0
 def __init__(self, user, notebooks, first_notebook, login_url, logout_url,
              rate_plan, groups):
     Product_page.__init__(
         self,
         user,
         first_notebook,
         login_url,
         logout_url,
         u"home",  # note title
         Div(
             Div(
                 Div(
                     A(
                         Img(src=u"/static/images/screenshot_small.png",
                             width=u"400",
                             height=u"308"),
                         href=u"/tour",
                     ),
                     class_=u"front_screenshot",
                 ),
                 Div(
                     Div(
                         Img(
                             src=u"/static/images/hook.png",
                             width=u"400",
                             height=u"51",
                             alt=u"Collect your thoughts.",
                         ), ),
                     P(
                         Img(
                             src=u"/static/images/sub_hook.png",
                             width=u"307",
                             height=u"54",
                             alt=
                             u"Get organized with your own Luminotes personal wiki notebook.",
                         ), ),
                     Table(
                         Td(
                             Li(u"Gather all of your ideas into one place."
                                ),
                             Li(u"Easily link together related concepts."),
                             Li(u"As simple to use as index cards."),
                             align=u"left",
                         ),
                         align=u"center",
                     ),
                     P(
                         A(u"Take a tour",
                           href=u"/tour",
                           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",
                           href=u"/pricing",
                           class_=u"hook_action"),
                         class_=u"hook_action_area",
                         separator=u"",
                     ),
                     class_=u"explanation",
                 ),
                 class_=u"wide_center_area",
             ),
             class_=u"hook_area",
         ),
         Div(
             Div(
                 Div(
                     Img(
                         src=u"/static/images/quotes.png",
                         class_=u"heading",
                         width=u"253",
                         height=u"31",
                         alt=u"What people are saying",
                     ), ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"Luminotes is a wiki without the markup learning curve.",
                             class_=u"quote_title",
                             separator=u"",
                         ),
                         u"""
           ... Luminotes has you simply start typing, using familiar rich text buttons to add bullets and other styling, and a simple linking and tagging system for your notes."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(u"-Kevin Purdy, ",
                         A(u"Review on Lifehacker",
                           href=
                           u"http://lifehacker.com/386813/luminotes-is-a-wiki-without-the-markup-learning-curve"
                           ),
                         class_=u"quote_signature"),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"Imagine an application that combines the features of a wiki and a web-based notebook.",
                             class_=u"quote_title",
                             separator=u"",
                         ),
                         u"""
           ... as a multi-user notebook that allows you to quickly take notes and collaborate on them with other users, Luminotes is unbeatable."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(u"-Dmitri Popov, ",
                         A(u"Review on Linux.com",
                           href=u"http://www.linux.com/feature/132297"),
                         class_=u"quote_signature"),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"As soon as I saw Luminotes I knew it was what I and my students needed.",
                             class_=u"quote_title",
                             separator=u"",
                         ),
                         u"""
           Clear, easy to use and beautifully simple."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(u"-Jonathan Lecun, Director, ",
                         A(u"UK Teachers Online",
                           href=u"http://www.ukteachersonline.co.uk/"),
                         class_=u"quote_signature"),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"Luminotes has saved me an immense amount of time with my current novel.",
                             class_=u"quote_title",
                         ),
                         u"""
           No more digging through mounds of text or trying to make sense of notes scrawled on random pages of my notebook months ago."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(
                         u"Michail Velichansky, Writer",
                         class_=u"quote_signature",
                     ),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"What I love most about Luminotes is the ",
                             I(u"simplicity"),
                             u" of it.",
                             class_=u"quote_title",
                             separator=u"",
                         ),
                         u"""
           Maybe I have a touch of ADD, but I get so distracted with other products and
           all the gadgets, bells, and whistles they offer. I spend more time fiddling
           with the features than actually working. Luminotes, for me, recreates the old
           index card method we all used for term papers in high school."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(u"-Michael Miller, President & CEO, Mighty Hero Entertainment, Inc.",
                         class_=u"quote_signature"),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"I'm a wiki addict, so I've tried most of them, desktop and web-based.",
                             class_=u"quote_title",
                             separator=u"",
                         ),
                         u"""
           What I like about your excellent product is the modeless editing (no edit
           and save buttons). This makes Luminotes the fastest web-based wiki I have
           used."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(u"-Scott Tiner, Technical Writer",
                         class_=u"quote_signature"),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"I came across your software using the WikiMatrix comparison and fell in love instantly.",
                             class_=u"quote_title",
                             separator=u"",
                         ),
                         u"""
           This is probably the best personal wiki software I have seen to date. Playing with
           the demo sold me completely. The design, interface, usage, and above all how bloody
           easy it is is perfect."
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(u"-Kyle Gruel", class_=u"quote_signature"),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"Marvelous! Simply marvelous!",
                             class_=u"quote_title",
                         ),
                         u"""
           Very simple to use, and I can access it from any computer. Great idea!"
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(
                         u"-Lydia Newkirk",
                         class_=u"quote_signature",
                     ),
                     class_=u"quote",
                 ),
                 Div(
                     Div(
                         u'"',
                         Span(
                             u"I just wanted to thank you for the great work with Luminotes!",
                             class_=u"quote_title",
                         ),
                         u"""
           I use it both at home and at work, and it's a big help!"
           """,
                         class_=u"quote_text",
                         separator=u"",
                     ),
                     Div(
                         u"-Brian M.B. Keaney",
                         class_=u"quote_signature",
                     ),
                     class_=u"quote",
                 ),
                 class_=u"quotes_area",
             ),
             Div(
                 Img(
                     src=u"/static/images/what_is_luminotes.png",
                     class_=u"heading",
                     width=u"214",
                     height=u"29",
                     alt=u"What is Luminotes?",
                 ),
                 Div(
                     P(
                         u"""
           Luminotes is a WYSIWYG personal wiki notebook for organizing your notes and ideas.
           It's designed for note taking and note keeping without the hassle
           of learning special markup codes. You simply start typing.
           """, ),
                     Table(
                         Tr(
                             Td(
                                 A(
                                     Img(src=
                                         u"/static/images/wysiwyg_thumb.png",
                                         width=u"175",
                                         height="100",
                                         class_=u"thumbnail"),
                                     href=u"/tour",
                                 ),
                                 Div(u"Create a wiki visually",
                                     class_=u"thumbnail_caption"),
                                 Div(u"Make a wiki as easily as writing a document.",
                                     class_=u"thumbnail_caption_detail"),
                                 class_=u"thumbnail_cell",
                             ),
                             Td(
                                 A(
                                     Img(src=
                                         u"/static/images/connect_thumb.png",
                                         width=u"175",
                                         height="100",
                                         class_=u"thumbnail"),
                                     href=u"/tour",
                                 ),
                                 Div(u"Link your notes together",
                                     class_=u"thumbnail_caption"),
                                 Div(u"Connect your thoughts with links between notes.",
                                     class_=u"thumbnail_caption_detail"),
                                 class_=u"thumbnail_cell",
                             ),
                         ),
                         Tr(
                             Td(
                                 A(
                                     Img(src=
                                         u"/static/images/download_thumb.png",
                                         width=u"175",
                                         height="100",
                                         class_=u"thumbnail"),
                                     href=u"/tour",
                                 ),
                                 Div(u"Take your wiki to go",
                                     class_=u"thumbnail_caption"),
                                 Div(u"Download your wiki as a web page or spreadsheet.",
                                     class_=u"thumbnail_caption_detail"),
                                 class_=u"thumbnail_cell",
                             ),
                             Td(
                                 A(
                                     Img(src=
                                         u"/static/images/share_thumb.png",
                                         width=u"175",
                                         height="100",
                                         class_=u"thumbnail"),
                                     href=u"/tour",
                                 ),
                                 Div(u"Share your thoughts",
                                     class_=u"thumbnail_caption"),
                                 Div(u"Invite friends and colleagues to collaborate.",
                                     class_=u"thumbnail_caption_detail"),
                                 class_=u"thumbnail_cell",
                             ),
                         ),
                         class_=u"thumbnail_area",
                     ),
                     P(u"What can you do with Luminotes?", ),
                     Ul(
                         Li(u"Outline a story"),
                         Li(u"Plan a trip"),
                         Li(u"Collect recipes"),
                         Li(u"Record your ideas"),
                         Li(u"Keep track of your tasks"),
                         Li(u"Take notes"),
                         class_=u"compact_list",
                     ),
                     P(
                         u"""
           Luminotes is open source / free software and licensed under the terms of the
           GNU GPL.
           """, ),
                     class_=u"what_is_luminotes_text",
                 ),
                 Div(
                     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"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",
                         separator=u"",
                     ), ),
                 class_=u"what_is_luminotes_area",
             ),
             class_=u"wide_center_area",
         ),
         P(
             Span(id=u"buttons_preload"),
             Span(id=u"themes_default_buttons_preload"),
         ),
     )
  def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups, download_products, upgrade = False ):
    MEGABYTE = 1024 * 1024

    # for now, just assume there's a single download package
    news_url = u"http://luminotes.com/hg/luminotes/file/%s/NEWS" % VERSION

    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?%s" % VERSION ),

      Div(
        Div(
          H1(
            Img(
              src = u"/static/images/download.png",
              width = u"181", height = u"41",
              alt = u"download",
            ),
          ),
          P(
            u"Install Luminotes on your computer.",
            class_ = u"upgrade_subtitle",
          ),
          Div(
            upgrade and Div(
              P(
                B( "Upgrading:" ),
                u"""
                If you already have Luminotes Desktop and would like to upgrade to a newer
                version, simply download and install it. All of your notes will be preserved.
                """,
                A( "Check out what's new in version %s" % VERSION, href = news_url ),
              ),
              P(
                u"Need help? Please",
                A( u"contact support", href = u"/contact_info" ),
                u"for assistance.",
              ),
              class_ = u"upgrade_text",
            ) or None,
            Div(
              Img( src = u"/static/images/installer_screenshot.png", width = u"350", height = u"273" ),
              class_ = u"desktop_screenshot",
            ),
            P(
              Table(
                Tr(
                  Th(
                    Span( u"Luminotes Desktop", class_ = u"plan_name" ),
                    Div(
                      A( "version", VERSION, href = news_url ),
                      class_ = u"version_text",
                    ),
                    class_ = u"plan_name_area download_plan_width",
                    colspan = "2",
                  ),
                ),
                Tr( Td( colspan = "2" ), class_ = u"spacer_row" ),
                Tr(
                  Td(
                    Span( u"Solo", class_ = u"highlight" ), u"note taking",
                    title = u"Luminotes Desktop is designed for individuals.",
                    class_ = u"feature_value",
                    colspan = "2",
                  ),
                ),
                Tr(
                  Td(
                    u"Runs on your", Span( u"own computer", class_ = u"highlight" ),
                    title = u"All of your notes are stored privately on your own computer or on a USB drive.",
                    class_ = u"feature_value",
                    colspan = "2",
                  ),
                ),
                Tr(
                  Td(
                    Span( u"Unlimited", class_ = u"highlight" ), u"storage",
                    title = u"Add as many notes, documents, and files as you want.",
                    class_ = u"feature_value",
                    colspan = "2",
                  ),
                ),
                Tr(
                  Td(
                    u"Works", Span( "offline", class_ = u"highlight" ),
                    title = u"Take notes in meetings, in class, or while on the go. Runs in a web browser, but doesn't need an internet connection.",
                    class_ = u"feature_value",
                    colspan = "2",
                  ),
                ),
                Tr( Td( colspan = "2" ), class_ = u"spacer_row" ),
                Tr(
                  Td(
                    u"Windows XP/Vista,", A( u"Linux source", href = u"/source_code" ),
                    class_ = u"small_text",
                    colspan = "2",
                  ),
                ),
                Tr(
                  Td(
                    u"Firefox 2+, Internet Explorer 7+, Chrome 1+, Safari 3+",
                    class_ = u"small_text",
                    colspan = "2",
                  ),
                ),
                Tr( Td( colspan = "2" ), class_ = u"spacer_row" ),
                Tr(
                  Td(
                    Div(
                      A(
                        Img(
                          src = u"/static/images/trial_button.png",
                          width = u"107", height = u"26",
                          alt = u"download trial",
                        ),
                        href = "/static/luminotes.exe",
                      ),
                      class_ = u"trial_button_area",
                    ),
                    colspan = "1",
                  ) or None,
                ),
                Tr( Td( colspan = "2" ), class_ = u"spacer_row" ),
                border = u"1",
                id = u"upgrade_table",
              ),
              class_ = u"upgrade_table_area",
            ),
            class_ = u"wide_center_area",
          ),
          Div(
            u"Don't want to install anything? Need collaboration features? ",
            A( u"Use Luminotes online", href = u"/pricing" ),
            u".",
            class_ = u"small_text luminotes_online_link_area",
            separator = u"",
          ),

          class_ = u"upgrade_area",
        ),

        Div(
          Div(
            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. 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"Can I run Luminotes Desktop from a USB flash drive?", class_ = u"upgrade_question" ),
            P(
              """
              Yes! You can keep your wiki in your pocket by running Luminotes Desktop directly from
              a USB flash drive. Full instructions are included with the download.
              """,
              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 to a stand-alone web page or a CSV spreadsheet — anytime you like.
              """,
              class_ = u"upgrade_text",
            ),
            class_= u"wide_center_area",
          ),

          P(
            Table(
              Tr(
                Th(
                  Span( u"Luminotes Desktop", class_ = u"plan_name" ),
                  class_ = u"plan_name_area",
                  colspan = "2",
                )
              ),
              Tr(
                Td(
                  Div(
                    A(
                      Img(
                        src = u"/static/images/trial_button.png",
                        width = u"107", height = u"26",
                        alt = u"download trial",
                      ),
                      href = "/static/luminotes.exe",
                    ),
                    class_ = u"trial_button_area",
                  ),
                  colspan = "1",
                ),
              ),
              id = u"upgrade_table_small",
            ),
            class_= u"upgrade_table_area",
          ),

          Div(
            P(
              Span( u"Have a question?", 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",
        ),
      ),
    )
Exemple #6
0
    def __init__(self, user, notebooks, first_notebook, login_url, logout_url,
                 rate_plan, groups, rate_plans, unsubscribe_button):
        MEGABYTE = 1024 * 1024
        rate_plans = list(rate_plans)[0:1]  # only the free rate plan is shown

        Product_page.__init__(
            self,
            user,
            first_notebook,
            login_url,
            logout_url,
            u"pricing",  # note title
            Script(type=u"text/javascript",
                   src=u"/static/js/MochiKit.js?%s" % VERSION),
            Div(
                Div(
                    user and user.username not in (None, u"anonymous") and H1(
                        Img(
                            src=u"/static/images/upgrade.png",
                            width=u"152",
                            height=u"51",
                            alt=u"upgrade",
                        ), ) or H1(
                            Img(
                                src=u"/static/images/sign_up.png",
                                width=u"138",
                                height=u"51",
                                alt=u"sign up",
                            ), ),
                    P(
                        Table(
                            self.fee_row(rate_plans, user),
                            self.spacer_row(rate_plans),
                            Tr([
                                Td(
                                    (plan[u"included_users"] == 1) and Span(
                                        Span(u"Single", class_=u"highlight"),
                                        u"user",
                                        title=
                                        u"This plan includes one user account, so it's ideal for individuals."
                                    ) or Span(
                                        u"Up to",
                                        Span("%s" % plan[u"included_users"],
                                             class_=u"highlight"),
                                        u"users",
                                        title=
                                        "This plan includes multiple accounts, including an admin area where you can create and manage users for your organization."
                                    ),
                                    class_=u"feature_value" +
                                    (index == self.FOCUSED_PLAN
                                     and u" focused_feature_value" or u""),
                                ) for (index, plan) in enumerate(rate_plans)
                            ], ),
                            Tr([
                                Td(
                                    plan[u"storage_quota_bytes"]
                                    and Span("%s MB" %
                                             (plan[u"storage_quota_bytes"] //
                                              MEGABYTE),
                                             class_=u"highlight")
                                    or Span(u"unlimited", class_=u"highlight"),
                                    u"storage",
                                    title=
                                    u"Storage space for your notes, documents, and files.",
                                    class_=u"feature_value" +
                                    (index == self.FOCUSED_PLAN
                                     and u" focused_feature_value" or u""),
                                ) for (index, plan) in enumerate(rate_plans)
                            ], ),
                            plan[u"notebook_sharing"] and Tr([
                                Td(
                                    plan[u"notebook_collaboration"] and Span(
                                        u"Invite",
                                        Span(u"editors", class_=u"highlight"),
                                        title=
                                        u"Invite people to collaborate on your wiki. Share only the notebooks you want. Keep the others private."
                                    ) or Span(
                                        u"Invite",
                                        Span(u"viewers", class_=u"highlight"),
                                        title=
                                        u"Invite people to view your wiki. Share only the notebooks you want. Keep the others private."
                                    ),
                                    class_=u"feature_value" +
                                    (index == self.FOCUSED_PLAN
                                     and u" focused_feature_value" or u""),
                                ) for (index, plan) in enumerate(rate_plans)
                            ], ) or None,
                            self.button_row(rate_plans, user),
                            self.spacer_row(rate_plans, bottom=True),
                            border=u"1",
                            id=u"upgrade_table",
                        ),
                        class_=u"upgrade_table_area",
                    ),
                    Div(
                        u"Don't want to take notes online? ",
                        A(u"Download Luminotes Desktop", href=u"/download"),
                        u".",
                        class_=u"small_text",
                        separator=u"",
                    ),
                    class_=u"upgrade_area",
                ),
                Div(
                    Div(
                        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"""
              Absolutely. Your personal wiki is protected by industry-standard SSL encryption, and
              your wiki is never shared with anyone unless you explicitly invite them to view or
              edit it. There is a complete
              """,
                            A(u"Luminotes privacy policy", href="/privacy"),
                            u"""
              on the subject, so please check that out if you're interested in how Luminotes
              protects your privacy.
              """,
                            class_=u"upgrade_text",
                        ),
                        H4(u"Do you backup my wiki?",
                           class_=u"upgrade_question"),
                        P(
                            """
              Your wiki is fully backed up every day, and you can even download the entire contents
              of your wiki as a stand-alone web page or a CSV spreadsheet — anytime you like.
              """,
                            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 to a stand-alone web page or a CSV spreadsheet — anytime you like.
              """,
                            class_=u"upgrade_text",
                        ),
                        class_=u"wide_center_area",
                    ),
                    Div(
                        P(
                            Span(u"Have a question before you sign up?",
                                 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",
                ),
            ),
        )
Exemple #7
0
  def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups ):
    Product_page.__init__(
      self,
      user,
      first_notebook,
      login_url,
      logout_url,
      u"home", # note title

      Div(
        Div(
          Div(
            A(
              Img( src = u"/static/images/screenshot_small.png", width = u"400", height = u"308" ),
              href = u"/tour",
            ),
            class_ = u"front_screenshot",
          ),
          Div(
            Div(
              Img(
                src = u"/static/images/hook.png",
                width = u"400", height = u"51",
                alt = u"Collect your thoughts.",
              ),
            ),
            P(
              Img(
                src = u"/static/images/sub_hook.png",
                width = u"307", height = u"54",
                alt = u"Get organized with your own Luminotes personal wiki notebook.",
              ),
            ),
            Table(
              Td(
                Li( u"Gather all of your ideas into one place." ),
                Li( u"Easily link together related concepts." ),
                Li( u"As simple to use as index cards." ),
                align = u"left",
              ),
              align = u"center",
            ),
            P(
              A( u"Take a tour", href = u"/tour", 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", href = u"/pricing", class_ = u"hook_action"  ),
              class_ = u"hook_action_area",
              separator = u"",
            ),
            class_ = u"explanation",
          ),
          class_ = u"wide_center_area",
        ),
        class_ = u"hook_area",
      ),

      Div(
        Div(
          Div(
            Img(
              src = u"/static/images/quotes.png",
              class_ = u"heading", width = u"253", height = u"31",
              alt = u"What people are saying",
            ),
          ),

          Div(
            Div(
              u'"',
              Span(
                u"Luminotes is a wiki without the markup learning curve.",
                class_ = u"quote_title",
                separator = u"",
              ),
              u"""
              ... Luminotes has you simply start typing, using familiar rich text buttons to add bullets and other styling, and a simple linking and tagging system for your notes."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Kevin Purdy, ", A( u"Review on Lifehacker", href = u"http://lifehacker.com/386813/luminotes-is-a-wiki-without-the-markup-learning-curve" ),
              class_ = u"quote_signature"
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"Imagine an application that combines the features of a wiki and a web-based notebook.",
                class_ = u"quote_title",
                separator = u"",
              ),
              u"""
              ... as a multi-user notebook that allows you to quickly take notes and collaborate on them with other users, Luminotes is unbeatable."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Dmitri Popov, ", A( u"Review on Linux.com", href = u"http://www.linux.com/feature/132297" ),
              class_ = u"quote_signature"
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"As soon as I saw Luminotes I knew it was what I and my students needed.",
                class_ = u"quote_title",
                separator = u"",
              ),
              u"""
              Clear, easy to use and beautifully simple."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Jonathan Lecun, Director, ", A( u"UK Teachers Online", href = u"http://www.ukteachersonline.co.uk/" ),
              class_ = u"quote_signature"
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"Luminotes has saved me an immense amount of time with my current novel.",
                class_ = u"quote_title",
              ),
              u"""
              No more digging through mounds of text or trying to make sense of notes scrawled on random pages of my notebook months ago."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"Michail Velichansky, Writer",
              class_ = u"quote_signature",
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"What I love most about Luminotes is the ", I( u"simplicity" ), u" of it.",
                class_ = u"quote_title",
                separator = u"",
              ),
              u"""
              Maybe I have a touch of ADD, but I get so distracted with other products and
              all the gadgets, bells, and whistles they offer. I spend more time fiddling
              with the features than actually working. Luminotes, for me, recreates the old
              index card method we all used for term papers in high school."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Michael Miller, President & CEO, Mighty Hero Entertainment, Inc.",
              class_ = u"quote_signature"
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"I'm a wiki addict, so I've tried most of them, desktop and web-based.",
                class_ = u"quote_title",
                separator = u"",
              ),
              u"""
              What I like about your excellent product is the modeless editing (no edit
              and save buttons). This makes Luminotes the fastest web-based wiki I have
              used."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Scott Tiner, Technical Writer",
              class_ = u"quote_signature"
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"I came across your software using the WikiMatrix comparison and fell in love instantly.",
                class_ = u"quote_title",
                separator = u"",
              ),
              u"""
              This is probably the best personal wiki software I have seen to date. Playing with
              the demo sold me completely. The design, interface, usage, and above all how bloody
              easy it is is perfect."
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Kyle Gruel",
              class_ = u"quote_signature"
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"Marvelous! Simply marvelous!",
                class_ = u"quote_title",
              ),
              u"""
              Very simple to use, and I can access it from any computer. Great idea!"
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Lydia Newkirk",
              class_ = u"quote_signature",
            ),
            class_ = u"quote",
          ),

          Div(
            Div(
              u'"',
              Span(
                u"I just wanted to thank you for the great work with Luminotes!",
                class_ = u"quote_title",
              ),
              u"""
              I use it both at home and at work, and it's a big help!"
              """,
              class_ = u"quote_text",
              separator = u"",
            ),
            Div(
              u"-Brian M.B. Keaney",
              class_ = u"quote_signature",
            ),
            class_ = u"quote",
          ),

          class_ = u"quotes_area",
        ),

        Div(
          Img(
            src = u"/static/images/what_is_luminotes.png",
            class_ = u"heading", width = u"214", height = u"29",
            alt = u"What is Luminotes?",
          ),
          Div(
            P(
              u"""
              Luminotes is a WYSIWYG personal wiki notebook for organizing your notes and ideas.
              It's designed for note taking and note keeping without the hassle
              of learning special markup codes. You simply start typing.
              """,
            ),
            Table(
              Tr(
                Td(
                  A(
                    Img( src = u"/static/images/wysiwyg_thumb.png", width = u"175", height = "100", class_ = u"thumbnail" ),
                    href = u"/tour",
                  ),
                  Div( u"Create a wiki visually", class_ = u"thumbnail_caption" ),
                  Div( u"Make a wiki as easily as writing a document.", class_ = u"thumbnail_caption_detail" ),
                  class_ = u"thumbnail_cell",
                ),
                Td(
                  A(
                    Img( src = u"/static/images/connect_thumb.png", width = u"175", height = "100", class_ = u"thumbnail" ),
                    href = u"/tour",
                  ),
                  Div( u"Link your notes together", class_ = u"thumbnail_caption" ),
                  Div( u"Connect your thoughts with links between notes.", class_ = u"thumbnail_caption_detail" ),
                  class_ = u"thumbnail_cell",
                ),
              ),
              Tr(
                Td(
                  A(
                    Img( src = u"/static/images/download_thumb.png", width = u"175", height = "100", class_ = u"thumbnail" ),
                    href = u"/tour",
                  ),
                  Div( u"Take your wiki to go", class_ = u"thumbnail_caption" ),
                  Div( u"Download your wiki as a web page or spreadsheet.", class_ = u"thumbnail_caption_detail" ),
                  class_ = u"thumbnail_cell",
                ),
                Td(
                  A(
                    Img( src = u"/static/images/share_thumb.png", width = u"175", height = "100", class_ = u"thumbnail" ),
                    href = u"/tour",
                  ),
                  Div( u"Share your thoughts", class_ = u"thumbnail_caption" ),
                  Div( u"Invite friends and colleagues to collaborate.", class_ = u"thumbnail_caption_detail" ),
                  class_ = u"thumbnail_cell",
                ),
              ),
              class_ = u"thumbnail_area",
            ),
            P(
              u"What can you do with Luminotes?",
            ),
            Ul(
              Li( u"Outline a story" ),
              Li( u"Plan a trip" ),
              Li( u"Collect recipes" ),
              Li( u"Record your ideas" ),
              Li( u"Keep track of your tasks" ),
              Li( u"Take notes" ),
              class_ = u"compact_list",
            ),
            P(
              u"""
              Luminotes is open source / free software and licensed under the terms of the
              GNU GPL.
              """,
            ),
            class_ = u"what_is_luminotes_text",
          ),
          Div(
            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"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",
              separator = u"",
            ),
          ),
          class_ = u"what_is_luminotes_area",
        ),

        class_ = u"wide_center_area",
      ),

      P(
        Span( id = u"buttons_preload" ),
        Span( id = u"themes_default_buttons_preload" ),
      ),
    )
Exemple #8
0
  def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups ):
    Product_page.__init__(
      self,
      user,
      first_notebook,
      login_url,
      logout_url,
      u"tour", # note title

      Div(
        H1(
          Img(
            src = u"/static/images/tour.png",
            width = u"277", height = u"47",
            alt = u"Luminotes tour",
          ),
        ),
        Div(
          Img( src = u"/static/images/tour_card1.png", width = u"400", height = u"243", class_ = u"tour_card" ),
          P(
            u"Using index cards to take notes is really easy. You just write a title at the top and then jot down some notes.",
            class_ = u"tour_text",
          ),
        ),
        Div(
          Img( src = u"/static/images/tour_card2.png", width = u"400", height = u"243", class_ = u"tour_card" ),
          P(
            u"And if you make one index card per subject, you can keep your notes organized.",
            class_ = u"tour_text",
          ),
          P(
            u"""
            But when your stack of cards grows larger than a few dozen, it becomes difficult to find the notes you're looking for.
            """,
            class_ = u"tour_text",
          ),
        ),
        Div(
          Img( src = u"/static/images/tour_card3.png", width = u"430", height = u"366", class_ = u"tour_card" ),
          P(
            u"""
            If only there was something as simple for taking notes as index cards, but fast, searchable, and with some way to make
            links between your notes!
            """,
            class_ = u"tour_text",
          ),
          P(
            u"Introducing Luminotes...",
            class_ = u"tour_text",
          ),
        ),
        Div(
          Img( src = u"/static/images/tour_screenshot1.png", width = u"725", height = u"560", 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 through your entire wiki" ),
                Li( u"Make as many notebooks as you want" ),
                class_ = u"tour_list",
              ),
              class_ = u"tour_text",
            ),
          ),
        ),
        Div(
          Img( src = u"/static/images/tour_screenshot2.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"Track past revisions and make updates without worry" ),
                Li( u"Download your complete wiki as a web page or spreadsheet" ),
                Li( u"Attach files to your wiki and download them anytime" ),
                class_ = u"tour_list",
              ),
              class_ = u"tour_text",
            ),
          ),
        ),
        Div(
          Img( src = u"/static/images/tour_screenshot3.png", width = u"725", height = u"558", class_ = u"tour_screenshot" ),
          Div(
            Div(
              Ol(
                Li( u"Share your wiki with friends and colleagues" ),
                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",
        ),
        Div(
          Div(
            u"You can use Luminotes online and collaborate with others, or download Luminotes Desktop and take notes locally on your own computer!",
            class_ = u"tour_text",
          ),
        ),
        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" ), u", ",
          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",
          separator = u"",
        ),
        class_ = u"center_area",
      ),
    )
Exemple #9
0
  def __init__( self, user, notebooks, first_notebook, login_url, logout_url, rate_plan, groups, rate_plans, unsubscribe_button ):
    MEGABYTE = 1024 * 1024
    rate_plans = list( rate_plans )[ 0:1 ] # only the free rate plan is shown

    Product_page.__init__(
      self,
      user,
      first_notebook,
      login_url,
      logout_url,
      u"pricing", # note title

      Script( type = u"text/javascript", src = u"/static/js/MochiKit.js?%s" % VERSION ),

      Div(
        Div(
          user and user.username not in ( None, u"anonymous" ) and H1(
            Img(
              src = u"/static/images/upgrade.png",
              width = u"152", height = u"51",
              alt = u"upgrade",
            ),
          ) or H1(
            Img(
              src = u"/static/images/sign_up.png",
              width = u"138", height = u"51",
              alt = u"sign up",
            ),
          ),
          P(
            Table(
              self.fee_row( rate_plans, user ),
              self.spacer_row( rate_plans ),
              Tr(
                [ Td(
                  ( plan[ u"included_users" ] == 1 ) and
                    Span( Span( u"Single", class_ = u"highlight" ), u"user", title = u"This plan includes one user account, so it's ideal for individuals." ) or
                    Span( u"Up to", Span( "%s" % plan[ u"included_users" ], class_ = u"highlight" ), u"users", title = "This plan includes multiple accounts, including an admin area where you can create and manage users for your organization." ),
                  class_ = u"feature_value" + ( index == self.FOCUSED_PLAN and u" focused_feature_value" or u"" ),
                ) for ( index, plan ) in enumerate( rate_plans ) ],
              ),
              Tr(
                [ Td(
                  plan[ u"storage_quota_bytes" ] and
                    Span( "%s MB" % ( plan[ u"storage_quota_bytes" ] // MEGABYTE ), class_ = u"highlight" ) or
                    Span( u"unlimited", class_ = u"highlight" ),
                  u"storage",
                  title = u"Storage space for your notes, documents, and files.",
                  class_ = u"feature_value" + ( index == self.FOCUSED_PLAN and u" focused_feature_value" or u"" ),
                ) for ( index, plan ) in enumerate( rate_plans ) ],
              ),
              plan[ u"notebook_sharing"] and Tr(
                [ Td(
                  plan[ u"notebook_collaboration" ] and
                    Span( u"Invite", Span( u"editors", class_ = u"highlight"  ), title = u"Invite people to collaborate on your wiki. Share only the notebooks you want. Keep the others private." ) or
                    Span( u"Invite", Span( u"viewers", class_ = u"highlight" ), title = u"Invite people to view your wiki. Share only the notebooks you want. Keep the others private." ),
                  class_ = u"feature_value" + ( index == self.FOCUSED_PLAN and u" focused_feature_value" or u"" ),
                ) for ( index, plan ) in enumerate( rate_plans ) ],
              ) or None,
              self.button_row( rate_plans, user ),
              self.spacer_row( rate_plans, bottom = True ),
              border = u"1",
              id = u"upgrade_table",
            ),
            class_ = u"upgrade_table_area",
          ),

          Div(
            u"Don't want to take notes online? ",
            A( u"Download Luminotes Desktop", href = u"/download" ),
            u".",
            class_ = u"small_text",
            separator = u"",
          ),

          class_ = u"upgrade_area",
        ),

        Div(
          Div(
            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"""
              Absolutely. Your personal wiki is protected by industry-standard SSL encryption, and
              your wiki is never shared with anyone unless you explicitly invite them to view or
              edit it. There is a complete
              """,
              A( u"Luminotes privacy policy", href = "/privacy" ),
              u"""
              on the subject, so please check that out if you're interested in how Luminotes
              protects your privacy.
              """,
              class_ = u"upgrade_text",
            ),
            H4( u"Do you backup my wiki?", class_ = u"upgrade_question" ),
            P(
              """
              Your wiki is fully backed up every day, and you can even download the entire contents
              of your wiki as a stand-alone web page or a CSV spreadsheet — anytime you like.
              """,
              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 to a stand-alone web page or a CSV spreadsheet — anytime you like.
              """,
              class_ = u"upgrade_text",
            ),
            class_= u"wide_center_area",
          ),

          Div(
            P(
              Span( u"Have a question before you sign up?", 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",
        ),
      ),
    )