feat: add meta description everywhere
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
e68435e01d
commit
d4e51b9911
103
generate-descriptions.js
Executable file
103
generate-descriptions.js
Executable file
@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import fs from 'fs/promises'
|
||||
import path from 'path'
|
||||
import Anthropic from '@anthropic-ai/sdk'
|
||||
import matter from 'gray-matter'
|
||||
|
||||
const anthropic = new Anthropic({
|
||||
apiKey: process.env.ANTHROPIC_API_KEY,
|
||||
})
|
||||
|
||||
const missingOnly = process.argv.includes('--missing-only') || process.argv.includes('-m')
|
||||
|
||||
function extractMetaDescription(input) {
|
||||
const regex = /<meta_description>\s*([\s\S]*?)\s*<\/meta_description>/
|
||||
const match = input.match(regex)
|
||||
|
||||
if (match && match[1]) {
|
||||
return match[1].replace(/(\r\n|\n|\r)/gm, '').trim()
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
async function processFile(filePath) {
|
||||
try {
|
||||
const content = await fs.readFile(filePath, 'utf-8')
|
||||
const {data, content: documentContent} = matter(content)
|
||||
|
||||
if (missingOnly && data.description) {
|
||||
console.log(`Skipping ${filePath}: Description already exists`)
|
||||
return
|
||||
}
|
||||
|
||||
const msg = await anthropic.messages.create({
|
||||
model: 'claude-3-5-sonnet-20240620',
|
||||
max_tokens: 1024,
|
||||
messages: [{
|
||||
role: 'user', content: `You are tasked with writing a short description for a meta description tag based on provided content. This description will be used in search engine results to give users a brief overview of the page's content.
|
||||
|
||||
Follow these guidelines when writing the meta description:
|
||||
1. Keep it concise and informative
|
||||
2. Accurately summarize the main topic of the content
|
||||
3. Include relevant keywords naturally
|
||||
4. Make it compelling to encourage click-throughs
|
||||
5. Avoid duplicate content from the text
|
||||
6. Do not use quotes or special characters
|
||||
|
||||
Here is the content to analyze:
|
||||
<content>
|
||||
${documentContent}
|
||||
</content>
|
||||
|
||||
Carefully read and analyze the provided content. Identify the main topic, key points, and any relevant keywords. Based on your analysis, write a concise meta description that effectively summarizes the content and entices users to click through to the page.
|
||||
|
||||
Your meta description should be between 150-160 characters long, including spaces. This length is optimal for display in search engine results pages.
|
||||
|
||||
Provide your meta description inside <meta_description> tags. Do not include the character count or any other text outside these tags.
|
||||
|
||||
<meta_description>
|
||||
[Your 150-160 character meta description goes here]
|
||||
</meta_description>`,
|
||||
}],
|
||||
})
|
||||
|
||||
const description = extractMetaDescription(msg.content[0].text)
|
||||
|
||||
const updatedFrontmatter = {
|
||||
...data,
|
||||
description,
|
||||
}
|
||||
|
||||
const updatedContent = matter.stringify(documentContent, updatedFrontmatter)
|
||||
|
||||
await fs.writeFile(filePath, updatedContent)
|
||||
console.log(`Updated: ${filePath}`)
|
||||
} catch (error) {
|
||||
console.error(`Error processing ${filePath}:`, error)
|
||||
}
|
||||
}
|
||||
|
||||
async function processDirectory(directory) {
|
||||
try {
|
||||
const files = await fs.readdir(directory)
|
||||
for (const file of files) {
|
||||
const filePath = path.join(directory, file)
|
||||
const stats = await fs.stat(filePath)
|
||||
if (stats.isDirectory()) {
|
||||
await processDirectory(filePath)
|
||||
} else if (path.extname(file) === '.mdoc') {
|
||||
await processFile(filePath)
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Error processing directory ${directory}:`, error)
|
||||
}
|
||||
}
|
||||
|
||||
const contentDirectory = path.join(process.cwd(), 'src', 'content')
|
||||
|
||||
processDirectory(contentDirectory)
|
||||
.then(() => console.log('Processing complete.'))
|
||||
.catch((error) => console.error('An error occurred:', error))
|
@ -29,6 +29,8 @@
|
||||
"typescript": "^5.4.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@anthropic-ai/sdk": "^0.29.0",
|
||||
"gray-matter": "^4.0.3",
|
||||
"marked": "^14.1.2",
|
||||
"sharp": "^0.33.4"
|
||||
}
|
||||
|
170
pnpm-lock.yaml
generated
170
pnpm-lock.yaml
generated
@ -54,6 +54,12 @@ importers:
|
||||
specifier: ^5.4.5
|
||||
version: 5.6.3
|
||||
devDependencies:
|
||||
'@anthropic-ai/sdk':
|
||||
specifier: ^0.29.0
|
||||
version: 0.29.0
|
||||
gray-matter:
|
||||
specifier: ^4.0.3
|
||||
version: 4.0.3
|
||||
marked:
|
||||
specifier: ^14.1.2
|
||||
version: 14.1.2
|
||||
@ -71,6 +77,9 @@ packages:
|
||||
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
'@anthropic-ai/sdk@0.29.0':
|
||||
resolution: {integrity: sha512-3Hj28b7pAqFbGW19jXRqMvyDr09qBcL0iEuvERpbjXaqWD8dwfmMiwWreNcRvAKjeP4W4xTh0JStONvwhOTjEw==}
|
||||
|
||||
'@astrojs/check@0.9.3':
|
||||
resolution: {integrity: sha512-I6Dz45bMI5YRbp4yK2LKWsHH3/kkHRGdPGruGkLap6pqxhdcNh7oCgN04Ac+haDfc9ow5BYPGPmEhkwef15GQQ==}
|
||||
hasBin: true
|
||||
@ -911,9 +920,15 @@ packages:
|
||||
'@types/nlcst@2.0.3':
|
||||
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
|
||||
|
||||
'@types/node-fetch@2.6.11':
|
||||
resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
|
||||
|
||||
'@types/node-forge@1.3.11':
|
||||
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
|
||||
|
||||
'@types/node@18.19.55':
|
||||
resolution: {integrity: sha512-zzw5Vw52205Zr/nmErSEkN5FLqXPuKX/k5d1D7RKHATGqU7y6YfX9QxZraUzUrFGqH6XzOzG196BC35ltJC4Cw==}
|
||||
|
||||
'@types/node@22.5.5':
|
||||
resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==}
|
||||
|
||||
@ -952,6 +967,10 @@ packages:
|
||||
'@vscode/l10n@0.0.18':
|
||||
resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==}
|
||||
|
||||
abort-controller@3.0.0:
|
||||
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
|
||||
engines: {node: '>=6.5'}
|
||||
|
||||
acorn-walk@8.3.4:
|
||||
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
@ -961,6 +980,10 @@ packages:
|
||||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
|
||||
agentkeepalive@4.5.0:
|
||||
resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
|
||||
engines: {node: '>= 8.0.0'}
|
||||
|
||||
ajv@8.17.1:
|
||||
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
|
||||
|
||||
@ -1027,6 +1050,9 @@ packages:
|
||||
engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
|
||||
hasBin: true
|
||||
|
||||
asynckit@0.4.0:
|
||||
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
||||
|
||||
autoprefixer@10.4.20:
|
||||
resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
@ -1160,6 +1186,10 @@ packages:
|
||||
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
|
||||
engines: {node: '>=12.5.0'}
|
||||
|
||||
combined-stream@1.0.8:
|
||||
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
comma-separated-tokens@2.0.3:
|
||||
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
||||
|
||||
@ -1219,6 +1249,10 @@ packages:
|
||||
defu@6.1.4:
|
||||
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
|
||||
|
||||
delayed-stream@1.0.0:
|
||||
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
|
||||
depd@2.0.0:
|
||||
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
||||
engines: {node: '>= 0.8'}
|
||||
@ -1354,6 +1388,10 @@ packages:
|
||||
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
event-target-shim@5.0.1:
|
||||
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
eventemitter3@5.0.1:
|
||||
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
|
||||
|
||||
@ -1404,6 +1442,17 @@ packages:
|
||||
resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
form-data-encoder@1.7.2:
|
||||
resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
|
||||
|
||||
form-data@4.0.1:
|
||||
resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
formdata-node@4.4.1:
|
||||
resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
|
||||
engines: {node: '>= 12.20'}
|
||||
|
||||
fraction.js@4.3.7:
|
||||
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
|
||||
|
||||
@ -1529,6 +1578,9 @@ packages:
|
||||
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
humanize-ms@1.2.1:
|
||||
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
|
||||
|
||||
import-meta-resolve@4.1.0:
|
||||
resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
|
||||
|
||||
@ -1840,6 +1892,14 @@ packages:
|
||||
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
|
||||
engines: {node: '>=8.6'}
|
||||
|
||||
mime-db@1.52.0:
|
||||
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
mime-types@2.1.35:
|
||||
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
mime@1.6.0:
|
||||
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
|
||||
engines: {node: '>=4'}
|
||||
@ -1903,6 +1963,19 @@ packages:
|
||||
nlcst-to-string@4.0.0:
|
||||
resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
|
||||
|
||||
node-domexception@1.0.0:
|
||||
resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
|
||||
engines: {node: '>=10.5.0'}
|
||||
|
||||
node-fetch@2.7.0:
|
||||
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
|
||||
engines: {node: 4.x || >=6.0.0}
|
||||
peerDependencies:
|
||||
encoding: ^0.1.0
|
||||
peerDependenciesMeta:
|
||||
encoding:
|
||||
optional: true
|
||||
|
||||
node-forge@1.3.1:
|
||||
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
|
||||
engines: {node: '>= 6.13.0'}
|
||||
@ -2369,6 +2442,9 @@ packages:
|
||||
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
||||
engines: {node: '>=0.6'}
|
||||
|
||||
tr46@0.0.3:
|
||||
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
||||
|
||||
trim-lines@3.0.1:
|
||||
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
|
||||
|
||||
@ -2409,6 +2485,9 @@ packages:
|
||||
ufo@1.5.4:
|
||||
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
|
||||
|
||||
undici-types@5.26.5:
|
||||
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
||||
|
||||
undici-types@6.19.8:
|
||||
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
|
||||
|
||||
@ -2633,6 +2712,16 @@ packages:
|
||||
web-namespaces@2.0.1:
|
||||
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
|
||||
|
||||
web-streams-polyfill@4.0.0-beta.3:
|
||||
resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
|
||||
engines: {node: '>= 14'}
|
||||
|
||||
webidl-conversions@3.0.1:
|
||||
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
|
||||
|
||||
whatwg-url@5.0.0:
|
||||
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
||||
|
||||
which-pm-runs@1.1.0:
|
||||
resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==}
|
||||
engines: {node: '>=4'}
|
||||
@ -2753,6 +2842,18 @@ snapshots:
|
||||
'@jridgewell/gen-mapping': 0.3.5
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
|
||||
'@anthropic-ai/sdk@0.29.0':
|
||||
dependencies:
|
||||
'@types/node': 18.19.55
|
||||
'@types/node-fetch': 2.6.11
|
||||
abort-controller: 3.0.0
|
||||
agentkeepalive: 4.5.0
|
||||
form-data-encoder: 1.7.2
|
||||
formdata-node: 4.4.1
|
||||
node-fetch: 2.7.0
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
|
||||
'@astrojs/check@0.9.3(typescript@5.6.3)':
|
||||
dependencies:
|
||||
'@astrojs/language-server': 2.14.2(typescript@5.6.3)
|
||||
@ -3523,10 +3624,19 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
'@types/node-fetch@2.6.11':
|
||||
dependencies:
|
||||
'@types/node': 22.5.5
|
||||
form-data: 4.0.1
|
||||
|
||||
'@types/node-forge@1.3.11':
|
||||
dependencies:
|
||||
'@types/node': 22.5.5
|
||||
|
||||
'@types/node@18.19.55':
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
||||
'@types/node@22.5.5':
|
||||
dependencies:
|
||||
undici-types: 6.19.8
|
||||
@ -3587,12 +3697,20 @@ snapshots:
|
||||
|
||||
'@vscode/l10n@0.0.18': {}
|
||||
|
||||
abort-controller@3.0.0:
|
||||
dependencies:
|
||||
event-target-shim: 5.0.1
|
||||
|
||||
acorn-walk@8.3.4:
|
||||
dependencies:
|
||||
acorn: 8.12.1
|
||||
|
||||
acorn@8.12.1: {}
|
||||
|
||||
agentkeepalive@4.5.0:
|
||||
dependencies:
|
||||
humanize-ms: 1.2.1
|
||||
|
||||
ajv@8.17.1:
|
||||
dependencies:
|
||||
fast-deep-equal: 3.1.3
|
||||
@ -3733,6 +3851,8 @@ snapshots:
|
||||
- terser
|
||||
- typescript
|
||||
|
||||
asynckit@0.4.0: {}
|
||||
|
||||
autoprefixer@10.4.20(postcss@8.4.47):
|
||||
dependencies:
|
||||
browserslist: 4.23.3
|
||||
@ -3871,6 +3991,10 @@ snapshots:
|
||||
color-convert: 2.0.1
|
||||
color-string: 1.9.1
|
||||
|
||||
combined-stream@1.0.8:
|
||||
dependencies:
|
||||
delayed-stream: 1.0.0
|
||||
|
||||
comma-separated-tokens@2.0.3: {}
|
||||
|
||||
commander@4.1.1: {}
|
||||
@ -3909,6 +4033,8 @@ snapshots:
|
||||
|
||||
defu@6.1.4: {}
|
||||
|
||||
delayed-stream@1.0.0: {}
|
||||
|
||||
depd@2.0.0: {}
|
||||
|
||||
dequal@2.0.3: {}
|
||||
@ -4051,6 +4177,8 @@ snapshots:
|
||||
|
||||
etag@1.8.1: {}
|
||||
|
||||
event-target-shim@5.0.1: {}
|
||||
|
||||
eventemitter3@5.0.1: {}
|
||||
|
||||
exit-hook@2.2.1: {}
|
||||
@ -4100,6 +4228,19 @@ snapshots:
|
||||
cross-spawn: 7.0.3
|
||||
signal-exit: 4.1.0
|
||||
|
||||
form-data-encoder@1.7.2: {}
|
||||
|
||||
form-data@4.0.1:
|
||||
dependencies:
|
||||
asynckit: 0.4.0
|
||||
combined-stream: 1.0.8
|
||||
mime-types: 2.1.35
|
||||
|
||||
formdata-node@4.4.1:
|
||||
dependencies:
|
||||
node-domexception: 1.0.0
|
||||
web-streams-polyfill: 4.0.0-beta.3
|
||||
|
||||
fraction.js@4.3.7: {}
|
||||
|
||||
fresh@0.5.2: {}
|
||||
@ -4278,6 +4419,10 @@ snapshots:
|
||||
statuses: 2.0.1
|
||||
toidentifier: 1.0.1
|
||||
|
||||
humanize-ms@1.2.1:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
import-meta-resolve@4.1.0: {}
|
||||
|
||||
inherits@2.0.4: {}
|
||||
@ -4732,6 +4877,12 @@ snapshots:
|
||||
braces: 3.0.3
|
||||
picomatch: 2.3.1
|
||||
|
||||
mime-db@1.52.0: {}
|
||||
|
||||
mime-types@2.1.35:
|
||||
dependencies:
|
||||
mime-db: 1.52.0
|
||||
|
||||
mime@1.6.0: {}
|
||||
|
||||
mime@3.0.0: {}
|
||||
@ -4789,6 +4940,12 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/nlcst': 2.0.3
|
||||
|
||||
node-domexception@1.0.0: {}
|
||||
|
||||
node-fetch@2.7.0:
|
||||
dependencies:
|
||||
whatwg-url: 5.0.0
|
||||
|
||||
node-forge@1.3.1: {}
|
||||
|
||||
node-releases@2.0.18: {}
|
||||
@ -5358,6 +5515,8 @@ snapshots:
|
||||
|
||||
toidentifier@1.0.1: {}
|
||||
|
||||
tr46@0.0.3: {}
|
||||
|
||||
trim-lines@3.0.1: {}
|
||||
|
||||
trough@2.2.0: {}
|
||||
@ -5382,6 +5541,8 @@ snapshots:
|
||||
|
||||
ufo@1.5.4: {}
|
||||
|
||||
undici-types@5.26.5: {}
|
||||
|
||||
undici-types@6.19.8: {}
|
||||
|
||||
undici@5.28.4:
|
||||
@ -5617,6 +5778,15 @@ snapshots:
|
||||
|
||||
web-namespaces@2.0.1: {}
|
||||
|
||||
web-streams-polyfill@4.0.0-beta.3: {}
|
||||
|
||||
webidl-conversions@3.0.1: {}
|
||||
|
||||
whatwg-url@5.0.0:
|
||||
dependencies:
|
||||
tr46: 0.0.3
|
||||
webidl-conversions: 3.0.1
|
||||
|
||||
which-pm-runs@1.1.0: {}
|
||||
|
||||
which-pm@3.0.0:
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.13.0 is released"
|
||||
date: 2020-05-12T12:00:00+00:00
|
||||
title: Vikunja 0.13.0 is released
|
||||
date: 2020-05-12T12:00:00.000Z
|
||||
slug: /vikunja-0.13.0-is-released
|
||||
description: >-
|
||||
Discover Vikunja's latest release featuring Kanban boards, 2FA, and API
|
||||
improvements. Explore new task management capabilities and frontend
|
||||
enhancements for better productivity.
|
||||
---
|
||||
|
||||
This is a big release!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.14.0 is released"
|
||||
date: 2020-07-01T12:00:00+00:00
|
||||
title: Vikunja 0.14.0 is released
|
||||
date: 2020-07-01T12:00:00.000Z
|
||||
slug: /vikunja-0.14.0-is-released
|
||||
description: >-
|
||||
Discover Vikunja 0.14.0's new features: list backgrounds, todoist migration,
|
||||
task filters, and more. Explore improved UI, backup options, and repeating
|
||||
task enhancements for better productivity.
|
||||
---
|
||||
|
||||
This is (again?) a rather big release!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.14.1 is released"
|
||||
date: 2020-07-07T12:00:00+00:00
|
||||
title: Vikunja 0.14.1 is released
|
||||
date: 2020-07-07T12:00:00.000Z
|
||||
slug: /vikunja-0.14.1-is-released
|
||||
description: >-
|
||||
Vikunja 0.14.1 release: API bugfixes and improvements. Download from the
|
||||
official page or Docker Hub. Includes fixes for list creation, user decoding,
|
||||
and Todoist import. Updated documentation theme.
|
||||
---
|
||||
|
||||
This is a smaller bugfix release with some improvements for the api.
|
||||
@ -17,4 +21,4 @@ As always, you can grab a release from [the downloads page](https://dl.vikunja.i
|
||||
|
||||
### Changed
|
||||
|
||||
* Update docs theme
|
||||
* Update docs theme
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.15.0 is released"
|
||||
date: 2020-10-19T12:00:00+00:00
|
||||
title: Vikunja 0.15.0 is released
|
||||
date: 2020-10-19T12:00:00.000Z
|
||||
slug: /vikunja-0.15.0-is-released
|
||||
description: >-
|
||||
Discover Vikunja 0.15.0's new features: favorite lists and tasks, saved
|
||||
filters, user management via CLI, keyboard shortcuts, and desktop app. Upgrade
|
||||
now for enhanced productivity.
|
||||
---
|
||||
|
||||
Long time no release! This is again a rather big release (I feel like I'm writing that way too often).
|
||||
@ -44,4 +48,4 @@ Starting with this release, you can run the frontend as a [standalone desktop in
|
||||
|
||||
### All changes
|
||||
|
||||
As usual, the full list of changes is available in the release notes from the [api ](https://kolaente.dev/vikunja/api/releases/tag/v0.15.0) and [frontend ](https://kolaente.dev/vikunja/frontend/releases/tag/v0.15.0) repos.
|
||||
As usual, the full list of changes is available in the release notes from the [api ](https://kolaente.dev/vikunja/api/releases/tag/v0.15.0) and [frontend ](https://kolaente.dev/vikunja/frontend/releases/tag/v0.15.0) repos.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "[API] Vikunja 0.15.1 is released"
|
||||
date: 2020-10-20T12:00:00+00:00
|
||||
title: '[API] Vikunja 0.15.1 is released'
|
||||
date: 2020-10-20T12:00:00.000Z
|
||||
slug: /api-vikunja-0.15.1-is-released
|
||||
description: >-
|
||||
Quick fix for Vikunja API bug: Resolves issue with creating new tasks when
|
||||
metrics are enabled. Download the latest release or Docker image for improved
|
||||
functionality.
|
||||
---
|
||||
|
||||
This is a quick fix for a bug which prevented creating new tasks when metrics were enabled.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.16.0 is released"
|
||||
date: 2021-01-10T12:00:00+00:00
|
||||
title: Vikunja 0.16.0 is released
|
||||
date: 2021-01-10T12:00:00.000Z
|
||||
slug: /vikunja-0.16.0-is-released
|
||||
description: >-
|
||||
Discover Vikunja 0.16.0: New desktop app, enhanced filters, Microsoft To-Do
|
||||
and Trello migration, email reminders, and OpenID Connect support. Upgrade now
|
||||
for improved task management.
|
||||
---
|
||||
|
||||
New year, new Vikunja version (I know I know, I'm two weeks late).
|
||||
|
@ -1,7 +1,10 @@
|
||||
---
|
||||
title: "[API] Vikunja 0.16.1 is released"
|
||||
date: 2021-04-22T12:00:00+00:00
|
||||
title: '[API] Vikunja 0.16.1 is released'
|
||||
date: 2021-04-22T12:00:00.000Z
|
||||
slug: /api-vikunja-0.16.1-is-released
|
||||
description: >-
|
||||
Security update for Vikunja API v0.16.1 now available. Download the latest
|
||||
release or access via Docker Hub for enhanced protection. Upgrade recommended.
|
||||
---
|
||||
|
||||
This is a security release. Upgrading is highly encouraged.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.17.0 is released"
|
||||
date: 2021-05-11T21:00:00+02:00
|
||||
title: Vikunja 0.17.0 is released
|
||||
date: 2021-05-11T19:00:00.000Z
|
||||
slug: /vikunja-0.17.0-is-released
|
||||
description: >-
|
||||
Discover Vikunja 0.17.0's new features: redesigned frontend, notifications,
|
||||
link share enhancements, email reminders, and improved Kanban boards. Upgrade
|
||||
now for a better task management experience.
|
||||
---
|
||||
|
||||
I'm proud to announce Vikunja 0.17.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
date: 2021-06-09T22:30:00+02:00
|
||||
title: "[API] Vikunja 0.17.1 is released"
|
||||
date: 2021-06-09T20:30:00.000Z
|
||||
title: '[API] Vikunja 0.17.1 is released'
|
||||
slug: /api-vikunja-0.17.1-is-released
|
||||
description: >-
|
||||
Vikunja 0.17.1 patch release fixes openid config parsing with JSON files.
|
||||
Download the latest API update from the official page or Docker Hub for
|
||||
improved functionality.
|
||||
---
|
||||
|
||||
This is a small patch release which fixes parsing openid config when using a json config file.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.18.0"
|
||||
date: 2021-09-05T16:37:58+02:00
|
||||
title: What's new in Vikunja 0.18.0
|
||||
date: 2021-09-05T14:37:58.000Z
|
||||
slug: /whats-new-in-vikunja-0.18.0
|
||||
description: >-
|
||||
Discover Vikunja 0.18.0: Quick Add Magic, global search, task reordering, and
|
||||
more languages. Explore new features like user data export/import and enhanced
|
||||
security. Download now!
|
||||
---
|
||||
|
||||
I'm proud to announce Vikunja 0.18.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.18.1 is released"
|
||||
date: 2021-09-08T19:50:26+02:00
|
||||
title: Vikunja 0.18.1 is released
|
||||
date: 2021-09-08T17:50:26.000Z
|
||||
slug: /vikunja-0.18.1-is-released
|
||||
description: >-
|
||||
Vikunja patch release v0.18.1 fixes bugs in user data export, kanban board,
|
||||
and repeating tasks. Upgrade available for API, frontend, and desktop. Check
|
||||
changelogs and update instructions.
|
||||
---
|
||||
|
||||
This is a quick patch release fixing bugs with the user data export, the kanban board and saving repeating tasks attributes.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.18.2 is released"
|
||||
date: 2021-11-23T20:18:54+01:00
|
||||
title: Vikunja 0.18.2 is released
|
||||
date: 2021-11-23T19:18:54.000Z
|
||||
slug: /vikunja-0.18.2-is-released
|
||||
description: >-
|
||||
Vikunja patch release 0.18.2 fixes bugs with saved filter renaming and API URL
|
||||
setting. Includes frontend and desktop updates. See changelog and upgrade
|
||||
instructions for details.
|
||||
---
|
||||
|
||||
This is a quick patch release fixing bugs with renaming a saved filter and correctly setting the api url via env url in the docker image.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.19.0"
|
||||
date: 2022-08-03T20:37:08+02:00
|
||||
title: What's new in Vikunja 0.19.0
|
||||
date: 2022-08-03T18:37:08.000Z
|
||||
slug: /whats-new-in-vikunja-0.19.0
|
||||
description: >-
|
||||
Discover Vikunja 0.19.0, the open-source to-do app with dark mode, mobile app,
|
||||
and improved login. Explore new features like CalDAV tokens, date math
|
||||
filters, and checklist indicators.
|
||||
---
|
||||
|
||||
I'm proud to announce Vikunja 0.19.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.19.1 is released"
|
||||
date: 2022-08-17T10:23:07+02:00
|
||||
title: Vikunja 0.19.1 is released
|
||||
date: 2022-08-17T08:23:07.000Z
|
||||
slug: /vikunja-0.19.1-is-released
|
||||
description: >-
|
||||
Vikunja v0.19.1 patch release: Frontend and API fixes, improved dark mode,
|
||||
arm32 support, and search enhancements. One breaking change for assignee
|
||||
filtering. Upgrade instructions included.
|
||||
---
|
||||
|
||||
This is a patch release with fixes in the frontend and api.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "[API] Vikunja 0.19.2 is released"
|
||||
date: 2022-08-17T17:06:09+02:00
|
||||
title: '[API] Vikunja 0.19.2 is released'
|
||||
date: 2022-08-17T15:06:09.000Z
|
||||
slug: /api-vikunja-0.19.2-is-released
|
||||
description: >-
|
||||
Critical bug fix for Vikunja API v0.19.2. Resolves issue with saved filters.
|
||||
Urgent update recommended. Download latest binary or Docker image for
|
||||
immediate upgrade.
|
||||
---
|
||||
|
||||
This release fixes a critical bug which was introduced in the api in 0.19.1.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.20.0"
|
||||
date: 2022-10-28T12:28:44+02:00
|
||||
title: What's new in Vikunja 0.20.0
|
||||
date: 2022-10-28T10:28:44.000Z
|
||||
slug: /whats-new-in-vikunja-0.20.0
|
||||
description: >-
|
||||
Discover Vikunja 0.20.0, the open-source to-do app with enhanced features like
|
||||
Gantt chart improvements, task cover images, and TickTick import. Learn about
|
||||
new updates and try it now!
|
||||
---
|
||||
|
||||
I'm proud to announce Vikunja 0.20.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.20.1 was released"
|
||||
date: 2022-11-11T12:05:34+01:00
|
||||
title: Vikunja 0.20.1 was released
|
||||
date: 2022-11-11T11:05:34.000Z
|
||||
slug: /vikunja-0.20.1-was-released
|
||||
description: >-
|
||||
Vikunja v0.20.1 patch release: Important fixes for database connections, date
|
||||
filtering, and task management. Includes frontend and API updates. Learn about
|
||||
key changes and upgrade instructions.
|
||||
---
|
||||
|
||||
This is a patch release with important fixes and refactorings in the frontend and api.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja Frontend 0.20.2 was released"
|
||||
date: 2022-12-18T12:11:35+01:00
|
||||
title: Vikunja Frontend 0.20.2 was released
|
||||
date: 2022-12-18T11:11:35.000Z
|
||||
slug: /vikunja-frontend-0.20.2-was-released
|
||||
description: >-
|
||||
Discover key updates in Vikunja's frontend patch release 0.20.2, including bug
|
||||
fixes, UI improvements, and performance enhancements. Learn how to upgrade
|
||||
your installation.
|
||||
---
|
||||
|
||||
This is a patch release with important fixes and improvements in the frontend.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja frontend v0.20.3 and API v0.20.2 was released"
|
||||
date: 2023-01-24T17:20:21+01:00
|
||||
title: Vikunja frontend v0.20.3 and API v0.20.2 was released
|
||||
date: 2023-01-24T16:20:21.000Z
|
||||
slug: /vikunja-frontend-v0.20.3-and-api-v0.20.2-was-released
|
||||
description: >-
|
||||
Vikunja 0.20.3 patch release: Improved Todoist migration, fixed overdue
|
||||
reminders, new Norwegian language option. Upgrade now for better task
|
||||
management features.
|
||||
---
|
||||
|
||||
This is a patch release with important fixes and improvements in the frontend and api.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja frontend v0.20.4 and API v0.20.3 was released"
|
||||
date: 2023-03-10T14:58:56+01:00
|
||||
title: Vikunja frontend v0.20.4 and API v0.20.3 was released
|
||||
date: 2023-03-10T13:58:56.000Z
|
||||
slug: /vikunja-frontend-v0.20.4-and-api-v0.20.3-was-released
|
||||
description: >-
|
||||
Vikunja 0.20.4 patch release: Important fixes for frontend and API, including
|
||||
improved Docker images, migration fixes, and Kanban board enhancements. New
|
||||
Helm Chart available.
|
||||
---
|
||||
|
||||
This is a patch release with important fixes and improvements in the frontend and api.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja frontend v0.20.5 and API v0.20.4 was released"
|
||||
date: 2023-03-12T10:25:18+01:00
|
||||
slug: /vikunja-frontend-v0.20.5-and-api-v0.20.4-was-released
|
||||
title: Vikunja frontend v0.20.5 and API v0.20.4 was released
|
||||
date: 2023-03-12T09:25:18.000Z
|
||||
slug: /vikunja-frontend-v0.20.5-and-api-v0.20.4-was-released
|
||||
description: >-
|
||||
Patch release for Vikunja: Fixes docker image issues for frontend and API
|
||||
containers. Includes changelogs and upgrade instructions for improved
|
||||
functionality.
|
||||
---
|
||||
|
||||
This is a patch release which fixes a problem with the last release's docker images.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.21.0"
|
||||
date: 2023-07-07T16:11:10+02:00
|
||||
title: What's new in Vikunja 0.21.0
|
||||
date: 2023-07-07T14:11:10.000Z
|
||||
slug: /whats-new-in-vikunja-0.21.0
|
||||
description: >-
|
||||
Discover Vikunja 0.21.0, the open-source to-do app with new features like
|
||||
Projects, Relative Reminders, and improved Assignee Search. Organize tasks
|
||||
effortlessly with this self-hostable solution.
|
||||
---
|
||||
|
||||
I'm proud to announce Vikunja 0.21.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.22.0"
|
||||
date: 2023-12-19T16:24:51+01:00
|
||||
title: What's new in Vikunja 0.22.0
|
||||
date: 2023-12-19T15:24:51.000Z
|
||||
slug: /whats-new-in-vikunja-0.22.0
|
||||
description: >-
|
||||
Discover Vikunja 0.22.0: The open-source to-do app with new API tokens,
|
||||
webhooks, n8n integration, improved editor, and Typesense search support.
|
||||
Organize tasks effortlessly.
|
||||
---
|
||||
|
||||
I'm proud to announce Vikunja 0.22.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja frontend and API v0.22.1 was released"
|
||||
date: 2024-01-28T19:53:14+01:00
|
||||
title: Vikunja frontend and API v0.22.1 was released
|
||||
date: 2024-01-28T18:53:14.000Z
|
||||
slug: /vikunja-frontend-and-api-v0.22.1-was-released
|
||||
description: >-
|
||||
Discover the latest updates in Vikunja's patch release, featuring bug fixes,
|
||||
new features, and performance improvements. Learn about datepicker
|
||||
enhancements and task reminder updates.
|
||||
---
|
||||
|
||||
This is a patch release with many small bug fixes and improvements.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.23.0"
|
||||
date: 2024-02-10T14:26:30+01:00
|
||||
title: What's new in Vikunja 0.23.0
|
||||
date: 2024-02-10T13:26:30.000Z
|
||||
slug: /whats-new-in-vikunja-0.23.0
|
||||
description: >-
|
||||
Vikunja 0.23.0 release: API, frontend, and desktop now merged into one repo.
|
||||
Learn about simplified deployment, configuration changes, and upgrade
|
||||
instructions for this open-source to-do app.
|
||||
---
|
||||
|
||||
I'm happy to announce Vikunja 0.23.0!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "What's new in Vikunja 0.24.0"
|
||||
date: 2024-07-02T18:00:00+02:00
|
||||
title: What's new in Vikunja 0.24.0
|
||||
date: 2024-07-02T16:00:00.000Z
|
||||
slug: /whats-new-in-vikunja-0.24.0
|
||||
description: >-
|
||||
Vikunja 0.24.0 release: New customizable views, improved filters, emoji
|
||||
reactions, and OpenID team integration. Discover enhanced project management
|
||||
features and UI updates.
|
||||
---
|
||||
|
||||
Long time no see!
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja v0.24.1 was released"
|
||||
date: 2024-07-18T17:00:00+01:00
|
||||
title: Vikunja v0.24.1 was released
|
||||
date: 2024-07-18T16:00:00.000Z
|
||||
slug: /vikunja-v0.24.1-was-released
|
||||
description: >-
|
||||
Discover the latest updates in Vikunja 0.24.1: improved filters, enhanced
|
||||
Kanban view, bug fixes, and performance upgrades. Learn about new features and
|
||||
how to upgrade.
|
||||
---
|
||||
|
||||
Following the release of 0.24.0 almost two weeks ago, this is a patch release with many small bug fixes and
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja v0.24.2 was released"
|
||||
date: 2024-08-12T20:00:00+01:00
|
||||
title: Vikunja v0.24.2 was released
|
||||
date: 2024-08-12T19:00:00.000Z
|
||||
slug: /vikunja-v0.24.2-was-released
|
||||
description: >-
|
||||
Discover the latest improvements in Vikunja 0.24.2. This patch update brings
|
||||
bug fixes for tasks, views, and migration, along with performance enhancements
|
||||
for a smoother project management experience.
|
||||
---
|
||||
|
||||
Following the recent release of Vikunja 0.24.1, we're happy to announce the release of Vikunja 0.24.2, a patch update
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja v0.24.3 was released"
|
||||
date: 2024-09-20T20:00:00+01:00
|
||||
title: Vikunja v0.24.3 was released
|
||||
date: 2024-09-20T19:00:00.000Z
|
||||
slug: /vikunja-v0.24.3-was-released
|
||||
description: >-
|
||||
Discover the latest updates in Vikunja 0.24.3! Learn about fixes and
|
||||
improvements for auth, CalDAV, filters, Kanban, projects, reminders, tasks,
|
||||
and more. Upgrade now for enhanced functionality.
|
||||
---
|
||||
|
||||
I'm excited to announce the release of Vikunja 0.24.3! This update brings a whole bunch of fixes and improvements to Vikunja.
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
title: "Vikunja 0.24.4: Enhancing Stability and User Experience"
|
||||
date: 2024-09-29T20:00:00+01:00
|
||||
title: 'Vikunja 0.24.4: Enhancing Stability and User Experience'
|
||||
date: 2024-09-29T19:00:00.000Z
|
||||
slug: /vikunja-v0.24.4-was-released
|
||||
description: >-
|
||||
Discover Vikunja 0.24.4: Latest patch update enhances task management with
|
||||
improved stability, bug fixes, and user experience refinements. Upgrade now
|
||||
for smoother productivity.
|
||||
---
|
||||
|
||||
I'm excited to announce the release of Vikunja 0.24.4, the latest patch update focused on improving stability, fixing
|
||||
|
@ -4,6 +4,7 @@ const docsCollection = defineCollection({
|
||||
type: 'content', // v2.5.0 and later
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
hideInMenu: z.boolean().optional(),
|
||||
}),
|
||||
})
|
||||
@ -12,6 +13,7 @@ const changelogCollection = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
date: z.date(),
|
||||
}),
|
||||
})
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Adding new cli commands"
|
||||
title: Adding new cli commands
|
||||
slug: cli-commands
|
||||
description: >-
|
||||
Learn how to add CLI commands to Vikunja using the Cobra library. Explore the
|
||||
structure of CLI functions, command implementation, and best practices for
|
||||
extending Vikunja's command-line interface.
|
||||
---
|
||||
|
||||
All cli-related functions are located in `pkg/cmd`.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Configuration Options"
|
||||
title: Configuration Options
|
||||
slug: configuration-options
|
||||
description: >-
|
||||
Learn how to manage configuration in Go projects using Viper. Discover best
|
||||
practices for adding new options, setting defaults, and retrieving values in
|
||||
your code efficiently.
|
||||
---
|
||||
|
||||
All configuration variables are declared in the `config` package.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "How to add a cron job task"
|
||||
title: How to add a cron job task
|
||||
slug: cron-tasks
|
||||
description: >-
|
||||
Learn how to implement cron jobs in Vikunja using the robfig/cron package.
|
||||
Discover schedule syntax, task registration, and best practices for automated
|
||||
task execution in Go.
|
||||
---
|
||||
|
||||
Cron jobs are tasks which run on a predefined schedule.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Database"
|
||||
title: Database
|
||||
slug: database
|
||||
description: >-
|
||||
Learn how to use xorm for database operations in Vikunja, including creating
|
||||
tables, adding migrations, and managing test fixtures. Essential guide for
|
||||
developers working with Vikunja's database layer.
|
||||
---
|
||||
|
||||
Vikunja uses [xorm](https://xorm.io/) as an abstraction layer to handle the database connection.
|
||||
@ -26,4 +30,4 @@ Adding data for test fixtures can be done via `yaml` files in `pkg/models/fixtur
|
||||
The name of the yaml file should match the table name in the database.
|
||||
Adding values to it is done via array definition inside it.
|
||||
|
||||
**Note**: Table and column names need to be in snake_case as that's what is used internally in the database and for mapping values from the database to xorm so your structs can use it.
|
||||
**Note**: Table and column names need to be in snake_case as that's what is used internally in the database and for mapping values from the database to xorm so your structs can use it.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Database Migrations"
|
||||
title: Database Migrations
|
||||
slug: database-migrations
|
||||
description: >-
|
||||
Learn how to manage database migrations in Vikunja, including automatic
|
||||
execution, adding new migrations, and generating migration stubs. Discover
|
||||
best practices for Vikunja development.
|
||||
---
|
||||
|
||||
Vikunja runs all database migrations automatically on each start if needed.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Development"
|
||||
title: Development
|
||||
slug: development
|
||||
description: >-
|
||||
Learn how to contribute to Vikunja, an open-source project management tool.
|
||||
Guidelines for submitting pull requests, filing issues, and developing for API
|
||||
and frontend. Join the community and help improve Vikunja.
|
||||
---
|
||||
|
||||
## General
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Custom Errors"
|
||||
title: Custom Errors
|
||||
slug: custom-errors
|
||||
description: >-
|
||||
Learn how to define and implement custom errors in Vikunja's Go codebase.
|
||||
Includes guidelines for creating error structs, functions, and HTTP error
|
||||
responses with unique error codes.
|
||||
---
|
||||
|
||||
All custom errors are defined in `pkg/models/errors.go`.
|
||||
@ -62,4 +66,4 @@ func (err ErrUserDoesNotExist) HTTPError() web.HTTPError {
|
||||
Message: "The user does not exist.",
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Events and Listeners"
|
||||
title: Events and Listeners
|
||||
slug: events-and-listeners
|
||||
description: >-
|
||||
Learn about Vikunja's event system: how to create, dispatch, and listen for
|
||||
events using Go channels. Discover best practices for implementing the
|
||||
observer pattern in your projects.
|
||||
---
|
||||
|
||||
Vikunja provides a simple observer pattern mechanism through events and listeners.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Add a new api endpoint/feature"
|
||||
title: Add a new api endpoint/feature
|
||||
slug: new-api-endpoints
|
||||
description: >-
|
||||
Learn about Vikunja's common web handler for creating REST endpoints,
|
||||
including CRUD request handling, rights checks, and pagination. Explore API
|
||||
features and development tools.
|
||||
---
|
||||
|
||||
Most of the api endpoints/features of Vikunja are using the [common web handler](https://code.vikunja.io/web).
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Magefile"
|
||||
title: Magefile
|
||||
slug: magefile
|
||||
description: >-
|
||||
Discover how to use Mage for Vikunja development tasks. Learn about build,
|
||||
check, release, test, and dev commands. Streamline your workflow with this
|
||||
comprehensive guide to Magefile usage.
|
||||
---
|
||||
|
||||
Vikunja uses [Mage](https://magefile.org/) to script common development tasks and even releasing.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Metrics"
|
||||
title: Metrics
|
||||
slug: metrics
|
||||
description: >-
|
||||
Learn how to expose and manage metrics in Vikunja using Prometheus and Redis.
|
||||
This guide covers creating, updating, and registering custom metrics for
|
||||
efficient monitoring.
|
||||
---
|
||||
|
||||
Metrics work by exposing a `/metrics` endpoint which can then be accessed by prometheus.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Writing a migrator for Vikunja"
|
||||
title: Writing a migrator for Vikunja
|
||||
slug: migrations
|
||||
description: >-
|
||||
Learn how to migrate data to Vikunja from other to-do services. Discover
|
||||
implementation methods, interfaces, and helper tools for seamless task
|
||||
migration and integration.
|
||||
---
|
||||
|
||||
It is possible to migrate data from other to-do services to Vikunja.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Notifications"
|
||||
title: Notifications
|
||||
slug: notifications
|
||||
description: >-
|
||||
Learn how to create and send notifications in Vikunja using mail and database
|
||||
methods. Discover implementation, customization, and testing techniques for
|
||||
effective user communication.
|
||||
---
|
||||
|
||||
Vikunja provides a simple abstraction to send notifications per mail and in the database.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Releasing a new Vikunja version"
|
||||
title: Releasing a new Vikunja version
|
||||
slug: releasing-a-new-vikunja-version
|
||||
description: >-
|
||||
Comprehensive release checklist for Vikunja updates. Includes steps for
|
||||
website updates, changelogs, tagging versions, package updates, blog posts,
|
||||
and promotional activities.
|
||||
---
|
||||
|
||||
This checklist is a collection of all steps usually involved when releasing a new version of Vikunja.
|
||||
|
@ -1,6 +1,10 @@
|
||||
---
|
||||
title: "Project Structure"
|
||||
title: Project Structure
|
||||
slug: project-structure
|
||||
description: >-
|
||||
Explore Vikunja's package structure and learn about key components like
|
||||
caldav, config, models, and routes. Discover how to add features, handle
|
||||
migrations, and work with the API.
|
||||
---
|
||||
|
||||
This document explains what each package does.
|
||||
|