Commit 84ed6feb authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Initial loading of guides.

sdk.sh script now also copies over the guides and converts them to HTML
using rdiscount (which should be installed as a dependency for JSDuck).

On front page we add click listeners to all the guide links and load the
guide HTML over Ajax.
parent 68b0e89e
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -27,3 +27,14 @@ ruby bin/jsduck \
# Finally copy over the images that documentation links to.
cp -r $SDK_DIR/extjs/doc-resources $OUT_DIR/doc-resources

# Copy over guides
cp -r $SDK_DIR/guides $OUT_DIR/guides
# Remove documentation_style.md which we don't want
rm $OUT_DIR/guides/documentation_style.md
# convert markdown files in guides to HTML
# also make image links relative to root dir
for dir in $(ls $OUT_DIR/guides); do
    rdiscount $OUT_DIR/guides/$dir/README.md | sed 's/<img src="/<img src="guides\/'$dir'\//;' > $OUT_DIR/guides/$dir/index.html
    rm $OUT_DIR/guides/$dir/README.md
done
+13 −12
Original line number Diff line number Diff line
@@ -56,22 +56,22 @@
          <div class="legend guides">
            <h4>Guides</h4>
            <div class="lft">
              <a href="guide/getting_started.html" class="getting_started">Getting Started</a>
              <a href="guide/class_system.html" class="class_system">Class System</a>
              <a href="guide/application_architecture.html" class="application_architecture">MVC Architecture</a>
              <a href="guide/layouts_and_containers.html" class="layouts_and_containers">Layouts and Containers</a>
              <a href="guides/getting_started/index.html" class="getting_started">Getting Started</a>
              <a href="guides/class_system/index.html" class="class_system">Class System</a>
              <a href="guides/application_architecture/index.html" class="application_architecture">MVC Architecture</a>
              <a href="guides/layouts_and_containers/index.html" class="layouts_and_containers">Layouts and Containers</a>
            </div>
            <div class="mid">
              <a href="guide/data.html" class="data">Data</a>
              <a href="guide/grid.html" class="grid">Grids</a>
              <a href="guide/tree.html" class="tree">Trees</a>
              <a href="guide/drawing_and_charting.html" class="drawing_and_charting">Charts</a>
              <a href="guides/data/index.html" class="data">Data</a>
              <a href="guides/grid/index.html" class="grid">Grids</a>
              <a href="guides/tree/index.html" class="tree">Trees</a>
              <a href="guides/drawing_and_charting/index.html" class="drawing_and_charting">Charts</a>
            </div>
            <div class="right">
              <a href="guide/components.html" class="components">Components</a>
              <a href="guide/theming.html" class="theming">Theming</a>
              <a href="guide/direct.html" class="direct">Direct</a>
              <a href="guide/accessibility.html" class="accessibility">Accessibility</a>
              <a href="guides/components/index.html" class="components">Components</a>
              <a href="guides/theming/index.html" class="theming">Theming</a>
              <a href="guides/direct/index.html" class="direct">Direct</a>
              <a href="guides/accessibility/index.html" class="accessibility">Accessibility</a>
            </div>
          </div>

@@ -112,6 +112,7 @@
  <script type="text/javascript" src="js/OverviewToolbar.js"></script>
  <script type="text/javascript" src="js/ClassPanel.js"></script>
  <script type="text/javascript" src="js/SourceCodePanel.js"></script>
  <script type="text/javascript" src="js/Guides.js"></script>

  <script type="text/javascript" src="js/search.js"></script>
  <script type="text/javascript" src="js/init.js"></script>

template/js/Guides.js

0 → 100644
+43 −0
Original line number Diff line number Diff line
/**
 * Takes care of loading guides.
 */
Ext.define("Docs.Guides", {
    singleton: true,

    /**
     * Adds click listeners for all guide links.
     */
    init: function() {
        Ext.Array.forEach(Ext.query("#api-overview .guides a"), function(el) {
            Ext.get(el).addListener('click', function() {
                this.load(el.href);
            }, this, {preventDefault: true});
        }, this);
    },

    load: function(url) {
        Ext.Ajax.request({
            url: url,
            success: function(response) {
                var html = response.responseText;
                this.render(html);
            },
            scope: this
        });
    },

    render: function(html) {
        Ext.get("top-block").setStyle({display: 'none'});
        Ext.get("docContent").update('<div class="guide">'+html+'</div>');
        this.syntaxHighlight();
    },

    // Marks all code blocks with "prettyprint" class and then calls
    // the prettify library function to highlight them.
    syntaxHighlight: function() {
        Ext.Array.forEach(Ext.query("pre > code"), function(el) {
            Ext.get(el).addCls("prettyprint");
        });
        prettyPrint();
    }
});
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ Ext.onReady(function() {
    };

    Ext.tip.QuickTipManager.init();
    Docs.Guides.init();
    Docs.History.init();

    Ext.create('Docs.ClassTree', {