summaryrefslogtreecommitdiffstats
path: root/theme/javascript/app.js
blob: f915330fe7d22b56a359ee931e5a0ffcb62d7afa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
require([
  "jQuery",
  "utils/storage",
  "utils/analytic",
  "utils/sharing",

  "core/state",
  "core/keyboard",
  "core/exercise",
  "core/progress",
  "core/sidebar",
  "core/search"
], function($, storage, analytic, sharing, state, keyboard, exercise, progress, sidebar, search){
  $(document).ready(function() {
    var $book, bodyInnerWidth, pageWrapperWidth;
    $book = state.$book;

    // Init sidebar
    sidebar.init();

    // Load search
    search.init();

    // Init keyboard
    keyboard.init();

    if (state.githubId) {
      // Initialize storage
      storage.setBaseKey(state.githubId);

      // Star and watch count
      $.getJSON("https://api.github.com/repos/"+state.githubId)
        .done(function(repo) {
          $book.find(".count-star span").text(repo.stargazers_count);
          $book.find(".count-watch span").text(repo.subscribers_count);
        });
    }

    // Bind exercise
    exercise.init();

    // Bind sharing button
    sharing.init();

    // Show progress
    progress.show();

    // Focus on content
    $(".book-body").focus();
    bodyInnerWidth = parseInt($('.body-inner').css('width'), 10);
    pageWrapperWidth = parseInt($('.page-wrapper').css('width'), 10);
    $('.navigation-next').css('margin-right', (bodyInnerWidth - pageWrapperWidth) + 'px');
  });
});