Skip to content

Instantly share code, notes, and snippets.

@goofmint
Created August 30, 2023 02:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save goofmint/149ee53576185d2d60b789c27174d42a to your computer and use it in GitHub Desktop.
Save goofmint/149ee53576185d2d60b789c27174d42a to your computer and use it in GitHub Desktop.
Render updated pages in wiki.js
<script src="//cdnjs.cloudflare.com/ajax/libs/timeago.js/4.0.0-beta.2/timeago.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/timeago.js/4.0.0-beta.2/timeago.locales.min.js"></script>
<script>
const token = 'YOUR_WIKIJS_TOKEN';
const locale = 'ja';
const pageTag = 'service';
const limit = 10;
const DOMContentLoaded = () => {
renderNewPage();
};
const renderNewPage = async () => {
const body = {
operationName: null,
variables: { locale, pageTag, limit},
query: `query ($locale: String, $pageTag: [String!], $limit: Int) {
pages {
list(orderBy: UPDATED, orderByDirection: DESC, locale: $locale, tags: $pageTag, limit: $limit) {
path
title
createdAt
}
}
}`
};
const res = await fetch("/graphql", {
method: "POST",
headers: {
authorization: `Bearer ${token}`,
"content-type": "application/json",
},
body: JSON.stringify(body),
});
const { data } = await res.json();
const dom = document.querySelector("#new");
dom.innerHTML = data.pages.list.map(page => `
<li>
<a href="${page.path}">${page.title}</a> 🕒 ${timeago.format(page.createdAt, locale)}
</li>
`).join('');
};
document.addEventListener('DOMContentLoaded', DOMContentLoaded);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment