feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat: user guide dark mode - #7463

Merged
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode
May 2, 2023
Merged

feat: user guide dark mode#7463
kenjis merged 5 commits into
codeigniter4:developfrom
michalsn:feat/user-guide-dark-mode

Conversation

@michalsn

Copy link
Copy Markdown
Member

Description
This is an ancient work from December. It adds a dark mode to our user guide.

Since Read the Docs doesn't have built-in support for the dark mode style, I implemented a solution strictly dependent on system settings. So there is no switch to enable or disable dark mode.

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

Checklist:

  • Securely signed commits
  • Component(s) with PHPDoc blocks, only if necessary or adds value
  • Unit testing, with >80% coverage
  • User guide updated
  • Conforms to style guide

@lonnieezell

Copy link
Copy Markdown
Member

I think it looks great!

There are a couple of things I could nit-pick about but are just personal preference and wouldn't really need to change, I don't think.

Thanks!

@michalsn

Copy link
Copy Markdown
MemberAuthor

I'm open to making improvements if folks think they are needed. However, changes may take me some time.

@kenjis

Copy link
Copy Markdown
Member

Preview: https://michalsn.github.io/CodeIgniter4/ - please don't test it on a sunny day 😅

How can I test it?
It is nighttime now, but the page is the same as during daylight hours.
Screenshot 2023-04-30 20 43 07

@michalsn

Copy link
Copy Markdown
MemberAuthor

If you're on macOS, go to Settings -> Appearance, and there you have to enable "dark mode" or "auto mode".

image

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

I use "auto mode".

Ah, using Chrome, the page is in the dark mode.

@michalsn

michalsn commented Apr 30, 2023

Copy link
Copy Markdown
MemberAuthor

Judging by your browser's color, dark mode is not yet active (you probably need to wait a bit longer).

Sorry I didn't notice your edit.

@kenjis

Copy link
Copy Markdown
Member

I don't know why, but Firefox does not show dark mode page unless I click the dark mode button.
Screenshot 2023-04-30 20 57 40

My setting in Firefox is also automatic.
Screenshot 2023-04-30 20 57 26

@kenjis

Copy link
Copy Markdown
Member

Chrome and Safari shows dark mode page.
There is a bug in Firefox?

@michalsn

Copy link
Copy Markdown
MemberAuthor

Hmm... I will have to look into it.

So auto-mode in the system doesn't enable dark mode on the page. I will check it out today.

@kenjis

kenjis commented Apr 30, 2023

Copy link
Copy Markdown
Member

Class and function names are difficult to read.
Screenshot 2023-04-30 21 30 16
Screenshot 2023-04-30 21 32 15

@kenjis

Copy link
Copy Markdown
Member

I got the reason. My theme was "Light". It prevented dark mode.
I've changed it to "Firefox Alpenglow" or "Dark" or "System theme — auto", Firefox shows the dark pages.
Screenshot 2023-04-30 21 44 18

@michalsn

Copy link
Copy Markdown
MemberAuthor

Thanks for figuring it out.

Function/class reference styles have been updated. It was strange because it was displaying correctly on my local build. Anyway, thanks for letting me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn I have a problem with the white border of the tables, I feel it conflicts with the dark mod.

Screenshot 2023-05-01 033919

@kenjiskenjis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@kenjis

Copy link
Copy Markdown
Member

@datamweb What's wrong with the border?
This?
Screenshot 2023-05-01 20 48 34

@datamweb

Copy link
Copy Markdown
Contributor

What's wrong with the border?

No, I mean white color, I feel that this color is chosen too bright.

@michalsn

Copy link
Copy Markdown
MemberAuthor

It wasn't strictly white, but I darkened it more, so it should be ok now. Let me know.

@datamweb

Copy link
Copy Markdown
Contributor

@michalsn thank you! nice.

@kenjis
kenjis merged commit c2842c6 into codeigniter4:developMay 2, 2023
@michalsn
michalsn deleted the feat/user-guide-dark-mode branch May 10, 2023 05:58
@kenjiskenjis added the enhancement PRs that improve existing functionalities label May 21, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementPRs that improve existing functionalities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@michalsn@lonnieezell@kenjis@datamweb