Skip to content

Commit 1126d52

Browse files
committed
[BUGFIX] Edit on GitHub Button with adjusted path
resovles #390
1 parent 5490bca commit 1126d52

File tree

8 files changed

+231
-1
lines changed

8 files changed

+231
-1
lines changed

packages/typo3-docs-theme/src/DependencyInjection/Typo3DocsThemeExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public function load(array $configs, ContainerBuilder $container): void
5151
'typo3_version' => $this->getConfigValue($configs, 'typo3_version', 'main'),
5252
'edit_on_github' => $this->getConfigValue($configs, 'edit_on_github', ''),
5353
'edit_on_github_branch' => $this->getConfigValue($configs, 'edit_on_github_branch', 'main'),
54+
'edit_on_github_directory' => $this->getConfigValue($configs, 'edit_on_github_directory', 'Documentation'),
5455
'how_to_edit' => $this->getConfigValue($configs, 'how_to_edit', 'https://docs.typo3.org/m/typo3/docs-how-to-document/main/en-us/WritingDocsOfficial/GithubMethod.html'),
5556
'interlink_shortcode' => $this->getConfigValue($configs, 'interlink_shortcode', ''),
5657
'copy_sources' => $this->getConfigValue($configs, 'copy_sources', 'true'),

packages/typo3-docs-theme/src/Twig/TwigExtension.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ public function getEditOnGitHubLink(array $context): string
8585
if ($currentFileName === '') {
8686
return '';
8787
}
88-
return sprintf("https://github.com/%s/edit/%s/Documentation/%s.rst", $githubButton, $githubBranch, $currentFileName);
88+
$githubDirectory = trim($this->themeSettings->getSettings('edit_on_github_directory', 'Documentation'), '/');
89+
return sprintf("https://github.com/%s/edit/%s/%s/%s.rst", $githubButton, $githubBranch, $githubDirectory, $currentFileName);
8990
}
9091
/**
9192
* @param array{env: RenderContext} $context

packages/typo3-guides-cli/src/Command/ConfigureCommand.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ protected function configure(): void
4949
--extension-value="https://github.com/vendor/extension" \
5050
\
5151
--extension-class="\T3Docs\Typo3DocsTheme\DependencyInjection\Typo3DocsThemeExtension" \
52+
--extension-attribute="edit-on-github-directory" \
53+
--extension-value="path/to/Documentation" \
54+
\
55+
--extension-class="\T3Docs\Typo3DocsTheme\DependencyInjection\Typo3DocsThemeExtension" \
5256
--extension-attribute="project-contact" \
5357
--extension-value="mailto:[email protected]" \
5458
\

packages/typo3-guides-cli/src/Migration/HtmlThemeOptions.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ enum HtmlThemeOptions: string
2121
case github_revision_msg = 'github-revision-msg';
2222
case github_branch = 'edit-on-github-branch';
2323
case github_repository = 'edit-on-github';
24+
case path_to_documentation_dir = 'edit-on-github-directory';
2425
case github_sphinx_locale = 'github-sphinx-locale';
2526
case github_commit_hash = 'github-commit-hash';
2627
}

packages/typo3-guides-cli/tests/unit/Migration/SettingsMigratorTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public static function providerForMigrateReturnsXmlDocumentCorrectly(): \Generat
5454
'github_revision_msg' => 'some github message',
5555
'github_branch' => 'main',
5656
'github_repository' => 'my-example-repository',
57+
'path_to_documentation_dir' => 'typo3/sysext/redirects/Documentation/',
5758
'github_sphinx_locale' => 'de',
5859
'github_commit_hash' => 'abcdef',
5960
],
@@ -64,6 +65,7 @@ public static function providerForMigrateReturnsXmlDocumentCorrectly(): \Generat
6465
class="\T3Docs\Typo3DocsTheme\DependencyInjection\Typo3DocsThemeExtension"
6566
edit-on-github="my-example-repository"
6667
edit-on-github-branch="main"
68+
edit-on-github-directory="typo3/sysext/redirects/Documentation/"
6769
github-commit-hash="abcdef"
6870
github-revision-msg="some github message"
6971
github-sphinx-locale="de"
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
<!DOCTYPE html>
2+
<html class="no-js" lang="en">
3+
<head>
4+
<title>Document Title documentation</title>
5+
6+
7+
<meta charset="utf-8">
8+
<meta content="width=device-width, initial-scale=1.0" name="viewport">
9+
<meta content="phpdocumentor/guides" name="generator">
10+
<meta content="" name="docsearch:name">
11+
<meta content="" name="docsearch:package_type">
12+
<meta content="" name="docsearch:release">
13+
<meta content="" name="docsearch:version">
14+
<meta content="2023-01-01T12:00:00+00:00" name="docsearch:modified">
15+
<meta content="2023-01-01T12:00:00+00:00" name="dc.modified">
16+
<meta content="2023-01-01T12:00:00+00:00" property="article:modified_time">
17+
<link href="http://purl.org/dc/elements/1.1/" rel="schema.dc">
18+
<link href="_resources/css/theme.css" rel="stylesheet">
19+
<link href="https://docs.typo3.org/search/" rel="search" title="Search">
20+
<script src="https://typo3.azureedge.net/typo3infrastructure/universe/dist/webcomponents-loader.js"></script>
21+
<script src="https://typo3.azureedge.net/typo3infrastructure/universe/dist/typo3-universe.js" type="module"></script>
22+
23+
<link href="#" rel="top" title="Document Title"/>
24+
</head>
25+
<body>
26+
<div class="page">
27+
28+
<header>
29+
<div class="page-topbar">
30+
<div class="page-topbar-inner">
31+
<typo3-universe active="documentation">
32+
<div style="display: block; height: 44px; background-color: #313131;"></div>
33+
</typo3-universe>
34+
</div>
35+
</div>
36+
<div class="page-header">
37+
<div class="page-header-inner">
38+
<div class="row">
39+
<div class="col-sm-6 col-lg-7">
40+
<a class="logo" href="https://docs.typo3.org/" title="TYPO3 Documentation">
41+
<img alt="TYPO3 Logo" class="logo-image" src="_resources/img/typo3-logo.svg" width="484" height="130">
42+
</a>
43+
</div>
44+
<div class="col-sm-6 col-lg-5">
45+
<search role="search">
46+
<form action="https://docs.typo3.org/search/search" id="global-search-form" method="get">
47+
<div class="sr-only"><label for="globalsearchinput">Search all TYPO3 Documentation</label></div>
48+
<div class="input-group mb-3 mt-sm-3">
49+
<input autocomplete="off" class="form-control shadow-none" id="globalsearchinput" name="q" placeholder="Search all TYPO3 documentation" type="text" value="">
50+
<button class="btn btn-primary" type="submit"><i class="fa fa-search"></i>&nbsp;Search</button>
51+
</div>
52+
</form>
53+
</search>
54+
</div>
55+
</div>
56+
</div>
57+
</div>
58+
</header>
59+
<main class="page-main">
60+
<div class="page-main-inner">
61+
<div class="page-main-navigation">
62+
<nav>
63+
<input class="toc-checkbox" id="toggleToc" type="checkbox">
64+
65+
66+
<div class="toc-header">
67+
<div class="toc-title">
68+
<a class="toc-title-project" href="#"></a>
69+
</div>
70+
<div class="toc-actions">
71+
<label class="toc-toggle" for="toggleToc">
72+
Menu
73+
</label>
74+
</div>
75+
</div>
76+
<div class="toc-collapse">
77+
<div aria-label="main navigation" class="toc" role="navigation">
78+
<div aria-label="Main navigation" class="main_menu" role="navigation">
79+
80+
81+
</div>
82+
</div>
83+
</div>
84+
</nav>
85+
</div>
86+
<div class="page-main-content">
87+
<div class="rst-content"> <nav aria-label="breadcrumbs navigation" class="breadcrumb-bar" role="navigation">
88+
89+
<ol class="breadcrumb">
90+
<li aria-current="page" class="breadcrumb-item active">Document Title</li>
91+
</ol>
92+
93+
<div class="breadcrumb-additions"> <a class="btn btn-sm btn-light" href="_sources/Index.rst.txt" rel="nofollow noopener" target="_blank">
94+
<span class="btn-icon"><span class="fas fa-code"></span></span>
95+
<span class="btn-text">View source</span>
96+
</a>
97+
<a class="btn btn-sm btn-light" href="https://docs.typo3.org/m/typo3/docs-how-to-document/main/en-us/WritingDocsOfficial/GithubMethod.html" id="btnHowToEdit" rel="nofollow noopener" target="_blank">
98+
<span class="btn-icon"><span class="fas fa-info-circle"></span></span>
99+
<span class="btn-text">How to edit</span>
100+
</a>
101+
<a class="btn btn-sm btn-primary" href="https://github.com/typo3/typo3/edit/main/typo3/sysext/adminpanel/Documentation/Index.rst" id="btnEditOnGitHub" rel="nofollow noopener" target="_blank">
102+
<span class="btn-icon"><span class="fab fa-github"></span></span>
103+
<span class="btn-text">Edit on GitHub</span>
104+
</a>
105+
</div>
106+
</nav>
107+
108+
<article class="document" itemscope="itemscope" itemtype="http://schema.org/Article" role="main">
109+
<div itemprop="articleBody">
110+
<!-- content start -->
111+
<section class="section" id="document-title">
112+
<h1>Document Title<a class="headerlink" href="#document-title" data-bs-toggle="modal" data-bs-target="#linkReferenceModal" title="Reference this headline"></a></h1>
113+
114+
<p>Lorem Ipsum Dolor.</p>
115+
</section>
116+
117+
<!-- content end -->
118+
</div>
119+
</article>
120+
121+
</div>
122+
</div>
123+
</div>
124+
</main>
125+
126+
<div class="modal fade" id="linkReferenceModal" tabindex="-1" aria-labelledby="linkReferenceModalLabel"
127+
aria-hidden="true" data-current-filename="Index">
128+
<div class="modal-dialog">
129+
<div class="modal-content">
130+
<div class="modal-header">
131+
<h5 class="modal-title" id="linkReferenceModalLabel">Reference to the headline</h5>
132+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
133+
</div>
134+
<div class="modal-body">
135+
<div class="alert alert-success d-none" id="permalink-alert-success" role="alert"></div>
136+
<div class="mb-3">
137+
<label for="permalink-uri" class="col-form-label">Permalink</label>
138+
<div class="input-group">
139+
<input class="form-control code" id="permalink-uri" readonly>
140+
<button type="button" class="btn btn-outline-secondary copy-button" data-target="permalink-uri"><i class="far fa-clone"></i></button>
141+
</div>
142+
<p>Copy and freely share the link</p>
143+
</div>
144+
<div class="mb-3">
145+
<div class="alert alert-warning alert-permalink-rst" role="alert">This link target has no permanent anchor assigned. You can make a <a href="https://github.com/typo3/typo3/edit/main/typo3/sysext/adminpanel/Documentation/Index.rst">pull request on GitHub</a> to suggest an anchor.
146+
The link below can be used, but is prone to change if the page gets moved.
147+
</div>
148+
<label for="permalink-rst" class="col-form-label">reStructuredText (reST):</label>
149+
<div class="input-group">
150+
<textarea class="form-control code" id="permalink-rst" readonly></textarea>
151+
<button type="button" class="btn btn-outline-secondary copy-button" data-target="permalink-rst"><i class="far fa-clone"></i></button>
152+
</div>
153+
<p>Copy this link into your TYPO3 manual. </p>
154+
</div>
155+
<div class="mb-3">
156+
<label for="permalink-html" class="col-form-label">HTML:</label>
157+
<div class="input-group">
158+
<textarea class="form-control code" id="permalink-html" readonly></textarea>
159+
<button type="button" class="btn btn-outline-secondary copy-button" data-target="permalink-html"><i class="far fa-clone"></i></button>
160+
</div>
161+
</div>
162+
</div>
163+
<div class="modal-footer">
164+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
165+
</div>
166+
</div>
167+
</div>
168+
</div>
169+
</div>
170+
171+
172+
<footer class="page-footer">
173+
<div class="frame frame-ruler-before frame-background-dark">
174+
<div class="frame-container">
175+
<div class="frame-inner">
176+
<div class="footer-additional">
177+
<p class="text-center">Last rendered: Jan 01, 2023 12:00</p>
178+
</div>
179+
<div class="footer-meta">
180+
<ul class="footer-meta-navigation">
181+
<li><a href="https://typo3.org/legal-notice" rel="nofollow" target="_blank" title="Legal Notice">Legal Notice</a></li>
182+
<li><a href="https://typo3.org/privacy-policy" rel="nofollow" target="_blank" title="Privacy Policy">Privacy Policy</a></li>
183+
</ul>
184+
</div>
185+
</div>
186+
</div>
187+
</div>
188+
</footer>
189+
190+
<script src="_resources/js/popper.min.js"></script>
191+
<script src="_resources/js/bootstrap.min.js"></script>
192+
<script src="_resources/js/theme.min.js"></script>
193+
194+
<script id="R9wBKTwzv" src="https://app.usercentrics.eu/latest/main.js"></script>
195+
<script data-usercentrics="Matomo" src="/js/piwik.js" type="text/plain"></script>
196+
197+
<script type="text/plain" data-usercentrics="Google Tag Manager">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
198+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
199+
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
200+
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
201+
})(window,document,'script','dataLayer','GTM-MKNXD8Q');</script>
202+
</body>
203+
</html>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
==============
2+
Document Title
3+
==============
4+
5+
Lorem Ipsum Dolor.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<guides xmlns="https://www.phpdoc.org/guides"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="https://www.phpdoc.org/guides vendor/phpdocumentor/guides-cli/resources/schema/guides.xsd"
5+
links-are-relative="true"
6+
>
7+
8+
<extension class="\T3Docs\Typo3DocsTheme\DependencyInjection\Typo3DocsThemeExtension"
9+
edit-on-github="typo3/typo3"
10+
edit-on-github-branch="main"
11+
edit-on-github-directory="typo3/sysext/adminpanel/Documentation/"
12+
/>
13+
</guides>

0 commit comments

Comments
 (0)