History

Implement dark theme

Closes #73.

Thibaut committed 11 years ago

Commit 649b7b51 parent 200dd0b41 files · +296 −5Browse files

Showing the changes to assets/javascripts (5 of 41 files). Show all

Unified · Split

5 files
  1. assets/javascripts/app/settings.coffee +12 −3
  2. assets/javascripts/news.json +4 −1
  3. assets/javascripts/templates/sidebar_tmpl.coffee +4 −1
  4. assets/javascripts/views/layout/document.coffee +8 −0
  5. assets/javascripts/views/sidebar/sidebar.coffee +3 −0
assets/javascripts/app/settings.coffee+12−3
@@ -1,6 +1,7 @@
11 class app.Settings
22 SETTINGS_KEY = 'settings'
33 DOCS_KEY = 'docs'
4+ DARK_KEY = 'dark'
45
56 @defaults: ->
67 count: 0
@@ -45,13 +46,21 @@ class app.Settings · 38 unmodified lines
4546
4647 setDocs: (docs) ->
4748 try
48− Cookies.set DOCS_KEY, docs.join('/'),
49− path: '/'
50− expires: 1e8
49+ Cookies.set DOCS_KEY, docs.join('/'), path: '/', expires: 1e8
50+ catch
51+ return
52+
53+ setDark: (value) ->
54+ try
55+ if value
56+ Cookies.set DARK_KEY, '1', path: '/', expires: 1e8
57+ else
58+ Cookies.expire DARK_KEY
5159 catch
5260 return
5361
5462 reset: ->
5563 try Cookies.expire DOCS_KEY
64+ try Cookies.expire DARK_KEY
5665 try @store.del(SETTINGS_KEY)
5766 return
assets/javascripts/news.json+4−1
@@ -1,5 +1,8 @@
11 [
2− [ "2015-01-13",
2+ [ "2015-02-08",
3+ "New dark theme\nClick the icon in the bottom left corner to activate.\n<a href=\"https://github.com/Thibaut/devdocs/issues\" target=\"_blank\">Feedback</a> welcome :)"
4+ ], [
5+ "2015-01-13",
36 "<a href=\"/offline\">Offline mode</a> has landed!\nIf you notice any bugs, please report them on <a href=\"https://github.com/Thibaut/devdocs/issues\" target=\"_blank\">GitHub</a>."
47 ], [
58 "2014-12-21",
assets/javascripts/templates/sidebar_tmpl.coffee+4−1
@@ -51,7 +51,10 @@ templates.sidebarPickerNote = """ · 50 unmodified lines
5151 sidebarFooter = (html) -> """<div class="_sidebar-footer">#{html}</div>"""
5252
5353 templates.sidebarSettings = ->
54− sidebarFooter """<a class="_sidebar-footer-link _sidebar-footer-edit" data-pick-docs>Select documentation</a>"""
54+ sidebarFooter """
55+ <a class="_sidebar-footer-link _sidebar-footer-light" title="Toggle light" data-light></a>
56+ <a class="_sidebar-footer-link _sidebar-footer-edit" data-pick-docs>Select documentation</a>
57+ """
5558
5659 templates.sidebarSave = ->
5760 sidebarFooter """<a class="_sidebar-footer-link _sidebar-footer-save">Save</a>"""
assets/javascripts/views/layout/document.coffee+8−0
@@ -17,6 +17,14 @@ class app.views.Document extends app.View · 16 unmodified lines
1717 @activate()
1818 return
1919
20+ toggleLight: ->
21+ css = $('link[rel="stylesheet"][data-alt]')
22+ alt = css.getAttribute('data-alt')
23+ css.setAttribute('data-alt', css.getAttribute('href'))
24+ css.setAttribute('href', alt)
25+ app.settings.setDark(alt.indexOf('dark') > 0)
26+ return
27+
2028 setTitle: (title) ->
2129 @el.title = if title then "DevDocs/#{title}" else 'DevDocs'
2230
assets/javascripts/views/sidebar/sidebar.coffee+3−0
@@ -79,6 +79,9 @@ class app.views.Sidebar extends app.View · 78 unmodified lines
7979 if event.target.hasAttribute? 'data-reset-list'
8080 $.stopEvent(event)
8181 @reset()
82+ else if event.target.hasAttribute? 'data-light'
83+ $.stopEvent(event)
84+ app.document.toggleLight()
8285 return
8386
8487 onGlobalClick: (event) =>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t