main
js 56 lines 2.24 KB
Raw
1 /**
2 * slack_and_forum.js
3 *
4 * Adds a custom Slack and Forum button to the MkDocs Material header.
5 *
6 */
7
8 window.addEventListener('DOMContentLoaded', () => {
9 const headerInner = document.querySelector('.md-header__inner');
10
11 if (headerInner) {
12 const slackButton = document.createElement('button');
13 slackButton.className = 'slack-button';
14 slackButton.title = 'Join us on Slack';
15 slackButton.style.border = 'none';
16 slackButton.style.background = 'transparent';
17 slackButton.style.cursor = 'pointer';
18
19 slackButton.innerHTML = `
20 <img src="https://a.slack-edge.com/80588/marketing/img/icons/icon_slack_hash_colored.png"
21 style="height: 1.1rem;"
22 alt="Slack">
23 `;
24
25 slackButton.addEventListener('click', () => {
26 window.open('https://slack.vllm.ai', '_blank', 'noopener');
27 });
28
29 const forumButton = document.createElement('button');
30 forumButton.className = 'forum-button';
31 forumButton.title = 'Join the Forum';
32 forumButton.style.border = 'none';
33 forumButton.style.background = 'transparent';
34 forumButton.style.cursor = 'pointer';
35
36 forumButton.innerHTML = `
37 <svg
38 xmlns="http://www.w3.org/2000/svg"
39 viewBox="0 -960 960 960"
40 fill="currentColor"
41 >
42 <path d="M817.85-198.15 698.46-317.54H320q-24.48 0-41.47-16.99T261.54-376v-11.69h424.61q25.39 0 43.47-18.08 18.07-18.08 18.07-43.46v-268.92h11.69q24.48 0 41.47 16.99 17 16.99 17 41.47v461.54ZM179.08-434.69l66.84-66.85h363.31q10.77 0 17.69-6.92 6.93-6.92 6.93-17.69v-246.77q0-10.77-6.93-17.7-6.92-6.92-17.69-6.92H203.69q-10.77 0-17.69 6.92-6.92 6.93-6.92 17.7v338.23Zm-36.93 89.46v-427.69q0-25.39 18.08-43.46 18.08-18.08 43.46-18.08h405.54q25.39 0 43.46 18.08 18.08 18.07 18.08 43.46v246.77q0 25.38-18.08 43.46-18.07 18.07-43.46 18.07H261.54L142.15-345.23Zm36.93-180.92V-797.54v271.39Z"/>
43 </svg>
44 `;
45
46 forumButton.addEventListener('click', () => {
47 window.open('https://discuss.vllm.ai/', '_blank', 'noopener');
48 });
49
50 const githubSource = document.querySelector('.md-header__source');
51 if (githubSource) {
52 githubSource.parentNode.insertBefore(slackButton, githubSource.nextSibling);
53 githubSource.parentNode.insertBefore(forumButton, slackButton.nextSibling);
54 }
55 }
56 });