delogger 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 632b06b4dacdfb12cda321a8e827d2790207a960
4
- data.tar.gz: e568662618b04ffef0609818544f40ef9781dd07
3
+ metadata.gz: cea3f747cb16e5f906aa834840cb2d2c0ca9ea28
4
+ data.tar.gz: 2f4423f403d3d3a393f1fb86dfa5564958504393
5
5
  SHA512:
6
- metadata.gz: b1065527da6920ea8ae66b544682e61cf7a23f45af7bc7da27d34d1d5562876de257b80504c06c756f726c2731e196813513280d6ca2ce03cada4c744ced53b5
7
- data.tar.gz: 81cb7dae6a5d3ea6636bffb94022b489e154c1d5bc959fefa88d864b76ab0f8c3d8792ea6759ddba76874e7a5612528aa51a9242f3a7021be1deded98d96a6de
6
+ metadata.gz: af5de38ecdefe3016bb94a2fc3d4aa08f99150383d72a5af6544759ecc7e32edc1cb67e6430546796e8261a38abb71ad5d87ece0ca0f8c77a132652faea5f3f3
7
+ data.tar.gz: 22d44db257bf782d4192e564fa5664dfdab7064a2deb33606fd0bc7da641656de6893dd28a4fad72f48e73351f8886f589836a21e510c4049bf7bc216d18cf31
data/README.md CHANGED
@@ -2,12 +2,64 @@
2
2
 
3
3
  # Delogger
4
4
 
5
- This gem is a simple wrapper for the browser's console. It can be turned off both globally
6
- (e.x. production environment) and locally. It also supports CSS formatting.
7
-
5
+ This gem is a wrapper for browser's `window.console` object. It makes your console convenient and
6
+ pretty.
8
7
 
9
8
  ![Demo](/images/demo.png?raw=true)
10
9
 
10
+ ## Features
11
+
12
+ - [Output visibility control](#initialization-options)
13
+ - [A different take on groups](#groups)
14
+ - [Markdown-like output formatting](#formatting)
15
+
16
+ ## Why?
17
+
18
+ ### Output visibility control
19
+
20
+ As your JS logic becomes more and more complex, it's getting harder do debug it. And clearing out
21
+ all those `console.log` calls from your files can be really annoying. Besides, you might want to
22
+ leave those messages in your code because you know you'll likely need to write them again when
23
+ you'll work on the next feature. But at same time you don't want to flood your clients' consoles
24
+ when they are browsing your production website.
25
+
26
+ Delogger solves this problem by letting you turn it on or off.
27
+ See [initialization options](#initialization-options).
28
+
29
+ ### Console groups and asynchronous scripts
30
+
31
+ Most browsers let you organize your console output by creating [groups](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consolegroupobject_object).
32
+ You can even nest them! However, when you're dealing with asynchronous code, it can get very messy.
33
+
34
+ Consider this example:
35
+ ```js
36
+ async function f1() {
37
+ console.group('group 1');
38
+ console.log('function 1 start');
39
+ await sleep(1000);
40
+ console.log('function 1 end');
41
+ console.groupEnd();
42
+ }
43
+
44
+ async function f2() {
45
+ console.group('group 2');
46
+ console.log('function 2 start');
47
+ await sleep(500);
48
+ console.log('function 2 end');
49
+ console.groupEnd();
50
+ }
51
+
52
+ f1(); f2()
53
+ ```
54
+
55
+ Result:
56
+
57
+ ![Async groups result](/images/async_bad_result.png?raw=true)
58
+
59
+ This is an extreme example, but groups fail to work in the same way when you're dealing with real code.
60
+
61
+ Delogger provides a different implementation of groups that solves this problem. See [groups](#groups).
62
+
11
63
  ## Getting Started
12
64
 
13
65
  ### Rails:
@@ -34,80 +86,133 @@ your application.
34
86
 
35
87
  ## Usage
36
88
 
37
- First, DeLogger has to be initialized:
89
+ First, Delogger has to be initialized:
38
90
  ```js
39
- logger = new DeLogger
91
+ logger = new Delogger
40
92
  ```
41
- See also: [options](#options).
42
-
43
- By default, DeLogger is **disabled on the client side**. To enable it, use `logger.enable()` in your
44
- console. You can disable it again using `logger.disable()`. DeLogger is using browser's `localStorage`,
45
- so you only have to enable/disable it once on your website.
46
-
47
- DeLogger supports same output methods as console:
93
+ See also: [initialization options](#initialization-options).
94
+
95
+ By default, Delogger is **enabled**. You can use `logger.disable()` and `logger.enable()` to disable
96
+ or enable the logger respectively. Delogger is storing its settings in browser's `localStorage`, so
97
+ you only have to enable/disable it once. **It's strongly recommended to
98
+ [disable Delogger](#initialization-options) on your production website!**
99
+
100
+ Delogger supports following methods (most of them work similarly or exactly like their
101
+ `window.console`'s counterparts'):
102
+ - [`assert`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#assert)
103
+ - [`count`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#count)
104
+ - [`debug`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consoledebugobject_object)
105
+ - [`dir`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#dir)
106
+ - [`dirxml`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consoledirxmlobject)
107
+ - [`error`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#error)
108
+ - [`group`](#groups)
109
+ - [`info`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#consoleinfoobject_object)
110
+ - [`log`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#log)
111
+ - [`profile` and `profileEnd`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#profile)
112
+ - [`time` and `timeEnd`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#time)
113
+ - [`timeStamp`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#timestamp)
114
+ - [`trace`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#trace)
115
+ - [`warn`](https://developers.google.com/web/tools/chrome-devtools/console/console-reference#warn)
116
+
117
+ ### Initialization options
118
+
119
+ You can pass options to Delogger upon initialization:
120
+ ```js
121
+ logger = new Delogger({ enabledByDefault: true, enableFormatting: true, collapseGroups: true })
122
+ ```
123
+ - `enabledByDefault`: Defines whether to enable or disable the logger if it has not been enabled
124
+ locally with `logger.enable()`. It is *highly recommended* to set this option to `false` for
125
+ production. Default: `true`.
126
+ - `enableFormatting`: Defines whether [formatting](#formatting) should be enabled. Default: `true`.
127
+ - `collapseGroups`: Defines whether [groups](#groups) created with `logger.group()` should be
128
+ collapsed or not. Default: `true` (collapsed).
48
129
 
49
- ![debug](/images/debug.png?raw=true)
130
+ ### Groups
50
131
 
51
- ![info](/images/info.png?raw=true)
132
+ Groups in Delogger don't behave like `window.console`'s groups do. In Delogger, groups work kind of
133
+ like *namespaces*.
52
134
 
53
- ![warn](/images/warn.png?raw=true)
135
+ ```js
136
+ logger.group('my group').log('inside my group')
137
+ logger.group('other group', 'a nested group!').log('i\'m a bird in a nest')
138
+ logger.group('other group').log('inside another group')
139
+ logger.log('outside')
140
+ ```
54
141
 
55
- ![error](/images/error.png?raw=true)
142
+ Result:
56
143
 
57
- Also supported: `log`, `assert`, `count`, `dir`, `dirxml`, `group`, `groupCollapsed`, `groupEnd`,
58
- `profile`, `time`, `timeEnd`, `trace`.
144
+ ![Group example](/images/group_example.png?raw=true)
59
145
 
60
- ### Options
146
+ Let's take a look at our example with asynchronous code now:
61
147
 
62
- You can pass options to DeLogger upon initialization:
63
148
  ```js
64
- logger = DeLogger.new({ disabled: false, formatStrings: true })
149
+ async function f1() {
150
+ logger.group('group 1').log('function 1 start');
151
+ await sleep(1000);
152
+ logger.group('group 1').log('function 1 end');
153
+ }
154
+
155
+ async function f2() {
156
+ logger.group('group 2').log('function 2 start');
157
+ await sleep(1500);
158
+ logger.group('group 2').log('function 2 end');
159
+ }
160
+
161
+ f1(); f2()
65
162
  ```
66
- - `disabled`: You can disable the logger globally if you want to. Normally, though, `logger.disable()`
67
- should be enough.
68
- - `formatStrings`: Controls whether string [formatting](#formatting) should be enabled.
69
163
 
70
- ### Focus mode
71
-
72
- If you want to debug a certain block of code, but your console is flooded with messages, you can
73
- enter the Focus mode with `logger.focus()`. In this mode, you will only see "focused" output. To
74
- produce "focused" output, use `logger.focus('my text')`. To leave Focus mode, use `logger.unfocus()`.
164
+ Result:
75
165
 
76
- ## Formatting
166
+ ![Async groups success](/images/async_good_result.png?raw=true)
77
167
 
78
- DeLogger supports string formatting. Syntax: `"(my text).class1.class2"`.
79
- Supported classes: `badge`, `bold`, `italic`.
80
- See also: [color classes](#color-classes).
168
+ ### Formatting
81
169
 
82
- Example:
170
+ Delogger supports Markdown-like string formatting. Here's the options:
171
+ - `**bold**`
172
+ - `*italic*`
173
+ - `~strikethrough~`
174
+ - `_underline_`
175
+ - `[custom text].classOne.classTwo...`. This syntax allows you to apply CSS classes to text in
176
+ square brackets. Available classes are: `badge`, `bold`, `italic`, `strikethrough`, `underline`,
177
+ `focus` and [color classes](#color-classes).
83
178
 
84
- ![Example output](/images/formatting.png?raw=true)
179
+ At the moment, you cannot nest formatting options into each other.
85
180
 
86
- ### Color classes
181
+ #### Color classes
87
182
 
88
- DeLogger supports following color classes (both for badges and normal text):
183
+ Delogger supports following color classes (both for badges and normal text):
89
184
  - `.blue`
90
185
  - `.orange`
91
186
  - `.red`
92
187
  - `.green`
93
188
  - `.cyan`
94
- - `.yellow`
95
- - `.gray`
96
- - `.brown`
97
189
  - `.purple`
98
- - `.pink`
99
190
 
100
- ## Adding custom / overriding existing styles
191
+ #### Adding custom / overriding existing styles
101
192
 
102
193
  All styles are declared in a stylesheet and thus are easily extensible.
103
194
  See [`assets/stylesheets/delogger.scss`](assets/stylesheets/delogger.scss).
104
- At the moment, only these attributes are supported: `margin-left`, `color`, `background-color`,
105
- `border-radius`, `padding`, `font-weight`, `font-style`.
195
+ At the moment, only these attributes are supported: `margin`, `color`, `background-color`,
196
+ `border-radius`, `padding`, `font-weight`, `font-style`, `text-decoration`.
197
+
198
+ ### Focus mode
199
+
200
+ If you want to debug a certain block of code, but your console is flooded with messages, you can
201
+ enter the Focus mode with `logger.focus()`. In this mode, you will only see "focused" output. To
202
+ produce "focused" output, use `logger.focus('my text')`. To leave Focus mode, use `logger.unfocus()`.
106
203
 
107
204
  ## Development
108
205
 
109
206
  Modify files in the `assets` folder, compile them afterwards using `./bin/compile`.
110
207
 
208
+ ### TODO:
209
+
210
+ - `{ custom styles }`
211
+ - Nested formatting
212
+ - Browser support
213
+ - Add an option to add supported CSS attributes
214
+ - Object formatting, function formatting...
215
+
111
216
  ## Contributing
112
217
 
113
218
  Bug reports and pull requests are welcome on GitHub at https://github.com/akxcv/delogger.
@@ -1,7 +1,6 @@
1
- require "delogger/version"
2
1
  require "delogger/rails"
3
2
 
4
- module DeLogger
3
+ module Delogger
5
4
  class Engine < ::Rails::Engine
6
5
  end
7
6
  end
@@ -1,6 +1,7 @@
1
1
  require "delogger/rails/engine"
2
+ require "delogger/rails/version"
2
3
 
3
- module DeLogger
4
+ module Delogger
4
5
  module Rails
5
6
  end
6
7
  end
@@ -1,4 +1,4 @@
1
- module DeLogger
1
+ module Delogger
2
2
  module Rails
3
3
  class Engine < ::Rails::Engine
4
4
  end
@@ -0,0 +1,5 @@
1
+ module Delogger
2
+ module Rails
3
+ VERSION = "0.3.2"
4
+ end
5
+ end
@@ -1 +1 @@
1
- (function(){var t=[].slice;this.DeLogger=function(){function o(t){var o,n;null==t&&(t={}),o=t.disabled||!1,n=null==t.formatStrings||t.formatStrings,this.settings={disabled:o,formatStrings:n}}var n,e,r;return o.prototype.log=function(){return this.print.apply(this,["log"].concat(t.call(arguments)))},o.prototype.info=function(){return this.print.apply(this,["info"].concat(t.call(arguments)))},o.prototype.debug=function(){return this.print.apply(this,["debug"].concat(t.call(arguments)))},o.prototype.warn=function(){return this.print.apply(this,["warn"].concat(t.call(arguments)))},o.prototype.error=function(){return this.print.apply(this,["error"].concat(t.call(arguments)))},o.prototype.group=function(){return this.print.apply(this,["group"].concat(t.call(arguments)))},o.prototype.groupCollapsed=function(){return this.print.apply(this,["groupCollapsed"].concat(t.call(arguments)))},o.prototype.groupEnd=function(){if(this.canPrint)return console.groupEnd.apply(console)},o.prototype.assert=function(){if(this.canPrint)return console.assert.apply(console,arguments)},o.prototype.count=function(){if(this.canPrint)return console.count.apply(console,arguments)},o.prototype.dir=function(){if(this.canPrint)return console.dir.apply(console,arguments)},o.prototype.dirxml=function(){if(this.canPrint)return console.dirxml.apply(console,arguments)},o.prototype.profile=function(){if(this.canPrint)return console.profile.apply(console,arguments)},o.prototype.time=function(){if(this.canPrint)return console.time.apply(console,arguments)},o.prototype.timeEnd=function(){if(this.canPrint)return console.timeEnd.apply(console)},o.prototype.trace=function(){if(this.canPrint)return console.trace.apply(console,arguments)},o.prototype.enable=function(){return localStorage.setItem("deloggerEnabled",!0)},o.prototype.disable=function(){return localStorage.removeItem("deloggerEnabled")},o.prototype.focus=function(){return arguments.length<1?localStorage.setItem("deloggerFocus",!0):this.print.apply(this,["focus"].concat(t.call(arguments)))},o.prototype.unfocus=function(){return localStorage.removeItem("deloggerFocus")},o.prototype.print=function(){var o,r,l,i,c,p,a,s,u,f,g;if(p=arguments[0],r=2<=arguments.length?t.call(arguments,1):[],this.canPrint(p)){for(g="",f=[],l=0,"focus"===p&&(g+="%cFOCUS%c ",f.push(n("badge blue bold")),f.push(n("default"))),i=0,c=r.length;i<c&&(o=r[i],"string"==typeof o&&this.settings.formatStrings);i++)a=e(o),s=a[0],u=a[1],g+=s,f.push.apply(f,u),l+=1;return r.splice(0,l),"focus"===p&&(p="log"),console[p].apply(console,[g].concat(t.call(f),t.call(r)))}},o.prototype.canPrint=function(t){return!this.settings.disabled&&null!=localStorage.deloggerEnabled&&("focus"===t||null==localStorage.deloggerFocus)},e=function(t){var o,e,r;for(o=[],r=/\(([^\(\)]+)\)(\.[\.\w]+)/;e=t.match(r);)o.push(n(e[2].split(".").join(" "))),o.push(n("default")),t=t.replace(r,"%c"+e[1]+"%c");return[t,o]},n=function(t){var o,n,e,l;return n=document.createElement("div"),n.id="delogger",n.className=t,n.style="display: none;",document.getElementsByTagName("body")[0].appendChild(n),o=getComputedStyle(n),l=function(){var t,n,l;for(l=[],t=0,n=r.length;t<n;t++)e=r[t],l.push(e+":"+o.getPropertyValue(e));return l}().join(";"),n.parentNode.removeChild(n),l},r=["margin-right","color","background-color","border-radius","padding","font-weight","font-style"],o}()}).call(this);
1
+ (function(){var t=[].slice;this.Delogger=function(){function r(t){var r,e,o;null==t&&(t={}),o=null==t.enabledByDefault||t.enabledByDefault,e=null==t.enableFormatting||t.enableFormatting,r=null==t.collapseGroups||t.collapseGroups,this.settings={enabledByDefault:o,enableFormatting:e,collapseGroups:r},this.currentGroupStack=[],this.previousGroupStack=[]}var e;return e=["log","info","debug","warn","error","focus"],r.prototype.log=function(){return this.perform.apply(this,["log"].concat(t.call(arguments)))},r.prototype.info=function(){return this.perform.apply(this,["info"].concat(t.call(arguments)))},r.prototype.debug=function(){return this.perform.apply(this,["debug"].concat(t.call(arguments)))},r.prototype.warn=function(){return this.perform.apply(this,["warn"].concat(t.call(arguments)))},r.prototype.error=function(){return this.perform.apply(this,["error"].concat(t.call(arguments)))},r.prototype.assert=function(){return this.perform.apply(this,["assert"].concat(t.call(arguments)))},r.prototype.count=function(){return this.perform.apply(this,["count"].concat(t.call(arguments)))},r.prototype.dir=function(){return this.perform.apply(this,["dir"].concat(t.call(arguments)))},r.prototype.dirxml=function(){return this.perform.apply(this,["dirxml"].concat(t.call(arguments)))},r.prototype.profile=function(){return this.perform.apply(this,["profile"].concat(t.call(arguments)))},r.prototype.time=function(){return this.perform.apply(this,["time"].concat(t.call(arguments)))},r.prototype.timeEnd=function(){return this.perform("timeEnd")},r.prototype.trace=function(){return this.perform.apply(this,["trace"].concat(t.call(arguments)))},r.prototype.enable=function(){return localStorage.setItem("deloggerEnabled",!0)},r.prototype.disable=function(){return localStorage.removeItem("deloggerEnabled")},r.prototype.focus=function(){return arguments.length<1?localStorage.setItem("deloggerFocus",!0):this.perform.apply(this,["focus"].concat(t.call(arguments)))},r.prototype.unfocus=function(){return localStorage.removeItem("deloggerFocus")},r.prototype.group=function(){var r,e,o,n,l,c,a,u,i,p,s,f,h,g;if(g=1<=arguments.length?t.call(arguments,0):[],this.canPrint()){for(this.currentGroupStack=g,e=this.settings.collapseGroups?"groupCollapsed":"group",r=0,s=this.previousGroupStack,l=n=0,u=s.length;n<u;l=++n)p=s[l],p===this.currentGroupStack[l]&&(r+=1);if(o=this.previousGroupStack.length-r)for(c=1,f=o;1<=f?c<=f:c>=f;1<=f?c++:c--)console.groupEnd();for(h=this.currentGroupStack.slice(r),a=0,i=h.length;a<i;a++)p=h[a],console[e](p);return this}},r.prototype.perform=function(){var r,o,n,l,c;if(l=arguments[0],r=2<=arguments.length?t.call(arguments,1):[],o=e.indexOf(l)>-1&&this.settings.enableFormatting?this.format.apply(this,[l].concat(t.call(r))):r,!this.currentGroupStack.length)for(n=1,c=this.previousGroupStack.length;1<=c?n<=c:n>=c;1<=c?n++:n--)console.groupEnd();this.print.apply(this,[l].concat(t.call(o))),this.previousGroupStack=this.currentGroupStack,this.currentGroupStack=[]},r.prototype.print=function(){var r,e;if(e=arguments[0],r=2<=arguments.length?t.call(arguments,1):[],this.canPrint(e))return"focus"===e&&(e="log"),console[e].apply(console,r)},r.prototype.enabled=function(){return null!=localStorage.deloggerEnabled||this.settings.enabledByDefault},r.prototype.canPrint=function(t){return!!enabled&&("focus"===t||null==localStorage.deloggerFocus)},r.prototype.format=function(){var e,o,n,l,c,a,u,i,p,s,f,h,g,m,y,d;for(f=arguments[0],o=2<=arguments.length?t.call(arguments,1):[],d="",y=[],c=0,"focus"===f&&(d+="%cfocus%c ",y.push(computeStyle("badge focus")),y.push(computeStyle("default"))),u=0,p=o.length;u<p&&(e=o[u],l=r.Formatter.format(e),null!=l);u++)a=l[0],m=l[1],d+=a,y.push.apply(y,m),c+=1;for(o.splice(0,c),h=[d].concat(t.call(y),t.call(o)),g=[],i=0,s=h.length;i<s;i++)n=h[i],(null==n.length||n.length>0)&&g.push(n);return g},r}(),Delogger.Formatter=function(){function t(){}var r,e,o,n,l,c;return t.format=function(t){if("string"==typeof t)return o(t)},o=function(t){var o,n,c,a;for(a=[];r(t);)n=l(t),c=n.format.replacer||function(t,r){return"%c"+r+"%c"},o="string"==typeof n.format.classes?n.format.classes:n.format.classes(n.match),t=t.replace(n.format.regex,c),a.push(e(o)),a.push(e("default"));return[t,a]},r=function(t){var r,e,o;for(e=0,o=n.length;e<o;e++)if(r=n[e],r.regex.test(t))return!0;return!1},l=function(t){var r,e;return e=function(){var e,o,l;for(l=[],e=0,o=n.length;e<o;e++)r=n[e],r.regex.test(t)&&l.push({match:t.match(r.regex),format:r});return l}(),e.sort(function(t,r){return t.match.index-r.match.index})[0]},e=function(t){var r,e,o,n;return e=document.createElement("div"),e.id="delogger",e.className=t,e.style="display: none;",document.getElementsByTagName("body")[0].appendChild(e),r=getComputedStyle(e),n=function(){var t,e,n;for(n=[],t=0,e=c.length;t<e;t++)o=c[t],n.push(o+":"+r.getPropertyValue(o));return n}().join(";"),e.parentNode.removeChild(e),n},c=["margin","color","background-color","border-radius","padding","font-weight","font-style","text-decoration"],n=[{regex:/\*\*([^\*]+)\*\*/,classes:"bold"},{regex:/\*([^\*]+)\*/,classes:"italic"},{regex:/~([^~]+)~/,classes:"strikethrough"},{regex:/_([^_]+)_/,classes:"underline"},{regex:/\[([^\[\]]+)\](\.[\.\w]+)?(\{[^\{\}]+\})?/,classes:function(t){var r,e,o;return r=t[0],e=t[1],o=t[2],o.split(".").join(" ")}}],t}()}).call(this);
@@ -3,66 +3,53 @@
3
3
  background-color: transparent;
4
4
  border-radius: 0;
5
5
  padding: 0;
6
- margin-left: 0;
6
+ margin: 0;
7
7
  font-weight: normal;
8
- font-style: normal;
9
- margin-left: 3px; }
8
+ font-style: normal; }
10
9
  #delogger.badge {
11
10
  color: white;
12
11
  background-color: black;
13
- border-radius: 9px;
14
- padding: 1px 5px; }
12
+ border-radius: 3px;
13
+ padding: 2px;
14
+ margin: 0 2px; }
15
15
  #delogger.badge.blue {
16
16
  color: white;
17
- background-color: blue; }
17
+ background-color: #61afef; }
18
18
  #delogger.badge.orange {
19
19
  color: white;
20
- background-color: orange; }
20
+ background-color: #d19a66; }
21
21
  #delogger.badge.red {
22
22
  color: white;
23
- background-color: red; }
23
+ background-color: #e06c75; }
24
24
  #delogger.badge.green {
25
25
  color: white;
26
- background-color: green; }
26
+ background-color: #98c379; }
27
27
  #delogger.badge.cyan {
28
- color: gray;
29
- background-color: cyan; }
30
- #delogger.badge.yellow {
31
- color: gray;
32
- background-color: yellow; }
33
- #delogger.badge.gray {
34
28
  color: white;
35
- background-color: gray; }
36
- #delogger.badge.brown {
37
- color: white;
38
- background-color: brown; }
29
+ background-color: #56b6c2; }
39
30
  #delogger.badge.purple {
40
31
  color: white;
41
- background-color: purple; }
42
- #delogger.badge.pink {
43
- color: gray;
44
- background-color: pink; }
32
+ background-color: #c678dd; }
33
+ #delogger.badge.focus {
34
+ color: #bada55;
35
+ background: #444; }
45
36
  #delogger.blue {
46
- color: blue; }
37
+ color: #4078f2; }
47
38
  #delogger.orange {
48
- color: orange; }
39
+ color: #986801; }
49
40
  #delogger.red {
50
- color: red; }
41
+ color: #e45649; }
51
42
  #delogger.green {
52
- color: green; }
43
+ color: #50a14f; }
53
44
  #delogger.cyan {
54
- color: cyan; }
55
- #delogger.yellow {
56
- color: yellow; }
57
- #delogger.gray {
58
- color: gray; }
59
- #delogger.brown {
60
- color: brown; }
45
+ color: #0184bc; }
61
46
  #delogger.purple {
62
- color: purple; }
63
- #delogger.pink {
64
- color: pink; }
47
+ color: #a626a4; }
65
48
  #delogger.bold {
66
49
  font-weight: bold; }
67
50
  #delogger.italic {
68
51
  font-style: italic; }
52
+ #delogger.strikethrough {
53
+ text-decoration: line-through; }
54
+ #delogger.underline {
55
+ text-decoration: underline; }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delogger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Komarov
@@ -94,9 +94,14 @@ files:
94
94
  - lib/delogger.rb
95
95
  - lib/delogger/rails.rb
96
96
  - lib/delogger/rails/engine.rb
97
- - lib/delogger/version.rb
97
+ - lib/delogger/rails/version.rb
98
98
  - vendor/assets/javascripts/delogger.js
99
99
  - vendor/assets/stylesheets/delogger.css
100
+ - vendor/cache/coffee-script-2.4.1.gem
101
+ - vendor/cache/coffee-script-source-1.12.2.gem
102
+ - vendor/cache/execjs-2.7.0.gem
103
+ - vendor/cache/sass-3.4.23.gem
104
+ - vendor/cache/uglifier-3.0.4.gem
100
105
  homepage: https://github.com/akxcv/delogger
101
106
  licenses:
102
107
  - MIT
@@ -1,3 +0,0 @@
1
- module DeLogger
2
- VERSION = "0.3.1"
3
- end