From 5f50a11786c774d08e6396bb117437101d581fc6 Mon Sep 17 00:00:00 2001 From: Simon Larsen Date: Mon, 18 Mar 2024 21:16:31 +0000 Subject: [PATCH] Update content includes category and link information --- .../Content/introduction/getting-started.md | 49 +++ App/FeatureSet/Docs/Index.ts | 20 +- App/FeatureSet/Docs/Static/CSS/Style.css | 4 - App/FeatureSet/Docs/Utils/Nav.ts | 10 +- App/FeatureSet/Docs/Views/Index.ejs | 2 +- .../Docs/Views/Partials/Content.ejs | 407 +----------------- App/FeatureSet/Docs/Views/Partials/Head.ejs | 27 +- App/FeatureSet/Docs/Views/Partials/Nav.ejs | 124 ++---- App/FeatureSet/Home/Views/Blog/Post.ejs | 4 +- 9 files changed, 117 insertions(+), 530 deletions(-) create mode 100644 App/FeatureSet/Docs/Content/introduction/getting-started.md diff --git a/App/FeatureSet/Docs/Content/introduction/getting-started.md b/App/FeatureSet/Docs/Content/introduction/getting-started.md new file mode 100644 index 0000000000..283fd74b9a --- /dev/null +++ b/App/FeatureSet/Docs/Content/introduction/getting-started.md @@ -0,0 +1,49 @@ +### OneUptime: The Complete Open-Source Observability Platform + +OneUptime is a comprehensive solution for monitoring and managing your online services. Whether you need to check the availability of your website, dashboard, API, or any other online resource, OneUptime can alert your team when downtime happens and keep your customers informed with a status page. OneUptime also helps you handle incidents, set up on-call rotations, run tests, secure your services, analyze logs, track performance, and debug errors. + +OneUptime replaces multiple tools with one integrated platform: + + +##### Uptime Monitoring + +Monitor the availability and response time of your online services from multiple locations around the world. Get notified via email, SMS, Slack, or other channels when something goes wrong. Replace tools like Pingdom. + + +##### Status Pages + +Communicate with your customers and stakeholders during downtime or maintenance. Create a custom-branded status page that shows the current status and history of your services. Replace tools like StatusPage.io. + + +##### Incident Management + +Manage incidents from start to finish with a collaborative workflow. Create incident reports, assign tasks, update stakeholders, and document resolutions. Replace tools like Incident.io. + + +##### On Call and Alerts + +Schedule on-call shifts for your team and define escalation policies. Ensure that the right person is notified at the right time when an incident occurs. Replace tools like PagerDuty. + + +##### Logs Management + +Collect, store, and analyze logs from your online services. Search, filter, and visualize log data to gain insights and troubleshoot issues. Replace tools like Loggly. + + +##### Workflows + +Integrate OneUptime with your existing tools and automate your workflows. Integrate with tools like Slack, Jira, GitHub, and 5000+ more. + + +##### Application Performance Monitoring + +Measure and optimize the performance of your online apps and services. Track key metrics such as traces, response time, throughput, error rate, and user satisfaction. Replace tools like NewRelic and DataDog. + +##### Error Tracking + +Detect and diagnose errors in your online services. Get detailed error reports with stack traces, context, and user feedback. Replace tools like Sentry. + +##### Reliability Autopilot + +Scan your code and fix performance issues and errors automatically. Get recommendations for improving the reliability of your online services. + diff --git a/App/FeatureSet/Docs/Index.ts b/App/FeatureSet/Docs/Index.ts index bc1131ac64..ce95de2230 100755 --- a/App/FeatureSet/Docs/Index.ts +++ b/App/FeatureSet/Docs/Index.ts @@ -9,6 +9,7 @@ import { ContentPath, StaticPath, ViewsPath } from './Utils/Config'; import DocsNav, { NavGroup, NavLink } from './Utils/Nav'; import LocalFile from 'CommonServer/Utils/LocalFile'; import DocsRender from './Utils/Render'; +import logger from 'CommonServer/Utils/Logger'; const app: ExpressApplication = Express.getExpressApp(); @@ -23,19 +24,23 @@ app.get('/docs/:categorypath/:pagepath', async (_req: ExpressRequest, res: Expre const fullPath: string = `${_req.params['categorypath']}/${_req.params['pagepath']}`.toLowerCase(); // read file from Content folder. - const contentInMarkdown = await LocalFile.read(`${ContentPath}/${fullPath}.md`); + let contentInMarkdown = await LocalFile.read(`${ContentPath}/${fullPath}.md`); - const renderedContent = DocsRender.render(contentInMarkdown); + // remove first line from content because we dont want to show title in content. Title is already in nav. + + contentInMarkdown = contentInMarkdown.split('\n').slice(1).join('\n'); + + const renderedContent = await DocsRender.render(contentInMarkdown); const currentCategory: NavGroup | undefined = DocsNav.find((category) => { return category.links.find((link) => { - return link.url === fullPath; + return link.url.toLocaleLowerCase().includes(fullPath); }); }); const currrentNavLink: NavLink | undefined = currentCategory?.links.find((link) => { - return link.url === fullPath; + return link.url.toLocaleLowerCase().includes(fullPath); }); @@ -48,15 +53,16 @@ app.get('/docs/:categorypath/:pagepath', async (_req: ExpressRequest, res: Expre }); } - res.render(`${ViewsPath}/Index`, { nav: DocsNav, content: renderedContent, - currentCategory: currentCategory, - currentNavLink: currrentNavLink + category: currentCategory, + link: currrentNavLink }); + } catch (err) { + logger.error(err); res.status(500); return res.render(`${ViewsPath}/ServerError`, { nav: DocsNav, diff --git a/App/FeatureSet/Docs/Static/CSS/Style.css b/App/FeatureSet/Docs/Static/CSS/Style.css index e37f8c2062..8d3c66c818 100644 --- a/App/FeatureSet/Docs/Static/CSS/Style.css +++ b/App/FeatureSet/Docs/Static/CSS/Style.css @@ -94,9 +94,6 @@ --font-lexend: "__lexend_b436a8","__lexend_Fallback_b436a8" } -pre[class*=language-] { - color: #f8fafc -} .token.class-name,.token.function,.token.selector,.token.selector .class,.token.selector.class,.token.tag { color: #f472b6 @@ -727,7 +724,6 @@ img,video { margin-top: 1.7142857em; margin-bottom: 1.7142857em; border-radius: .375rem; - padding: .8571429em 1.1428571em } .prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)) { diff --git a/App/FeatureSet/Docs/Utils/Nav.ts b/App/FeatureSet/Docs/Utils/Nav.ts index aa443d67be..76e4b1ca66 100644 --- a/App/FeatureSet/Docs/Utils/Nav.ts +++ b/App/FeatureSet/Docs/Utils/Nav.ts @@ -20,21 +20,21 @@ export interface NavGroup { title: 'Installation', links: [ { title: 'Local Development', url: '/docs/installation/local-development' }, - { title: 'Docker Compose', url: '/docs/installation/docker-comopose' }, - { title: 'Kubernetes and Helm', url: '/docs/installation/kubernetes' }, + { title: 'Docker Compose', url: '/docs/installation/docker-compose' }, + { title: 'Kubernetes and Helm', url: 'https://artifacthub.io/packages/helm/oneuptime/oneuptime' }, ], }, { title: 'Monitor', links: [ - { title: 'JavaScript Expressions', url: '/docs/monitors/javascript-expressions' }, + { title: 'JavaScript Expressions', url: '/docs/monitor/javascript-expression' }, ], }, { title: 'Probe', links: [ - { title: 'Custom Probes', url: '/docs/probes/custom-probes' }, - { title: 'IP Addresses', url: '/docs/probes/ip-addresses' }, + { title: 'Custom Probes', url: '/docs/probe/custom-probe' }, + { title: 'IP Addresses', url: '/docs/probe/ip-address' }, ], }, { diff --git a/App/FeatureSet/Docs/Views/Index.ejs b/App/FeatureSet/Docs/Views/Index.ejs index bf7c2cd62d..4f19c81c72 100644 --- a/App/FeatureSet/Docs/Views/Index.ejs +++ b/App/FeatureSet/Docs/Views/Index.ejs @@ -148,7 +148,7 @@
- <%- include('./Partials/Content.ejs') %> + <%- include('./Partials/Content.ejs', { category: category, link: link, content: content }) %> <%- include('./Partials/Pagination.ejs') %>
diff --git a/App/FeatureSet/Docs/Views/Partials/Content.ejs b/App/FeatureSet/Docs/Views/Partials/Content.ejs index ef417f032e..7e72d17ba4 100644 --- a/App/FeatureSet/Docs/Views/Partials/Content.ejs +++ b/App/FeatureSet/Docs/Views/Partials/Content.ejs @@ -1,412 +1,11 @@
-

Introduction

-

Getting started +

<%- category.title %>

+

<%- link.title %>

-

Learn how to get CacheAdvance set up in your project in under thirty minutes or - it's free.

-
-
- -
-

Installation -

-

Step-by-step guides to - setting up your system and installing the library.

-
-
-
- -
-

Architecture - guide

-

Learn how the internals - work and contribute.

-
-
-
- -
-

Plugins

-

Extend the library with - third-party plugins or write your own.

-
-
-
- -
-

API - reference

-

Learn to easily customize - and modify your app's visual design to fit your brand.

-
-
-
-

Possimus saepe veritatis sint nobis et quam eos. Architecto consequatur odit perferendis fuga - eveniet possimus rerum cumque. Ea deleniti voluptatum deserunt voluptatibus ut non iste.

-
-

Quick start

-

Sit commodi iste iure molestias qui amet voluptatem sed quaerat. Nostrum aut pariatur. Sint - ipsa praesentium dolor error cumque velit tenetur.

-

Installing dependencies

-

Sit commodi iste iure molestias qui amet voluptatem sed quaerat. Nostrum aut pariatur. Sint - ipsa praesentium dolor error cumque velit tenetur quaerat exercitationem. Consequatur et cum - atque mollitia qui quia necessitatibus.

-
npm install @tailwindlabs/cache-advance
-
-

Possimus saepe veritatis sint nobis et quam eos. Architecto consequatur odit perferendis fuga - eveniet possimus rerum cumque. Ea deleniti voluptatum deserunt voluptatibus ut non iste. - Provident nam asperiores vel laboriosam omnis ducimus enim nesciunt quaerat. Minus tempora - cupiditate est quod.

-
- -
-

Oh no! Something - bad happened!

-
-

This is what a disclaimer message looks like. You might want to include inline - code in it. Or maybe you’ll want to include a link - in it. I don’t think we should get too carried away with other scenarios like - lists or tables — that would be silly.

-
-
-
-

Configuring the library

-

Sit commodi iste iure molestias qui amet voluptatem sed quaerat. Nostrum aut pariatur. Sint - ipsa praesentium dolor error cumque velit tenetur quaerat exercitationem. Consequatur et cum - atque mollitia qui quia necessitatibus.

-
// cache-advance.config.js
-export default {
-  strategy: 'predictive',
-  engine: {
-    cpus: 12,
-    backups: ['./storage/cache.wtf'],
-  },
-}
-
-

Possimus saepe veritatis sint nobis et quam eos. Architecto consequatur odit perferendis fuga - eveniet possimus rerum cumque. Ea deleniti voluptatum deserunt voluptatibus ut non iste. - Provident nam asperiores vel laboriosam omnis ducimus enim nesciunt quaerat. Minus tempora - cupiditate est quod.

-
- -
-

You should know!

-
-

This is what a disclaimer message looks like. You might want to include inline - code in it. Or maybe you’ll want to include a link - in it. I don’t think we should get too carried away with other scenarios like - lists or tables — that would be silly.

-
-
-
-
-

Basic usage

-

Praesentium laudantium magni. Consequatur reiciendis aliquid nihil iusto ut in et. Quisquam - ut et aliquid occaecati. Culpa veniam aut et voluptates amet perspiciatis. Qui - exercitationem in qui. Vel qui dignissimos sit quae distinctio.

-

Your first cache

-

Minima vel non iste debitis. Consequatur repudiandae et quod accusamus sit molestias - consequatur aperiam. Et sequi ipsa eum voluptatibus ipsam. Et quisquam ut.

-

Qui quae esse aspernatur fugit possimus. Quam sed molestiae temporibus. Eum perferendis - dignissimos provident ea et. Et repudiandae quasi accusamus consequatur dolore nobis. Quia - reiciendis necessitatibus a blanditiis iste quia. Ut quis et amet praesentium sapiente.

-

Atque eos laudantium. Optio odit aspernatur consequuntur corporis soluta quidem sunt aut - doloribus. Laudantium assumenda commodi.

-

Clearing the cache

-

Vel aut velit sit dolor aut suscipit at veritatis voluptas. Laudantium tempore praesentium. - Qui ut voluptatem.

-

Ea est autem fugiat velit esse a alias earum. Dolore non amet soluta eos libero est. - Consequatur qui aliquam qui odit eligendi ut impedit illo dignissimos.

-

Ut dolore qui aut nam. Natus temporibus nisi voluptatum labore est ex error vel officia. Vero - repellendus ut. Suscipit voluptate et placeat. Eius quo corporis ab et consequatur quisquam. - Nihil officia facere dolorem occaecati alias deleniti deleniti in.

-

Adding middleware

-

Officia nobis tempora maiores id iusto magni reprehenderit velit. Quae dolores inventore - molestiae perspiciatis aut. Quis sequi officia quasi rem officiis officiis. Nesciunt ut - cupiditate. Sunt aliquid explicabo enim ipsa eum recusandae. Vitae sunt eligendi et non - beatae minima aut.

-

Harum perferendis aut qui quibusdam tempore laboriosam voluptatum qui sed. Amet error amet - totam exercitationem aut corporis accusantium dolorum. Perspiciatis aut animi et. Sed unde - error ut aut rerum.

-

Ut quo libero aperiam mollitia est repudiandae quaerat corrupti explicabo. Voluptas - accusantium sed et doloribus voluptatem fugiat a mollitia. Numquam est magnam dolorem - asperiores fugiat. Soluta et fuga amet alias temporibus quasi velit. Laudantium voluptatum - perspiciatis doloribus quasi facere. Eveniet deleniti veniam et quia veritatis minus veniam - perspiciatis.

-
-

Getting help

-

Consequuntur et aut quisquam et qui consequatur eligendi. Necessitatibus dolorem sit. - Excepturi cumque quibusdam soluta ullam rerum voluptatibus. Porro illo sequi consequatur - nisi numquam nisi autem. Ut necessitatibus aut. Veniam ipsa voluptatem sed.

-

Submit an issue

-

Inventore et aut minus ut voluptatem nihil commodi doloribus consequatur. Facilis perferendis - nihil sit aut aspernatur iure ut dolores et. Aspernatur odit dignissimos. Aut qui est sint - sint.

-

Facere aliquam qui. Dolorem officia ipsam adipisci qui molestiae. Error voluptatem - reprehenderit ex.

-

Consequatur enim quia maiores aperiam et ipsum dicta. Quam ut sit facere sit quae. Eligendi - veritatis aut ut veritatis iste ut adipisci illo.

-

Join the community

-

Praesentium facilis iste aliquid quo quia a excepturi. Fuga reprehenderit illo sequi - voluptatem voluptatem omnis. Id quia consequatur rerum consectetur eligendi et omnis. - Voluptates iusto labore possimus provident praesentium id vel harum quisquam. Voluptatem - provident corrupti.

-

Eum et ut. Qui facilis est ipsa. Non facere quia sequi commodi autem. Dicta autem sit sequi - omnis impedit. Eligendi amet dolorum magnam repudiandae in a.

-

Molestiae iusto ut exercitationem dolorem unde iusto tempora atque nihil. Voluptatem velit - facere laboriosam nobis ea. Consequatur rerum velit ipsum ipsam. Et qui saepe consequatur - minima laborum tempore voluptatum et. Quia eveniet eaque sequi consequatur nihil eos.

+ <%- content %>
\ No newline at end of file diff --git a/App/FeatureSet/Docs/Views/Partials/Head.ejs b/App/FeatureSet/Docs/Views/Partials/Head.ejs index 71240beeab..d7a18abbe7 100644 --- a/App/FeatureSet/Docs/Views/Partials/Head.ejs +++ b/App/FeatureSet/Docs/Views/Partials/Head.ejs @@ -1,14 +1,15 @@ - - - - - CacheAdvance - Never miss the cache again. - - - - - \ No newline at end of file + + + + +CacheAdvance - Never miss the cache again. + + + + + + + + \ No newline at end of file diff --git a/App/FeatureSet/Docs/Views/Partials/Nav.ejs b/App/FeatureSet/Docs/Views/Partials/Nav.ejs index c2bcae66b5..481f362913 100644 --- a/App/FeatureSet/Docs/Views/Partials/Nav.ejs +++ b/App/FeatureSet/Docs/Views/Partials/Nav.ejs @@ -1,95 +1,33 @@ \ No newline at end of file diff --git a/App/FeatureSet/Home/Views/Blog/Post.ejs b/App/FeatureSet/Home/Views/Blog/Post.ejs index 63097ebdf7..0140f1c06b 100644 --- a/App/FeatureSet/Home/Views/Blog/Post.ejs +++ b/App/FeatureSet/Home/Views/Blog/Post.ejs @@ -59,10 +59,8 @@ } - + - -