forked from jackyzha0/quartz
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Updated quartz - Pages are now fixed (no fake 404s) - Homepage for all sections have been made (Like /h-docs/sfinder-docs/solution-finder/ has been moved to /h-docs/sfinder-docs/, and a page-listing section added) - Moved PCO and Jigsaw to Openers folder - Renamed sfinder docs to be less repetitive - Deleted sfinder prerequisites. Useless page
- Loading branch information
Showing
55 changed files
with
502 additions
and
266 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
name: Create and publish a Docker image | ||
|
||
on: | ||
push: | ||
branches: ['hugo'] | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
jobs: | ||
build-and-push-image: | ||
if: github.repository == 'jackyzha0/quartz' | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Log in to the Container registry | ||
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Extract metadata (tags, labels) for Docker | ||
id: meta | ||
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 | ||
with: | ||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
|
||
- name: Build and push Docker image | ||
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc | ||
with: | ||
context: . | ||
push: true | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,45 @@ | ||
const svgCopy = | ||
'<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true"><path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path></svg>'; | ||
const svgCheck = | ||
'<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" style="fill: var(--secondary); filter: contrast(1);"><path fill-rule="evenodd" fill="rgb(63, 185, 80)" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>'; | ||
'<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true"><path fill-rule="evenodd" fill="rgb(63, 185, 80)" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path></svg>'; | ||
|
||
|
||
const addCopyButtons = () => { | ||
let els = document.getElementsByClassName("highlight"); | ||
// for each highlight | ||
for (let i = 0; i < els.length; i++) { | ||
if (els[i].getElementsByClassName("clipboard-button").length) continue; | ||
try { | ||
if (els[i].getElementsByClassName("clipboard-button").length) continue; | ||
|
||
// find pre > code inside els[i] | ||
let codeBlocks = els[i].getElementsByTagName("code"); | ||
// find pre > code inside els[i] | ||
let codeBlocks = els[i].getElementsByTagName("code"); | ||
|
||
// line numbers are inside first code block | ||
let lastCodeBlock = codeBlocks[codeBlocks.length - 1]; | ||
const button = document.createElement("button"); | ||
button.className = "clipboard-button"; | ||
button.type = "button"; | ||
button.innerHTML = svgCopy; | ||
// remove every second newline from lastCodeBlock.innerText | ||
button.addEventListener("click", () => { | ||
navigator.clipboard.writeText(lastCodeBlock.innerText.replace(/\n\n/g, "\n")).then( | ||
() => { | ||
button.blur(); | ||
button.innerHTML = svgCheck; | ||
setTimeout(() => { | ||
button.innerHTML = svgCopy | ||
button.style.borderColor = "" | ||
}, 2000); | ||
}, | ||
(error) => (button.innerHTML = "Error") | ||
); | ||
}); | ||
// find chroma inside els[i] | ||
let chroma = els[i].getElementsByClassName("chroma")[0]; | ||
els[i].insertBefore(button, chroma); | ||
// line numbers are inside first code block | ||
let lastCodeBlock = codeBlocks[codeBlocks.length - 1]; | ||
const button = document.createElement("button"); | ||
button.className = "clipboard-button"; | ||
button.type = "button"; | ||
button.innerHTML = svgCopy; | ||
button.ariaLabel = "opy the shown code"; | ||
// remove every second newline from lastCodeBlock.innerText | ||
button.addEventListener("click", () => { | ||
navigator.clipboard.writeText(lastCodeBlock.innerText.replace(/\n\n/g, "\n")).then( | ||
() => { | ||
button.blur(); | ||
button.innerHTML = svgCheck; | ||
setTimeout(() => { | ||
button.innerHTML = svgCopy | ||
button.style.borderColor = "" | ||
}, 2000); | ||
}, | ||
(error) => (button.innerHTML = "Error") | ||
); | ||
}); | ||
// find chroma inside els[i] | ||
let chroma = els[i].getElementsByClassName("chroma")[0]; | ||
els[i].insertBefore(button, chroma); | ||
} catch(error) { | ||
console.debug(error); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,17 @@ | ||
|
||
function addTitleToCodeBlocks() { | ||
var els = document.getElementsByClassName("highlight"); | ||
for (var i = 0; i < els.length; i++) { | ||
if (els[i].title.length) { | ||
let div = document.createElement("div"); | ||
if (els[i].getElementsByClassName("code-title").length) continue; | ||
div.textContent=els[i].title; | ||
div.classList.add("code-title") | ||
els[i].insertBefore(div, els[i].firstChild); | ||
const els = document.getElementsByClassName("highlight"); | ||
for (let i = 0; i < els.length; i++) { | ||
try { | ||
if (els[i].title.length) { | ||
let div = document.createElement("div"); | ||
if (els[i].getElementsByClassName("code-title").length) continue; | ||
div.textContent = els[i].title; | ||
div.classList.add("code-title") | ||
els[i].insertBefore(div, els[i].firstChild); | ||
} | ||
} catch (error) { | ||
console.debug(error); | ||
} | ||
} | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,54 @@ | ||
const apiKey = "{{$.Site.Data.config.operandApiKey}}" | ||
// Note: Currently, we use the REST API for Operand because of some unpkg/webpack issues. | ||
// In the future, we'd like to use the SDK (https://github.com/operandinc/typescript-sdk). | ||
// If someone knows how to do this w/o breaking the Operand typescript-sdk for npm users, | ||
// please let Morgan (@morgallant) and/or (@_jzhao) know! <3 | ||
|
||
const apiKey = "{{$.Site.Data.config.search.operandApiKey}}" | ||
const indexId = "{{$.Site.Data.config.search.operandIndexId}}" | ||
|
||
function parseSearchResults(searchResults) { | ||
return searchResults.matches.map((m) => ({ | ||
content: m.content, | ||
title: searchResults.objects[m.objectId].properties.properties._title.text, | ||
url: searchResults.objects[m.objectId].properties.properties._url.text, | ||
})) | ||
} | ||
|
||
async function searchContents(query) { | ||
const response = await fetch('https://prod.operand.ai/v3/search/objects', { | ||
method: 'POST', | ||
const result = await fetch("https://api.operand.ai/operand.v1.ObjectService/SearchWithin", { | ||
method: "POST", | ||
headers: { | ||
'Content-Type': 'application/json', | ||
Authorization: apiKey, | ||
"Content-Type": "application/json", | ||
Authorization: `${apiKey}`, | ||
"Operand-Index-ID": `${indexId}`, | ||
}, | ||
body: JSON.stringify({ | ||
query, | ||
max: 10 | ||
query: query, | ||
limit: 10, | ||
}), | ||
}); | ||
return (await response.json()); | ||
}) | ||
if (result.ok) { | ||
return parseSearchResults(await result.json()) | ||
} else { | ||
console.error(result) | ||
} | ||
} | ||
|
||
function debounce(func, timeout = 200) { | ||
let timer; | ||
let timer | ||
return (...args) => { | ||
clearTimeout(timer) | ||
timer = setTimeout(() => { func.apply(this, args); }, timeout) | ||
}; | ||
timer = setTimeout(() => { | ||
func.apply(this, args) | ||
}, timeout) | ||
} | ||
} | ||
|
||
registerHandlers(debounce((e) => { | ||
term = e.target.value | ||
if (term !== "") { | ||
searchContents(term) | ||
.then((res) => res.results.map(entry => ({ | ||
url: entry.object.properties.url, | ||
content: entry.snippet, | ||
title: entry.object.metadata.title | ||
}) | ||
)) | ||
.then(results => displayResults(results)) | ||
} | ||
})) | ||
registerHandlers( | ||
debounce((e) => { | ||
let term = e.target.value | ||
if (term !== "") { | ||
searchContents(term).then((results) => displayResults(term, results)) | ||
} | ||
}), | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.