From d7892c2f7fb246da7dfb54ca6bde1b053951dc7d Mon Sep 17 00:00:00 2001 From: Jen Fong-Adwent Date: Tue, 7 May 2013 14:24:59 -0400 Subject: [PATCH] added general notes reference app; bug 868525 --- media/img/ecosystem/reference-apps/notes1.jpg | Bin 0 -> 7461 bytes media/img/ecosystem/reference-apps/notes2.jpg | Bin 0 -> 5338 bytes media/img/ecosystem/reference-apps/notes3.jpg | Bin 0 -> 12382 bytes .../templates/ecosystem/build_reference.html | 10 ++ mkt/ecosystem/templates/ecosystem/macros.html | 8 ++ .../reference_apps/generalnotes.html | 131 ++++++++++++++++++ mkt/ecosystem/views.py | 2 +- 7 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 media/img/ecosystem/reference-apps/notes1.jpg create mode 100644 media/img/ecosystem/reference-apps/notes2.jpg create mode 100644 media/img/ecosystem/reference-apps/notes3.jpg create mode 100644 mkt/ecosystem/templates/ecosystem/reference_apps/generalnotes.html diff --git a/media/img/ecosystem/reference-apps/notes1.jpg b/media/img/ecosystem/reference-apps/notes1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e7df79416bd993665e68c4b4c9dff20eb1f2a2c GIT binary patch literal 7461 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 E4;q)StpET3 literal 0 HcmV?d00001 diff --git a/media/img/ecosystem/reference-apps/notes3.jpg b/media/img/ecosystem/reference-apps/notes3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..69efd33c817f8e0b474cdb90c4eefd4633883cff GIT binary patch literal 12382 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 WR}_ujR%GGr>G?*}nca=6+5Z7)#oK=X literal 0 HcmV?d00001 diff --git a/mkt/ecosystem/templates/ecosystem/build_reference.html b/mkt/ecosystem/templates/ecosystem/build_reference.html index 5e9a9c9b28..8c7d7d75f8 100644 --- a/mkt/ecosystem/templates/ecosystem/build_reference.html +++ b/mkt/ecosystem/templates/ecosystem/build_reference.html @@ -72,6 +72,16 @@ hunt down an alien bug and destroy it. {% endtrans -%}

+
+

+ {%- trans %} + General Notes is a simple note app that allows you to sync local + and remote content. + {% endtrans -%} +

{% endblock %} diff --git a/mkt/ecosystem/templates/ecosystem/macros.html b/mkt/ecosystem/templates/ecosystem/macros.html index 54104c0392..0ead03fbfb 100644 --- a/mkt/ecosystem/templates/ecosystem/macros.html +++ b/mkt/ecosystem/templates/ecosystem/macros.html @@ -122,6 +122,14 @@ {% endif %}> {{- _('Webfighter') }} +
  • + + {{- _('General Notes') }} +
  • diff --git a/mkt/ecosystem/templates/ecosystem/reference_apps/generalnotes.html b/mkt/ecosystem/templates/ecosystem/reference_apps/generalnotes.html new file mode 100644 index 0000000000..6825e6c6c0 --- /dev/null +++ b/mkt/ecosystem/templates/ecosystem/reference_apps/generalnotes.html @@ -0,0 +1,131 @@ +{% extends 'ecosystem/reference_apps/app.html' %} +{% from "ecosystem/macros.html" import navigation, + third_party_lib, web_api with context %} + +{% block title %} + {{ hub_page_title() }} | {{ _('General Notes') }} +{% endblock %} + +{% block reference_title %}{{ _('General Notes') }}{% endblock %} + +{% block screenshots %} + +
      +
    • + {{ _('Note Listing') }} +
    • +
    • + {{ _('Writing a New Note') }} +
    • +
    • + {{ _('Local Notes') }} +
    • +
    +{% endblock %} + +{% block app_description %} +
    + {% trans walkthrough_link='https://hacks.mozilla.org/2013/05/building-a-notes-app-with-indexeddb-redis-and-node-js' %} + General Notes is a simple note app that allows you to sync local and + remote content. + + Read the full developer walkthrough + + {% endtrans %} +
    +{% endblock %} + +{% block app_web_apis %} +
    +

    {{ _('Web API Usage') }}

    +
      +
    • + {{ web_api('indexed_db') }} +

      + {% trans %} + Stores local and remote notes on the client side. + {% endtrans %} +

      +
    • +
    • + {{ web_api('appcache') }} +

      + {% trans %} + Enables the page and functionality to work offline. + {% endtrans %} +

      +
    • +
    +
    +{% endblock %} + +{% block app_third_party %} +
    +

    {{ _('Third-party Libraries') }}

    +
      +
    • + {{ third_party_lib('node') }} +

      + {% trans %} + Both server and client code are written in JavaScript. + {% endtrans %} +

      +
    • +
    • + {{ third_party_lib('redis') }} +

      + {% trans %} + A key-value store that contains all the server notes. + {% endtrans %} +

      +
    • +
    • + {{ third_party_lib('jquery') }} +

      + {% trans %} + Uses jQuery to simplify common tasks such as DOM manipulation. + {% endtrans %} +

      +
    • +
    • + {{ third_party_lib('requirejs') }} +

      + {% trans %} + Uses RequireJS to split JavaScript code into more easily + maintainable modules. + {% endtrans %} +

      +
    • +
    +
    +{% endblock %} + +{% block app_code %} + {{ _('View Source') }} + {{ _('Download') }} +{% endblock %} + +{% block app_summary %} +
    + {# L10N: This is the difficulty level of the app. #} +

    {{ _('Difficulty:') }} {{ _('Medium') }}

    +
    +
    +

    {{ _('Code Breakdown') }}:

    +
      +
    1. {{ _('81%') }} JavaScript
    2. +
    3. {{ _('14%') }} CSS
    4. +
    5. {{ _('5%') }} HTML
    6. +
    +
    +{% endblock %} diff --git a/mkt/ecosystem/views.py b/mkt/ecosystem/views.py index 77e7392a7a..564f50df86 100644 --- a/mkt/ecosystem/views.py +++ b/mkt/ecosystem/views.py @@ -494,7 +494,7 @@ def apps_documentation(request, page=None): """Page template for all reference apps.""" if page not in ('chrono', 'face_value', 'podcasts', 'roller', - 'webfighter'): + 'webfighter', 'generalnotes'): raise Http404 third_party_libs = {
  • + + {{- _('General Notes') }} +