Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit0d9021ad3e90c88a6248eb9ebfd41a478aeba025 (patch)
Author
 Syndamia <kamen@syndamia.com>
2024-12-21 15:14:49 +0200
Committer
 Syndamia <kamen@syndamia.com>
2024-12-21 15:14:49 +0200
Files50be2bb04aeb3f0ecf9919705861291dbe73f18c
uni-projects-0d9021ad3e90c88a6248eb9ebfd41a478aeba025.tar
uni-projects-0d9021ad3e90c88a6248eb9ebfd41a478aeba025.tar.gz
uni-projects-0d9021ad3e90c88a6248eb9ebfd41a478aeba025.zip
Parentbaebb8f5b6b325c03ff2a97d7ef3d1a16f1aed0a (diff)
referat(WT): Implement code copy
diff --git a/Year 4/Web technologies/referat/css/style.css b/Year 4/Web technologies/referat/css/style.css
index c7c6db8..4f71017 100644
--- a/Year 4/Web technologies/referat/css/style.css
+++ b/Year 4/Web technologies/referat/css/style.css
@@ -95,8 +95,27 @@ pre > code {
display: inline-block;
width: 100%;
box-sizing: border-box;
+ position: relative;
}
ol.sources > li::before, sup a, sup a:visited {
color: var(--level4);
}
+
+.copy-to-clipboard {
+ position: absolute;
+ right: 0.5em;
+ top: 0.25em;
+ z-index: 50;
+ background-color: white;
+ border-radius: 0.25em;
+ cursor: pointer;
+}
+
+.copy-to-clipboard:hover {
+ background-color: rgb(68, 65, 118, 0.5);
+}
+
+.copy-to-clipboard:active {
+ transform: scale(0.8);
+}
diff --git a/Year 4/Web technologies/referat/img/clipboard.svg b/Year 4/Web technologies/referat/img/clipboard.svg
new file mode 100644
index 0000000..3ba32a4
--- /dev/null
+++ b/Year 4/Web technologies/referat/img/clipboard.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-clipboard"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2" /><path d="M9 3m0 2a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v0a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2z" /></svg> \ No newline at end of file
diff --git a/Year 4/Web technologies/referat/javascript/code-copy.js b/Year 4/Web technologies/referat/javascript/code-copy.js
new file mode 100644
index 0000000..780f950
--- /dev/null
+++ b/Year 4/Web technologies/referat/javascript/code-copy.js
@@ -0,0 +1,9 @@
+for (codeblock of document.getElementsByTagName('code')) {
+ const copy_btn = codeblock.lastChild;
+ if (copy_btn.tagName !== 'IMG') { continue; }
+
+ const codeText = codeblock.innerText;
+ copy_btn.addEventListener('click', function() {
+ navigator.clipboard.writeText(codeText);
+ });
+}
diff --git a/Year 4/Web technologies/referat/referat.html b/Year 4/Web technologies/referat/referat.html
index b9d96a9..570528b 100644
--- a/Year 4/Web technologies/referat/referat.html
+++ b/Year 4/Web technologies/referat/referat.html
@@ -92,7 +92,7 @@
Разбира се, екипът зад нея поддържат и Apache уеб-сървърът.
Инсталацията се свежда до една проста команда:<sup><a href="#src8">[8]</a></sup>
</p>
- <pre><code>brew install httpd</code></pre>
+ <pre><code>brew install httpd<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</section>
<section>
<h4>Linux</h4>
@@ -102,13 +102,13 @@
Обаче действието е практически същото при всички тях и наподобява този под MacOS: изпълнява се команда, извикваща вградения пакетен мениджър да свръши работата.<sup><a href="#src10">[10]</a></sup>
</p>
<h5>Ubuntu/Debian</h5>
- <pre><code>sudo apt install -y apache2</code></pre>
+ <pre><code>sudo apt install -y apache2<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
<h5>CentOS/Red Hat Enterprise Linux</h5>
- <pre><code>sudo yum install -y apache2</code></pre>
+ <pre><code>sudo yum install -y apache2<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
<h5>Gentoo</h5>
- <pre><code>sudo emerge apache</code></pre>
+ <pre><code>sudo emerge apache<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
<h5>Arch Linux</h5>
- <pre><code>sudo pacman -S apache</code></pre>
+ <pre><code>sudo pacman -S apache<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</section>
</section>
<section id="compiling-source">
@@ -142,17 +142,17 @@
<li>
Изпълняване на конвертиращия инструмент:
- <pre><code>perl srclib\apr\build\lineends.pl</code></pre>
+ <pre><code>perl srclib\apr\build\lineends.pl<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</li>
<li>
Изпълняване на компилиращия скрипт:
- <pre><code>nmake /f Makefile.win _apacher</code></pre>
+ <pre><code>nmake /f Makefile.win _apacher<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</li>
<li>
Изпълняване на инсталиращия скрипт:
- <pre><code>nmake /f Makefile.win installr</code></pre>
+ <pre><code>nmake /f Makefile.win installr<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</li>
</ol>
</section>
@@ -170,17 +170,17 @@
<li>
Конфигуриране на средата:
- <pre><code>./configure</code></pre>
+ <pre><code>./configure<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</li>
<li>
Компилиране:
- <pre><code>make</code></pre>
+ <pre><code>make<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</li>
<li>
Инсталиране:
- <pre><code>sudo make install</code></pre>
+ <pre><code>sudo make install<img class="copy-to-clipboard" src="./img/clipboard.svg" alt="Copy!"></code></pre>
</li>
</ol>
</section>
@@ -319,5 +319,6 @@
</article>
<div id="full-screen-backing" class="none"></div>
<script src="./javascript/figure-click.js"></script>
+ <script src="./javascript/code-copy.js"></script>
</body>
</html>