Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent
, '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

Add google analytics support - #929

Merged
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics
Aug 6, 2019
Merged

Add google analytics support#929
yamgent merged 4 commits into
MarkBind:masterfrom
crphang:integrate-google-analytics

Conversation

@crphang

@crphangcrphang commented Jul 13, 2019

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • New feature

Resolves#355
Resolves#902

Remaining Tasks:

  • User Guide
  • Add test to show that plugin indeed generates google analytics.

What is the rationale for this request?

To provide easy way for authors to add google analytics into their web built by markbind. This PR adds this support by adding additional Google Analytics plugin.

image

What changes did you make? (Give an overview)

  • Added a Google Analytics plugin

Provide some example code that this change will affect:

Add to site.json accordingly

{
"plugins": ["googleAnalytics"],
"pluginsContext" : {
"googleAnalytics" : {
"trackingID": "UA-143800593-1"
}
}
}

This will be further simplified with #930

@crphang
crphangforce-pushed the integrate-google-analytics branch 2 times, most recently from 5757828 to 9765a61CompareJuly 13, 2019 09:29
@crphangcrphang changed the title [WIP] Add google analytics supportAdd google analytics supportJul 14, 2019
@crphang

Copy link
Copy Markdown
ContributorAuthor

Ready for review.

Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

@yamgentyamgent 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.

Please rebase to the latest master, so that we can remove the unrelated changes such as test/functional/test_site/expected/diagrams/usecase.png.


Would require additional help on functional testing portion. Not entirely sure what is the adopted/best practice.

I think the current implementation of yours is the best we can do. If in the future, Google drastically changes the method of tracking users, we will just have to rely on user reports to update on our side.

Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/plugins/googleAnalytics.mbdf Outdated
Comment threaddocs/userGuide/usingPlugins.md Outdated
Comment threadtest/functional/test_site/testGoogleAnalytics.md Outdated
@crphang
crphangforce-pushed the integrate-google-analytics branch from 57c9ca5 to b0e36b0CompareJuly 27, 2019 09:31
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent made changes. Ready for review. Thanks for reviewing

@yamgentyamgent 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.

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

Anyway, one minor nit, otherwise this seems good to go.

@@ -0,0 +1,24 @@
#### `Google Analytics`: Enhancing site with Google Analytics

This plugin allows your web pages to be enhanced with [google analytics](https://analytics.google.com/analytics/web/#/) to track, analyse and improve your content..

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.

Remove the duplicate dots at the end.

@damithc

Copy link
Copy Markdown
Contributor

Hmm interesting, the diagrams seems to change due to it being rendered differently (I presume it is because different OS renders the diagrams differently?)

What do we do about this? The diagrams shouldn't be part of this PR right?

@yamgent

Copy link
Copy Markdown
Member

What do we do about this? The diagrams shouldn't be part of this PR right?

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

@damithc

Copy link
Copy Markdown
Contributor

Yes, I am of the view that the changes should be discarded for now in this PR, since the original source code of the diagram did not change.

If the source code changes, then the PR that made the changes should update the diagram (for that case, I think it is OK if the PR author is not using Windows to update them, since pictures need manual verification anyway...)

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

@yamgent

Copy link
Copy Markdown
Member

Does that also mean every PR coming from a non-Windows contributor will be required to remove unrelated changes from the PR every time? 😨

A possible way to alleivate this issue for now is to get rid of PlantUML diagrams in the functional tests.

Ideally, it would be great if someone could try and find ways to make the style consistent across all OS (I haven't research enough to say whether this is feasible with PlantUML though).

@crphang
crphangforce-pushed the integrate-google-analytics branch from 132e842 to c964a88CompareAugust 4, 2019 09:10
@crphang

Copy link
Copy Markdown
ContributorAuthor

@yamgent Removed diagram changes and typo. Ready for review.

@yamgentyamgent added this to the v2.5.4 milestone Aug 5, 2019
@yamgent
yamgent merged commit 9239686 into MarkBind:masterAug 6, 2019
crphang added a commit to crphang/markbind that referenced this pull request Sep 1, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support easy integration of Google Analytics Support google analytics

3 participants

@crphang@damithc@yamgent