1
+ // static/js/bug-reporter.js (or wherever you prefer to store static assets)
2
+
3
+ document.addEventListener('mouseup', function() {
4
+ const selectedText = window.getSelection().toString().trim();
5
+
6
+ if (selectedText.length > 0) {
7
+ // You might want to add a small button or popup here instead of direct confirmation
8
+ // For simplicity, we'll keep the confirmation for now.
9
+
10
+ const currentPageUrl = window.location.href;
11
+ const githubFilePath = getGitHubFilePath(); // This will now be more accurate for Hugo
12
+
13
+ const issueTitle = `Bug Report: Issue on "${selectedText.substring(0, 50).replace(/\n/g, ' ')}..."`;
14
+ let issueBody = `
15
+ **Description of the issue:**
16
+ \`\`\`
17
+ ${selectedText}
18
+ \`\`\`
19
+
20
+ ---
21
+ **Context:**
22
+ - **Page URL:** ${currentPageUrl}
23
+ - **GitHub Source File:** ${githubFilePath}
24
+ `;
25
+
26
+ const encodedTitle = encodeURIComponent(issueTitle);
27
+ const encodedBody = encodeURIComponent(issueBody);
28
+
29
+ const githubRepo = 'validatedpatterns/docs'; // Your GitHub repository
30
+ const githubIssueUrl = `https://github.com/${githubRepo}/issues/new?title=${encodedTitle}&body=${encodedBody}`;
31
+
32
+ const confirmation = confirm("Do you want to report this as a bug on GitHub for the selected text?");
33
+ if (confirmation) {
34
+ window.open(githubIssueUrl, '_blank');
35
+ }
36
+ }
37
+ });
38
+
39
+
40
+ // Hugo-specific function to get the GitHub file path
41
+ function getGitHubFilePath() {
42
+ // This assumes you've added a data-github-file attribute to your body or a container.
43
+ const bodyElement = document.querySelector('body');
44
+ if (bodyElement && bodyElement.dataset.githubFile) {
45
+ // Construct the full GitHub blob URL
46
+ // Assuming your source files are in the 'content' directory of your repo
47
+ // And you're using the 'main' branch
48
+ const repoBaseUrl = 'https://github.com/validatedpatterns/docs/blob/main/';
49
+ return repoBaseUrl + bodyElement.dataset.githubFile;
50
+ }
51
+
52
+ // Fallback if the data attribute isn't found (shouldn't happen with Hugo setup)
53
+ return "Could not determine source file automatically. Please specify if known.";
54
+ }
0 commit comments