Skip to content

Commit ef0ffc3

Browse files
committed
✨ Detect data attributes
1 parent 39ad735 commit ef0ffc3

File tree

4 files changed

+31
-6
lines changed

4 files changed

+31
-6
lines changed

dist/drkmd-js.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/index.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,19 @@ <h1>Darkmode example</h1>
3131
<p>This is an example</p>
3232
</body>
3333

34-
<script src="../dist/drkmd-js.min.js"></script>
34+
<!-- Basic usage -->
35+
<script src="../dist/drkmd-js.min.js" data-drkmd></script>
36+
37+
<!-- Specify options -->
38+
<!--<script src="../dist/drkmd-js.min.js" data-drkmd='{ "defaultTheme": "dark", "cookie": true }'></script>-->
39+
40+
<!-- Programmatic usage -->
41+
<!-- <script src="../dist/drkmd-js.min.js"></script>
3542
<script>
3643
function addDarkmode() {
3744
new Darkmode().attach();
3845
}
3946
window.addEventListener('load', addDarkmode);
40-
</script>
47+
</script> -->
4148

4249
</html>

src/drkmd.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export default class Darkmode {
1212
bottom: '20px',
1313
right: '20px',
1414
left: 'unset',
15+
attachButton: true,
1516
buttonLight: '#fff',
1617
buttonDark: '#000',
1718
events: true,

src/index.js

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
11
import Darkmode, { IS_BROWSER } from './drkmd'
22
export default Darkmode
33

4+
const detect = () => {
5+
const elem = document.querySelector('[data-drkmd]')
6+
7+
if (!elem) {
8+
window.darkmode = Darkmode
9+
10+
return
11+
}
12+
13+
const attribute = elem.getAttribute('data-drkmd') || '{}'
14+
const options = JSON.parse(attribute)
15+
16+
window.darkmode = new Darkmode(options)
17+
18+
if (window.darkmode.options.attachButton) {
19+
window.darkmode.attach()
20+
}
21+
}
22+
423
if (IS_BROWSER) {
5-
(function(window) {
6-
window.Darkmode = Darkmode
7-
}(window))
24+
detect()
825
}

0 commit comments

Comments
 (0)