delogger 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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