mirror of
https://github.com/Snigdha-OS/snigdhaos-devdocs.git
synced 2025-09-21 20:24:57 +02:00
Compare commits
33 Commits
84adb7daec
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4f614a1d76 | ||
![]() |
735edcc37a | ||
![]() |
1d1cdd02ea | ||
![]() |
2c136e8733 | ||
![]() |
a9c54de0f3 | ||
![]() |
d1fe734c47 | ||
3084db3d98 | |||
0fc164d98e | |||
e0f8270524 | |||
4e6140bad0 | |||
d80797a9f7 | |||
660ca3f3cc | |||
d380e92a95 | |||
3b1ad10ee7 | |||
9c51a7e63e | |||
e9f74d428d | |||
536665efe5 | |||
8816bc3fe3 | |||
bd298189f1 | |||
![]() |
15dc1b806c | ||
![]() |
f4dc8fb8a8 | ||
![]() |
0556d16523 | ||
![]() |
f646acb483 | ||
![]() |
13669224f8 | ||
![]() |
da881f0801 | ||
![]() |
57f430d697 | ||
![]() |
38cc72c2a3 | ||
![]() |
7d7c829192 | ||
![]() |
0ab01ea46c | ||
![]() |
b8db7b774e | ||
![]() |
7baa0ff699 | ||
1eccabd382 | |||
0531d1c44d |
20
.gitignore
vendored
Normal file
20
.gitignore
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Dependencies
|
||||||
|
/node_modules
|
||||||
|
|
||||||
|
# Production
|
||||||
|
/build
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
.docusaurus
|
||||||
|
.cache-loader
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
.DS_Store
|
||||||
|
.env.local
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 SNIGDHA OS
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
173
README.md
Normal file
173
README.md
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
# Snigdha OS Developer Documentation
|
||||||
|
|
||||||
|
[](LICENSE)
|
||||||
|
[](https://github.com/Snigdha-OS/snigdhaos-devdocs/actions)
|
||||||
|
[](https://snigdha-os.github.io/snigdhaos-devdocs/)
|
||||||
|
|
||||||
|
Welcome to the **Snigdha OS Developer Documentation** repository! This repository houses the official developer documentation for **Snigdha OS**, a highly customizable, Arch-based Linux distribution designed for developers, penetration testers, and general users.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 📚 About
|
||||||
|
|
||||||
|
Snigdha OS Developer Documentation serves as a comprehensive guide for developers working on or with Snigdha OS. It includes detailed instructions, examples, and best practices to help users make the most of the OS and contribute to its ecosystem.
|
||||||
|
|
||||||
|
### Features:
|
||||||
|
- Detailed setup and configuration guides
|
||||||
|
- API references
|
||||||
|
- Contributing guidelines
|
||||||
|
- Localization support for multiple Indian languages
|
||||||
|
- Regularly updated content
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🚀 Quick Start
|
||||||
|
|
||||||
|
To view the documentation:
|
||||||
|
|
||||||
|
1. Visit the [Snigdha OS Developer Docs](https://snigdha-os.github.io/snigdhaos-devdocs/).
|
||||||
|
2. Use the language switcher in the navbar to explore content in various supported languages.
|
||||||
|
3. Follow the detailed instructions to set up and customize Snigdha OS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🛠️ Installation and Development
|
||||||
|
|
||||||
|
To run the documentation locally:
|
||||||
|
|
||||||
|
1. Clone this repository:
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/Snigdha-OS/snigdhaos-devdocs.git
|
||||||
|
```
|
||||||
|
2. Navigate to the project directory:
|
||||||
|
```bash
|
||||||
|
cd snigdhaos-devdocs
|
||||||
|
```
|
||||||
|
3. Install dependencies:
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
4. Start the development server:
|
||||||
|
```bash
|
||||||
|
npm start
|
||||||
|
```
|
||||||
|
5. Open your browser and navigate to `http://localhost:3000`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🌐 Supported Languages
|
||||||
|
|
||||||
|
Snigdha OS Developer Documentation is available in multiple Indian languages, including:
|
||||||
|
|
||||||
|
- English (`en`)
|
||||||
|
- Hindi (`hi`)
|
||||||
|
- Bengali (`bn`)
|
||||||
|
- Telugu (`te`)
|
||||||
|
- Marathi (`mr`)
|
||||||
|
- Tamil (`ta`)
|
||||||
|
- Urdu (`ur`)
|
||||||
|
- Gujarati (`gu`)
|
||||||
|
- Kannada (`kn`)
|
||||||
|
- Malayalam (`ml`)
|
||||||
|
- Odia (`or`)
|
||||||
|
- Punjabi (`pa`)
|
||||||
|
- Assamese (`as`)
|
||||||
|
- Nepali (`ne`)
|
||||||
|
- Sinhala (`si`)
|
||||||
|
- Kashmiri (`ks`)
|
||||||
|
- Sanskrit (`sa`)
|
||||||
|
- Tibetan (`bo`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🌏 How to Translate
|
||||||
|
|
||||||
|
### Adding or Updating Translations
|
||||||
|
|
||||||
|
1. Navigate to the `i18n` directory in the project.
|
||||||
|
Each language has its own folder named after the language code (e.g., `hi` for Hindi, `bn` for Bengali).
|
||||||
|
|
||||||
|
2. Translate or edit the JSON files inside the corresponding folder.
|
||||||
|
For example:
|
||||||
|
- `i18n/hi/docusaurus-plugin-content-docs/current/<doc>.json` contains translations for Hindi.
|
||||||
|
- Each JSON file corresponds to a specific documentation page.
|
||||||
|
|
||||||
|
3. Add your translations for the required fields. For example:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"title": "शीर्षक",
|
||||||
|
"description": "यह एक हिंदी दस्तावेज़ है।"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Test your translations by running the project locally:
|
||||||
|
```bash
|
||||||
|
npm start
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Commit and push your changes:
|
||||||
|
```bash
|
||||||
|
git add .
|
||||||
|
git commit -m "Add/Update translations for <language>"
|
||||||
|
git push origin <branch-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Open a pull request to merge your changes into the main branch.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🖼️ Project Structure
|
||||||
|
|
||||||
|
- `/docs`: Main documentation content in markdown files.
|
||||||
|
- `/i18n`: Translations for different languages.
|
||||||
|
- `/src`: Custom CSS and theme-related modifications.
|
||||||
|
- `docusaurus.config.js`: Main configuration file for the Docusaurus framework.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🤝 Contributing
|
||||||
|
|
||||||
|
We welcome contributions to improve the Snigdha OS Developer Documentation!
|
||||||
|
|
||||||
|
### How to Contribute:
|
||||||
|
1. Fork this repository.
|
||||||
|
2. Create a new branch for your feature, bug fix, or translation:
|
||||||
|
```bash
|
||||||
|
git checkout -b feature-name
|
||||||
|
```
|
||||||
|
3. Make your changes and test them locally.
|
||||||
|
4. Commit your changes:
|
||||||
|
```bash
|
||||||
|
git commit -m "Add feature or fix description"
|
||||||
|
```
|
||||||
|
5. Push your changes:
|
||||||
|
```bash
|
||||||
|
git push origin feature-name
|
||||||
|
```
|
||||||
|
6. Create a pull request on GitHub.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 📄 License
|
||||||
|
|
||||||
|
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for more details.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 📞 Support
|
||||||
|
|
||||||
|
For questions, suggestions, or bug reports, please open an issue on the [GitHub Issues](https://github.com/Snigdha-OS/snigdhaos-devdocs/issues) page.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🛡️ Acknowledgements
|
||||||
|
|
||||||
|
Snigdha OS Developer Documentation is powered by:
|
||||||
|
- [Docusaurus](https://docusaurus.io/) for creating modern documentation websites.
|
||||||
|
- [Prism React Renderer](https://prism-react-renderer.netlify.app/) for syntax highlighting.
|
||||||
|
|
||||||
|
Special thanks to the **Snigdha OS Community** and contributors for making this documentation project possible.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Enjoy your experience with **Snigdha OS**! 🌟
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 25 KiB |
Binary file not shown.
Before Width: | Height: | Size: 94 KiB |
Binary file not shown.
Before Width: | Height: | Size: 27 KiB |
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[6619],{5954:t=>{t.exports=JSON.parse('{"tag":{"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description","allTagsPath":"/DevContrib/blog/tags","count":4,"unlisted":false},"listMetadata":{"permalink":"/DevContrib/blog/tags/docusaurus","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[3976],{2964:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/DevContrib/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","next":{"title":"Tutorial - Basics","permalink":"/DevContrib/docs/category/tutorial---basics"}}');var r=n(6070),o=n(6599);const i={sidebar_position:1},a="Tutorial Intro",d={},l=[{value:"Getting Started",id:"getting-started",level:2},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Generate a new site",id:"generate-a-new-site",level:2},{value:"Start your site",id:"start-your-site",level:2}];function c(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"tutorial-intro",children:"Tutorial Intro"})}),"\n",(0,r.jsxs)(t.p,{children:["Let's discover ",(0,r.jsx)(t.strong,{children:"Docusaurus in less than 5 minutes"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,r.jsxs)(t.p,{children:["Get started by ",(0,r.jsx)(t.strong,{children:"creating a new site"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Or ",(0,r.jsx)(t.strong,{children:"try Docusaurus immediately"})," with ",(0,r.jsx)(t.strong,{children:(0,r.jsx)(t.a,{href:"https://docusaurus.new",children:"docusaurus.new"})}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"what-youll-need",children:"What you'll need"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.a,{href:"https://nodejs.org/en/download/",children:"Node.js"})," version 18.0 or above:","\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"When installing Node.js, you are recommended to check all checkboxes related to dependencies."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"generate-a-new-site",children:"Generate a new site"}),"\n",(0,r.jsxs)(t.p,{children:["Generate a new Docusaurus site using the ",(0,r.jsx)(t.strong,{children:"classic template"}),"."]}),"\n",(0,r.jsx)(t.p,{children:"The classic template will automatically be added to your project after you run the command:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"npm init docusaurus@latest my-website classic\n"})}),"\n",(0,r.jsx)(t.p,{children:"You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor."}),"\n",(0,r.jsx)(t.p,{children:"The command also installs all necessary dependencies you need to run Docusaurus."}),"\n",(0,r.jsx)(t.h2,{id:"start-your-site",children:"Start your site"}),"\n",(0,r.jsx)(t.p,{children:"Run the development server:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"cd my-website\nnpm run start\n"})}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"cd"})," command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there."]}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"npm run start"})," command builds your website locally and serves it through a development server, ready for you to view at ",(0,r.jsx)(t.a,{href:"http://localhost:3000/",children:"http://localhost:3000/"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Open ",(0,r.jsx)(t.code,{children:"docs/intro.md"})," (this page) and edit some lines: the site ",(0,r.jsx)(t.strong,{children:"reloads automatically"})," and displays your changes."]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},6599:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(758);const r={},o=s.createContext(r);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[1953],{6235:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","source":"@site/docs/tutorial-basics/create-a-document.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-document","permalink":"/DevContrib/docs/tutorial-basics/create-a-document","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-document.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Create a Page","permalink":"/DevContrib/docs/tutorial-basics/create-a-page"},"next":{"title":"Create a Blog Post","permalink":"/DevContrib/docs/tutorial-basics/create-a-blog-post"}}');var r=n(6070),o=n(6599);const a={sidebar_position:2},i="Create a Document",c={},l=[{value:"Create your first Doc",id:"create-your-first-doc",level:2},{value:"Configure the Sidebar",id:"configure-the-sidebar",level:2}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"create-a-document",children:"Create a Document"})}),"\n",(0,r.jsxs)(t.p,{children:["Documents are ",(0,r.jsx)(t.strong,{children:"groups of pages"})," connected through:"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["a ",(0,r.jsx)(t.strong,{children:"sidebar"})]}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.strong,{children:"previous/next navigation"})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.strong,{children:"versioning"})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"create-your-first-doc",children:"Create your first Doc"}),"\n",(0,r.jsxs)(t.p,{children:["Create a Markdown file at ",(0,r.jsx)(t.code,{children:"docs/hello.md"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-md",metastring:'title="docs/hello.md"',children:"# Hello\n\nThis is my **first Docusaurus document**!\n"})}),"\n",(0,r.jsxs)(t.p,{children:["A new document is now available at ",(0,r.jsx)(t.a,{href:"http://localhost:3000/docs/hello",children:"http://localhost:3000/docs/hello"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"configure-the-sidebar",children:"Configure the Sidebar"}),"\n",(0,r.jsxs)(t.p,{children:["Docusaurus automatically ",(0,r.jsx)(t.strong,{children:"creates a sidebar"})," from the ",(0,r.jsx)(t.code,{children:"docs"})," folder."]}),"\n",(0,r.jsx)(t.p,{children:"Add metadata to customize the sidebar label and position:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-md",metastring:'title="docs/hello.md" {1-4}',children:"---\nsidebar_label: 'Hi!'\nsidebar_position: 3\n---\n\n# Hello\n\nThis is my **first Docusaurus document**!\n"})}),"\n",(0,r.jsxs)(t.p,{children:["It is also possible to create your sidebar explicitly in ",(0,r.jsx)(t.code,{children:"sidebars.js"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",metastring:'title="sidebars.js"',children:"export default {\n tutorialSidebar: [\n 'intro',\n // highlight-next-line\n 'hello',\n {\n type: 'category',\n label: 'Tutorial',\n items: ['tutorial-basics/create-a-document'],\n },\n ],\n};\n"})})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},6599:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(758);const r={},o=s.createContext(r);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[787],{2602:e=>{e.exports=JSON.parse('{"author":{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":3},"listMetadata":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[3215],{4722:e=>{e.exports=JSON.parse('{"tag":{"label":"Hello","permalink":"/DevContrib/blog/tags/hello","description":"Hello tag description","allTagsPath":"/DevContrib/blog/tags","count":2,"unlisted":false},"listMetadata":{"permalink":"/DevContrib/blog/tags/hello","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[3391],{6273:(e,t,n)=>{n.d(t,{A:()=>a});n(758);var i=n(3526),o=n(6958),s=n(4748),r=n(6070);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,i.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},3391:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});n(758);var i=n(6958),o=n(894),s=n(6922),r=n(6273),a=n(6070);function d(){const e=(0,i.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.be,{title:e}),(0,a.jsx)(s.A,{children:(0,a.jsx)(r.A,{})})]})}}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[9858],{5516:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[7884],{921:e=>{e.exports=JSON.parse('{"metadata":{"permalink":"/DevContrib/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":4,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[4134],{658:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>d});const o=JSON.parse('{"type":"mdx","permalink":"/DevContrib/markdown-page","source":"@site/src/pages/markdown-page.md","title":"Markdown page example","description":"You don\'t need React to write simple standalone pages.","frontMatter":{"title":"Markdown page example"},"unlisted":false}');var a=t(6070),r=t(6599);const s={title:"Markdown page example"},c="Markdown page example",p={},d=[];function i(e){const n={h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"markdown-page-example",children:"Markdown page example"})}),"\n",(0,a.jsx)(n.p,{children:"You don't need React to write simple standalone pages."})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(i,{...e})}):i(e)}},6599:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>c});var o=t(758);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[4057],{4464:t=>{t.exports=JSON.parse('{"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":3},{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber","count":3}]}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[3098],{8999:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","source":"@site/docs/tutorial-basics/create-a-blog-post.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-blog-post","permalink":"/DevContrib/docs/tutorial-basics/create-a-blog-post","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-blog-post.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Create a Document","permalink":"/DevContrib/docs/tutorial-basics/create-a-document"},"next":{"title":"Markdown Features","permalink":"/DevContrib/docs/tutorial-basics/markdown-features"}}');var o=s(6070),a=s(6599);const n={sidebar_position:3},i="Create a Blog Post",c={},l=[{value:"Create your first Post",id:"create-your-first-post",level:2}];function u(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"create-a-blog-post",children:"Create a Blog Post"})}),"\n",(0,o.jsxs)(t.p,{children:["Docusaurus creates a ",(0,o.jsx)(t.strong,{children:"page for each blog post"}),", but also a ",(0,o.jsx)(t.strong,{children:"blog index page"}),", a ",(0,o.jsx)(t.strong,{children:"tag system"}),", an ",(0,o.jsx)(t.strong,{children:"RSS"})," feed..."]}),"\n",(0,o.jsx)(t.h2,{id:"create-your-first-post",children:"Create your first Post"}),"\n",(0,o.jsxs)(t.p,{children:["Create a file at ",(0,o.jsx)(t.code,{children:"blog/2021-02-28-greetings.md"}),":"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-md",metastring:'title="blog/2021-02-28-greetings.md"',children:"---\nslug: greetings\ntitle: Greetings!\nauthors:\n - name: Joel Marcey\n title: Co-creator of Docusaurus 1\n url: https://github.com/JoelMarcey\n image_url: https://github.com/JoelMarcey.png\n - name: S\xe9bastien Lorber\n title: Docusaurus maintainer\n url: https://sebastienlorber.com\n image_url: https://github.com/slorber.png\ntags: [greetings]\n---\n\nCongratulations, you have made your first post!\n\nFeel free to play around and edit this post as much as you like.\n"})}),"\n",(0,o.jsxs)(t.p,{children:["A new blog post is now available at ",(0,o.jsx)(t.a,{href:"http://localhost:3000/blog/greetings",children:"http://localhost:3000/blog/greetings"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},6599:(e,t,s)=>{s.d(t,{R:()=>n,x:()=>i});var r=s(758);const o={},a=r.createContext(o);function n(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[9325],{2947:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var s=o(1632),r=o(6070),n=o(6599);const a={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},i=void 0,l={authorsImageUrls:[void 0]},c=[];function u(e){const t={a:"a",admonition:"admonition",code:"code",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(t.p,{children:["Blog posts support ",(0,r.jsx)(t.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,r.jsx)(t.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"Use the power of React to create interactive blog posts."})}),"\n","\n",(0,r.jsx)(t.p,{children:"For example, use JSX to create an interactive button:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"<button onClick={() => alert('button clicked!')}>Click me!</button>\n"})}),"\n",(0,r.jsx)("button",{onClick:()=>alert("button clicked!"),children:"Click me!"})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},6599:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>i});var s=o(758);const r={},n=s.createContext(r);function a(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(n.Provider,{value:t},e.children)}},1632:e=>{e.exports=JSON.parse('{"permalink":"/DevContrib/blog/mdx-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/DevContrib/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/DevContrib/blog/long-blog-post"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[1974],{4868:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","source":"@site/docs/tutorial-basics/create-a-page.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/create-a-page","permalink":"/DevContrib/docs/tutorial-basics/create-a-page","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/create-a-page.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Basics","permalink":"/DevContrib/docs/category/tutorial---basics"},"next":{"title":"Create a Document","permalink":"/DevContrib/docs/tutorial-basics/create-a-document"}}');var s=t(6070),n=t(6599);const o={sidebar_position:1},c="Create a Page",i={},l=[{value:"Create your first React Page",id:"create-your-first-react-page",level:2},{value:"Create your first Markdown Page",id:"create-your-first-markdown-page",level:2}];function d(e){const a={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.header,{children:(0,s.jsx)(a.h1,{id:"create-a-page",children:"Create a Page"})}),"\n",(0,s.jsxs)(a.p,{children:["Add ",(0,s.jsx)(a.strong,{children:"Markdown or React"})," files to ",(0,s.jsx)(a.code,{children:"src/pages"})," to create a ",(0,s.jsx)(a.strong,{children:"standalone page"}),":"]}),"\n",(0,s.jsxs)(a.ul,{children:["\n",(0,s.jsxs)(a.li,{children:[(0,s.jsx)(a.code,{children:"src/pages/index.js"})," \u2192 ",(0,s.jsx)(a.code,{children:"localhost:3000/"})]}),"\n",(0,s.jsxs)(a.li,{children:[(0,s.jsx)(a.code,{children:"src/pages/foo.md"})," \u2192 ",(0,s.jsx)(a.code,{children:"localhost:3000/foo"})]}),"\n",(0,s.jsxs)(a.li,{children:[(0,s.jsx)(a.code,{children:"src/pages/foo/bar.js"})," \u2192 ",(0,s.jsx)(a.code,{children:"localhost:3000/foo/bar"})]}),"\n"]}),"\n",(0,s.jsx)(a.h2,{id:"create-your-first-react-page",children:"Create your first React Page"}),"\n",(0,s.jsxs)(a.p,{children:["Create a file at ",(0,s.jsx)(a.code,{children:"src/pages/my-react-page.js"}),":"]}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-jsx",metastring:'title="src/pages/my-react-page.js"',children:"import React from 'react';\nimport Layout from '@theme/Layout';\n\nexport default function MyReactPage() {\n return (\n <Layout>\n <h1>My React page</h1>\n <p>This is a React page</p>\n </Layout>\n );\n}\n"})}),"\n",(0,s.jsxs)(a.p,{children:["A new page is now available at ",(0,s.jsx)(a.a,{href:"http://localhost:3000/my-react-page",children:"http://localhost:3000/my-react-page"}),"."]}),"\n",(0,s.jsx)(a.h2,{id:"create-your-first-markdown-page",children:"Create your first Markdown Page"}),"\n",(0,s.jsxs)(a.p,{children:["Create a file at ",(0,s.jsx)(a.code,{children:"src/pages/my-markdown-page.md"}),":"]}),"\n",(0,s.jsx)(a.pre,{children:(0,s.jsx)(a.code,{className:"language-mdx",metastring:'title="src/pages/my-markdown-page.md"',children:"# My Markdown page\n\nThis is a Markdown page\n"})}),"\n",(0,s.jsxs)(a.p,{children:["A new page is now available at ",(0,s.jsx)(a.a,{href:"http://localhost:3000/my-markdown-page",children:"http://localhost:3000/my-markdown-page"}),"."]})]})}function p(e={}){const{wrapper:a}={...(0,n.R)(),...e.components};return a?(0,s.jsx)(a,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},6599:(e,a,t)=>{t.d(a,{R:()=>o,x:()=>c});var r=t(758);const s={},n=r.createContext(s);function o(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[9647],{6615:(e,r,s)=>{s.r(r),s.d(r,{default:()=>i});s(758);var c=s(3526),n=s(894),t=s(9105),u=s(389),a=s(6922),d=s(6070);function i(e){return(0,d.jsx)(n.e3,{className:(0,c.A)(t.G.wrapper.docsPages),children:(0,d.jsx)(a.A,{children:(0,u.v)(e.route.routes)})})}}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[4212],{4247:(t,e,s)=>{s.r(e),s.d(e,{default:()=>m});s(758);var o=s(3526),a=s(894),r=s(9105),n=s(8411),l=s(2769),u=s(7721),i=s(4748),h=s(4805);const c={authorListItem:"authorListItem_NZ0m"};var g=s(6070);function p(t){let{author:e}=t;return(0,g.jsx)("li",{className:c.authorListItem,children:(0,g.jsx)(h.A,{as:"h2",author:e,count:e.count})})}function d(t){let{authors:e}=t;return(0,g.jsx)("section",{className:(0,o.A)("margin-vert--lg",c.authorsListSection),children:(0,g.jsx)("ul",{children:e.map((t=>(0,g.jsx)(p,{author:t},t.key)))})})}function m(t){let{authors:e,sidebar:s}=t;const h=(0,n.uz)();return(0,g.jsxs)(a.e3,{className:(0,o.A)(r.G.wrapper.blogPages,r.G.page.blogAuthorsListPage),children:[(0,g.jsx)(a.be,{title:h}),(0,g.jsx)(u.A,{tag:"blog_authors_list"}),(0,g.jsxs)(l.A,{sidebar:s,children:[(0,g.jsx)(i.A,{as:"h1",children:h}),(0,g.jsx)(d,{authors:e})]})]})}},8411:(t,e,s)=>{s.d(e,{Y4:()=>c,ZD:()=>l,np:()=>h,uz:()=>i,wI:()=>u});s(758);var o=s(6958),a=s(1467),r=s(6070);function n(){const{selectMessage:t}=(0,a.W)();return e=>t(e,(0,o.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:e}))}function l(t){const e=n();return(0,o.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:e(t.count),tagName:t.label})}function u(t){const e=n();return(0,o.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:e(t.count),authorName:t.name||t.key})}const i=()=>(0,o.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function h(){return(0,r.jsx)(o.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function c(){return(0,r.jsx)(o.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]);
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[8737],{1994:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var s=o(8811),n=o(6070),r=o(6599);const a={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},i=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(e){const t={a:"a",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(t.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Here are a few tips you might find useful."})]})}function g(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},6599:(e,t,o)=>{o.d(t,{R:()=>a,x:()=>i});var s=o(758);const n={},r=s.createContext(n);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}},8811:e=>{e.exports=JSON.parse('{"permalink":"/DevContrib/blog/welcome","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/DevContrib/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/DevContrib/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/DevContrib/blog/mdx-blog-post"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[1850],{9143:o=>{o.exports=JSON.parse('{"tags":[{"label":"Facebook","permalink":"/DevContrib/blog/tags/facebook","description":"Facebook tag description","count":1},{"label":"Hello","permalink":"/DevContrib/blog/tags/hello","description":"Hello tag description","count":2},{"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description","count":4},{"label":"Hola","permalink":"/DevContrib/blog/tags/hola","description":"Hola tag description","count":1}]}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[226],{2372:t=>{t.exports=JSON.parse('{"author":{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun","count":3},"listMetadata":{"permalink":"/DevContrib/blog/authors/yangshun","page":1,"postsPerPage":10,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[7472],{5513:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Welcome","permalink":"/DevContrib/blog/welcome","unlisted":false,"date":"2021-08-26T00:00:00.000Z"},{"title":"MDX Blog Post","permalink":"/DevContrib/blog/mdx-blog-post","unlisted":false,"date":"2021-08-01T00:00:00.000Z"},{"title":"Long Blog Post","permalink":"/DevContrib/blog/long-blog-post","unlisted":false,"date":"2019-05-29T00:00:00.000Z"},{"title":"First Blog Post","permalink":"/DevContrib/blog/first-blog-post","unlisted":false,"date":"2019-05-28T00:00:00.000Z"}]}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[2748],{8537:(s,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>n,toc:()=>u});const n=JSON.parse('{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","source":"@site/docs/tutorial-basics/congratulations.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/congratulations","permalink":"/DevContrib/docs/tutorial-basics/congratulations","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/congratulations.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6},"sidebar":"tutorialSidebar","previous":{"title":"Deploy your site","permalink":"/DevContrib/docs/tutorial-basics/deploy-your-site"},"next":{"title":"Tutorial - Extras","permalink":"/DevContrib/docs/category/tutorial---extras"}}');var o=e(6070),r=e(6599);const i={sidebar_position:6},a="Congratulations!",c={},u=[{value:"What's next?",id:"whats-next",level:2}];function d(s){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...s.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"congratulations",children:"Congratulations!"})}),"\n",(0,o.jsxs)(t.p,{children:["You have just learned the ",(0,o.jsx)(t.strong,{children:"basics of Docusaurus"})," and made some changes to the ",(0,o.jsx)(t.strong,{children:"initial template"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Docusaurus has ",(0,o.jsx)(t.strong,{children:"much more to offer"}),"!"]}),"\n",(0,o.jsxs)(t.p,{children:["Have ",(0,o.jsx)(t.strong,{children:"5 more minutes"}),"? Take a look at ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"/DevContrib/docs/tutorial-extras/manage-docs-versions",children:"versioning"})})," and ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"/DevContrib/docs/tutorial-extras/translate-your-site",children:"i18n"})}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Anything ",(0,o.jsx)(t.strong,{children:"unclear"})," or ",(0,o.jsx)(t.strong,{children:"buggy"})," in this tutorial? ",(0,o.jsx)(t.a,{href:"https://github.com/facebook/docusaurus/discussions/4610",children:"Please report it!"})]}),"\n",(0,o.jsx)(t.h2,{id:"whats-next",children:"What's next?"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Read the ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/",children:"official documentation"})]}),"\n",(0,o.jsxs)(t.li,{children:["Modify your site configuration with ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/api/docusaurus-config",children:(0,o.jsx)(t.code,{children:"docusaurus.config.js"})})]}),"\n",(0,o.jsxs)(t.li,{children:["Add navbar and footer items with ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/api/themes/configuration",children:(0,o.jsx)(t.code,{children:"themeConfig"})})]}),"\n",(0,o.jsxs)(t.li,{children:["Add a custom ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/styling-layout",children:"Design and Layout"})]}),"\n",(0,o.jsxs)(t.li,{children:["Add a ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/docs/search",children:"search bar"})]}),"\n",(0,o.jsxs)(t.li,{children:["Find inspirations in the ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/showcase",children:"Docusaurus showcase"})]}),"\n",(0,o.jsxs)(t.li,{children:["Get involved in the ",(0,o.jsx)(t.a,{href:"https://docusaurus.io/community/support",children:"Docusaurus Community"})]}),"\n"]})]})}function l(s={}){const{wrapper:t}={...(0,r.R)(),...s.components};return t?(0,o.jsx)(t,{...s,children:(0,o.jsx)(d,{...s})}):d(s)}},6599:(s,t,e)=>{e.d(t,{R:()=>i,x:()=>a});var n=e(758);const o={},r=n.createContext(o);function i(s){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof s?s(t):{...t,...s}}),[t,s])}function a(s){let t;return t=s.disableParentContext?"function"==typeof s.components?s.components(o):s.components||o:i(s.components),n.createElement(r.Provider,{value:t},s.children)}}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[3694],{3262:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>a,default:()=>g,frontMatter:()=>l,metadata:()=>n,toc:()=>u});var n=o(5802),s=o(6070),r=o(6599);const l={slug:"long-blog-post",title:"Long Blog Post",authors:"yangshun",tags:["hello","docusaurus"]},a=void 0,i={authorsImageUrls:[void 0]},u=[];function c(t){const e={code:"code",p:"p",...(0,r.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"This is the summary of a very long blog post,"}),"\n",(0,s.jsxs)(e.p,{children:["Use a ",(0,s.jsx)(e.code,{children:"\x3c!--"})," ",(0,s.jsx)(e.code,{children:"truncate"})," ",(0,s.jsx)(e.code,{children:"--\x3e"})," comment to limit blog post size in the list view."]})]})}function g(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},6599:(t,e,o)=>{o.d(e,{R:()=>l,x:()=>a});var n=o(758);const s={},r=n.createContext(s);function l(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:l(t.components),n.createElement(r.Provider,{value:e},t.children)}},5802:t=>{t.exports=JSON.parse('{"permalink":"/DevContrib/blog/long-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-29-long-blog-post.md","source":"@site/blog/2019-05-29-long-blog-post.md","title":"Long Blog Post","description":"This is the summary of a very long blog post,","date":"2019-05-29T00:00:00.000Z","tags":[{"inline":false,"label":"Hello","permalink":"/DevContrib/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":2.06,"hasTruncateMarker":true,"authors":[{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"long-blog-post","title":"Long Blog Post","authors":"yangshun","tags":["hello","docusaurus"]},"unlisted":false,"prevItem":{"title":"MDX Blog Post","permalink":"/DevContrib/blog/mdx-blog-post"},"nextItem":{"title":"First Blog Post","permalink":"/DevContrib/blog/first-blog-post"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[8609],{3357:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var s=o(2421),n=o(6070),r=o(6599);const a={slug:"first-blog-post",title:"First Blog Post",authors:["slorber","yangshun"],tags:["hola","docusaurus"]},i=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(t){const e={p:"p",...(0,r.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Lorem ipsum dolor sit amet..."})}function g(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},6599:(t,e,o)=>{o.d(e,{R:()=>a,x:()=>i});var s=o(758);const n={},r=s.createContext(n);function a(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),s.createElement(r.Provider,{value:e},t.children)}},2421:t=>{t.exports=JSON.parse('{"permalink":"/DevContrib/blog/first-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/DevContrib/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/DevContrib/blog/long-blog-post"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[4376],{5759:t=>{t.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Tutorial Intro","href":"/DevContrib/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"Tutorial - Basics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create a Page","href":"/DevContrib/docs/tutorial-basics/create-a-page","docId":"tutorial-basics/create-a-page","unlisted":false},{"type":"link","label":"Create a Document","href":"/DevContrib/docs/tutorial-basics/create-a-document","docId":"tutorial-basics/create-a-document","unlisted":false},{"type":"link","label":"Create a Blog Post","href":"/DevContrib/docs/tutorial-basics/create-a-blog-post","docId":"tutorial-basics/create-a-blog-post","unlisted":false},{"type":"link","label":"Markdown Features","href":"/DevContrib/docs/tutorial-basics/markdown-features","docId":"tutorial-basics/markdown-features","unlisted":false},{"type":"link","label":"Deploy your site","href":"/DevContrib/docs/tutorial-basics/deploy-your-site","docId":"tutorial-basics/deploy-your-site","unlisted":false},{"type":"link","label":"Congratulations!","href":"/DevContrib/docs/tutorial-basics/congratulations","docId":"tutorial-basics/congratulations","unlisted":false}],"href":"/DevContrib/docs/category/tutorial---basics"},{"type":"category","label":"Tutorial - Extras","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage Docs Versions","href":"/DevContrib/docs/tutorial-extras/manage-docs-versions","docId":"tutorial-extras/manage-docs-versions","unlisted":false},{"type":"link","label":"Translate your site","href":"/DevContrib/docs/tutorial-extras/translate-your-site","docId":"tutorial-extras/translate-your-site","unlisted":false}],"href":"/DevContrib/docs/category/tutorial---extras"}]},"docs":{"intro":{"id":"intro","title":"Tutorial Intro","description":"Let\'s discover Docusaurus in less than 5 minutes.","sidebar":"tutorialSidebar"},"tutorial-basics/congratulations":{"id":"tutorial-basics/congratulations","title":"Congratulations!","description":"You have just learned the basics of Docusaurus and made some changes to the initial template.","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-blog-post":{"id":"tutorial-basics/create-a-blog-post","title":"Create a Blog Post","description":"Docusaurus creates a page for each blog post, but also a blog index page, a tag system, an RSS feed...","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-document":{"id":"tutorial-basics/create-a-document","title":"Create a Document","description":"Documents are groups of pages connected through:","sidebar":"tutorialSidebar"},"tutorial-basics/create-a-page":{"id":"tutorial-basics/create-a-page","title":"Create a Page","description":"Add Markdown or React files to src/pages to create a standalone page:","sidebar":"tutorialSidebar"},"tutorial-basics/deploy-your-site":{"id":"tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","sidebar":"tutorialSidebar"},"tutorial-basics/markdown-features":{"id":"tutorial-basics/markdown-features","title":"Markdown Features","description":"Docusaurus supports Markdown and a few additional features.","sidebar":"tutorialSidebar"},"tutorial-extras/manage-docs-versions":{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","sidebar":"tutorialSidebar"},"tutorial-extras/translate-your-site":{"id":"tutorial-extras/translate-your-site","title":"Translate your site","description":"Let\'s translate docs/intro.md to French.","sidebar":"tutorialSidebar"}}}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[2711],{9065:(e,r,t)=>{t.r(r),t.d(r,{default:()=>m});t(758);var a=t(3377),n=t(6958),s=t(894),i=t(7392),c=t(6922),l=t(4748),o=t(6070);function d(e){let{year:r,posts:t}=e;const n=(0,i.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.A,{as:"h3",id:r,children:r}),(0,o.jsx)("ul",{children:t.map((e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(a.A,{to:e.metadata.permalink,children:[(r=e.metadata.date,n.format(new Date(r)))," - ",e.metadata.title]})},e.metadata.date);var r}))})]})}function h(e){let{years:r}=e;return(0,o.jsx)("section",{className:"margin-vert--lg",children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)("div",{className:"row",children:r.map(((e,r)=>(0,o.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,o.jsx)(d,{...e})},r)))})})})}function m(e){let{archive:r}=e;const t=(0,n.T)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),a=(0,n.T)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=function(e){const r=e.reduce(((e,r)=>{const t=r.metadata.date.split("-")[0],a=e.get(t)??[];return e.set(t,[r,...a])}),new Map);return Array.from(r,(e=>{let[r,t]=e;return{year:r,posts:t}}))}(r.blogPosts);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.be,{title:t,description:a}),(0,o.jsxs)(c.A,{children:[(0,o.jsx)("header",{className:"hero hero--primary",children:(0,o.jsxs)("div",{className:"container",children:[(0,o.jsx)(l.A,{as:"h1",className:"hero__title",children:t}),(0,o.jsx)("p",{className:"hero__subtitle",children:a})]})}),(0,o.jsx)("main",{children:i.length>0&&(0,o.jsx)(h,{years:i})})]})]})}},7392:(e,r,t)=>{t.d(r,{i:()=>n});var a=t(6557);function n(e){void 0===e&&(e={});const{i18n:{currentLocale:r}}=(0,a.A)(),t=function(){const{i18n:{currentLocale:e,localeConfigs:r}}=(0,a.A)();return r[e].calendar}();return new Intl.DateTimeFormat(r,{calendar:t,...e})}}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[2753],{9434:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Basics","description":"5 minutes to learn the most important Docusaurus concepts.","slug":"/category/tutorial---basics","permalink":"/DevContrib/docs/category/tutorial---basics","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Tutorial Intro","permalink":"/DevContrib/docs/intro"},"next":{"title":"Create a Page","permalink":"/DevContrib/docs/tutorial-basics/create-a-page"}}}}')}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[1235],{8552:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[7098],{4640:(n,e,s)=>{s.r(e),s.d(e,{default:()=>l});s(758);var r=s(894);function o(n,e){return`docs-${n}-${e}`}var t=s(9913),c=s(389),i=s(7721),u=s(6070);function a(n){const{version:e}=n;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(i.A,{version:e.version,tag:o(e.pluginId,e.version)}),(0,u.jsx)(r.be,{children:e.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function d(n){const{version:e,route:s}=n;return(0,u.jsx)(r.e3,{className:e.className,children:(0,u.jsx)(t.n,{version:e,children:(0,c.v)(s.routes)})})}function l(n){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...n}),(0,u.jsx)(d,{...n})]})}}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[5742],{7093:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[1903],{1912:e=>{e.exports=JSON.parse('{"blogBasePath":"/DevContrib/blog","blogTitle":"Blog","authorsListPath":"/DevContrib/blog/authors"}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[6568],{8310:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Tutorial - Extras","slug":"/category/tutorial---extras","permalink":"/DevContrib/docs/category/tutorial---extras","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"Congratulations!","permalink":"/DevContrib/docs/tutorial-basics/congratulations"},"next":{"title":"Manage Docs Versions","permalink":"/DevContrib/docs/tutorial-extras/manage-docs-versions"}}}}')}}]);
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[5877],{5844:e=>{e.exports=JSON.parse('{"tag":{"label":"Facebook","permalink":"/DevContrib/blog/tags/facebook","description":"Facebook tag description","allTagsPath":"/DevContrib/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/DevContrib/blog/tags/facebook","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[9412],{4436:t=>{t.exports=JSON.parse('{"tag":{"label":"Hola","permalink":"/DevContrib/blog/tags/hola","description":"Hola tag description","allTagsPath":"/DevContrib/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/DevContrib/blog/tags/hola","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[5557],{5686:(e,s,o)=>{o.r(s),o.d(s,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>l,metadata:()=>t,toc:()=>c});var t=o(8811),n=o(6070),r=o(6599);const l={slug:"welcome",title:"Welcome",authors:["slorber","yangshun"],tags:["facebook","hello","docusaurus"]},a=void 0,i={authorsImageUrls:[void 0,void 0]},c=[];function u(e){const s={a:"a",code:"code",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://docusaurus.io/docs/blog",children:"Docusaurus blogging features"})," are powered by the ",(0,n.jsx)(s.a,{href:"https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog",children:"blog plugin"}),"."]}),"\n",(0,n.jsx)(s.p,{children:"Here are a few tips you might find useful."}),"\n",(0,n.jsxs)(s.p,{children:["Simply add Markdown files (or folders) to the ",(0,n.jsx)(s.code,{children:"blog"})," directory."]}),"\n",(0,n.jsxs)(s.p,{children:["Regular blog authors can be added to ",(0,n.jsx)(s.code,{children:"authors.yml"}),"."]}),"\n",(0,n.jsx)(s.p,{children:"The blog post date can be extracted from filenames, such as:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.code,{children:"2019-05-30-welcome.md"})}),"\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.code,{children:"2019-05-30-welcome/index.md"})}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"A blog post folder can be convenient to co-locate blog post images:"}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.img,{alt:"Docusaurus Plushie",src:o(3056).A+"",width:"1500",height:"500"})}),"\n",(0,n.jsx)(s.p,{children:"The blog supports tags as well!"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"And if you don't want a blog"}),": just delete this directory, and use ",(0,n.jsx)(s.code,{children:"blog: false"})," in your Docusaurus config."]})]})}function d(e={}){const{wrapper:s}={...(0,r.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},3056:(e,s,o)=>{o.d(s,{A:()=>t});const t=o.p+"assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg"},6599:(e,s,o)=>{o.d(s,{R:()=>l,x:()=>a});var t=o(758);const n={},r=t.createContext(n);function l(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(r.Provider,{value:s},e.children)}},8811:e=>{e.exports=JSON.parse('{"permalink":"/DevContrib/blog/welcome","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-26-welcome/index.md","source":"@site/blog/2021-08-26-welcome/index.md","title":"Welcome","description":"Docusaurus blogging features are powered by the blog plugin.","date":"2021-08-26T00:00:00.000Z","tags":[{"inline":false,"label":"Facebook","permalink":"/DevContrib/blog/tags/facebook","description":"Facebook tag description"},{"inline":false,"label":"Hello","permalink":"/DevContrib/blog/tags/hello","description":"Hello tag description"},{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.465,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"welcome","title":"Welcome","authors":["slorber","yangshun"],"tags":["facebook","hello","docusaurus"]},"unlisted":false,"nextItem":{"title":"MDX Blog Post","permalink":"/DevContrib/blog/mdx-blog-post"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[1724],{7197:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"tutorial-extras/manage-docs-versions","title":"Manage Docs Versions","description":"Docusaurus can manage multiple versions of your docs.","source":"@site/docs/tutorial-extras/manage-docs-versions.md","sourceDirName":"tutorial-extras","slug":"/tutorial-extras/manage-docs-versions","permalink":"/DevContrib/docs/tutorial-extras/manage-docs-versions","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-extras/manage-docs-versions.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Tutorial - Extras","permalink":"/DevContrib/docs/category/tutorial---extras"},"next":{"title":"Translate your site","permalink":"/DevContrib/docs/tutorial-extras/translate-your-site"}}');var r=n(6070),i=n(6599);const t={sidebar_position:1},d="Manage Docs Versions",a={},c=[{value:"Create a docs version",id:"create-a-docs-version",level:2},{value:"Add a Version Dropdown",id:"add-a-version-dropdown",level:2},{value:"Update an existing version",id:"update-an-existing-version",level:2}];function l(e){const s={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"manage-docs-versions",children:"Manage Docs Versions"})}),"\n",(0,r.jsx)(s.p,{children:"Docusaurus can manage multiple versions of your docs."}),"\n",(0,r.jsx)(s.h2,{id:"create-a-docs-version",children:"Create a docs version"}),"\n",(0,r.jsx)(s.p,{children:"Release a version 1.0 of your project:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"npm run docusaurus docs:version 1.0\n"})}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.code,{children:"docs"})," folder is copied into ",(0,r.jsx)(s.code,{children:"versioned_docs/version-1.0"})," and ",(0,r.jsx)(s.code,{children:"versions.json"})," is created."]}),"\n",(0,r.jsx)(s.p,{children:"Your docs now have 2 versions:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"1.0"})," at ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/"})," for the version 1.0 docs"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"current"})," at ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/next/"})," for the ",(0,r.jsx)(s.strong,{children:"upcoming, unreleased docs"})]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"add-a-version-dropdown",children:"Add a Version Dropdown"}),"\n",(0,r.jsx)(s.p,{children:"To navigate seamlessly across versions, add a version dropdown."}),"\n",(0,r.jsxs)(s.p,{children:["Modify the ",(0,r.jsx)(s.code,{children:"docusaurus.config.js"})," file:"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-js",metastring:'title="docusaurus.config.js"',children:"export default {\n themeConfig: {\n navbar: {\n items: [\n // highlight-start\n {\n type: 'docsVersionDropdown',\n },\n // highlight-end\n ],\n },\n },\n};\n"})}),"\n",(0,r.jsx)(s.p,{children:"The docs version dropdown appears in your navbar:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.img,{alt:"Docs Version Dropdown",src:n(6724).A+"",width:"370",height:"302"})}),"\n",(0,r.jsx)(s.h2,{id:"update-an-existing-version",children:"Update an existing version"}),"\n",(0,r.jsx)(s.p,{children:"It is possible to edit versioned docs in their respective folder:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"versioned_docs/version-1.0/hello.md"})," updates ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/hello"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"docs/hello.md"})," updates ",(0,r.jsx)(s.code,{children:"http://localhost:3000/docs/next/hello"})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},6724:(e,s,n)=>{n.d(s,{A:()=>o});const o=n.p+"assets/images/docsVersionDropdown-35e13cbe46c9923327f30a76a90bff3b.png"},6599:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>d});var o=n(758);const r={},i=o.createContext(r);function t(e){const s=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),o.createElement(i.Provider,{value:s},e.children)}}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[9328],{7259:(t,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var o=s(2421),n=s(6070),r=s(6599);const i={slug:"first-blog-post",title:"First Blog Post",authors:["slorber","yangshun"],tags:["hola","docusaurus"]},a=void 0,l={authorsImageUrls:[void 0,void 0]},u=[];function c(t){const e={p:"p",...(0,r.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"Lorem ipsum dolor sit amet..."}),"\n",(0,n.jsx)(e.p,{children:"...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet"})]})}function p(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(c,{...t})}):c(t)}},6599:(t,e,s)=>{s.d(e,{R:()=>i,x:()=>a});var o=s(758);const n={},r=o.createContext(n);function i(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:i(t.components),o.createElement(r.Provider,{value:e},t.children)}},2421:t=>{t.exports=JSON.parse('{"permalink":"/DevContrib/blog/first-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2019-05-28-first-blog-post.md","source":"@site/blog/2019-05-28-first-blog-post.md","title":"First Blog Post","description":"Lorem ipsum dolor sit amet...","date":"2019-05-28T00:00:00.000Z","tags":[{"inline":false,"label":"Hola","permalink":"/DevContrib/blog/tags/hola","description":"Hola tag description"},{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.135,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"},{"name":"Yangshun Tay","title":"Front End Engineer @ Facebook","url":"https://github.com/yangshun","page":{"permalink":"/DevContrib/blog/authors/yangshun"},"socials":{"x":"https://x.com/yangshunz","github":"https://github.com/yangshun"},"imageURL":"https://github.com/yangshun.png","key":"yangshun"}],"frontMatter":{"slug":"first-blog-post","title":"First Blog Post","authors":["slorber","yangshun"],"tags":["hola","docusaurus"]},"unlisted":false,"prevItem":{"title":"Long Blog Post","permalink":"/DevContrib/blog/long-blog-post"}}')}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[3637],{8085:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var s=o(1632),r=o(6070),n=o(6599);const a={slug:"mdx-blog-post",title:"MDX Blog Post",authors:["slorber"],tags:["docusaurus"]},i=void 0,l={authorsImageUrls:[void 0]},u=[];function c(t){const e={a:"a",admonition:"admonition",p:"p",...(0,n.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(e.p,{children:["Blog posts support ",(0,r.jsx)(e.a,{href:"https://docusaurus.io/docs/markdown-features",children:"Docusaurus Markdown features"}),", such as ",(0,r.jsx)(e.a,{href:"https://mdxjs.com/",children:"MDX"}),"."]}),"\n",(0,r.jsx)(e.admonition,{type:"tip",children:(0,r.jsx)(e.p,{children:"Use the power of React to create interactive blog posts."})})]})}function p(t={}){const{wrapper:e}={...(0,n.R)(),...t.components};return e?(0,r.jsx)(e,{...t,children:(0,r.jsx)(c,{...t})}):c(t)}},6599:(t,e,o)=>{o.d(e,{R:()=>a,x:()=>i});var s=o(758);const r={},n=s.createContext(r);function a(t){const e=s.useContext(n);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:a(t.components),s.createElement(n.Provider,{value:e},t.children)}},1632:t=>{t.exports=JSON.parse('{"permalink":"/DevContrib/blog/mdx-blog-post","editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2021-08-01-mdx-blog-post.mdx","source":"@site/blog/2021-08-01-mdx-blog-post.mdx","title":"MDX Blog Post","description":"Blog posts support Docusaurus Markdown features, such as MDX.","date":"2021-08-01T00:00:00.000Z","tags":[{"inline":false,"label":"Docusaurus","permalink":"/DevContrib/blog/tags/docusaurus","description":"Docusaurus tag description"}],"readingTime":0.235,"hasTruncateMarker":true,"authors":[{"name":"S\xe9bastien Lorber","title":"Docusaurus maintainer","url":"https://sebastienlorber.com","page":{"permalink":"/DevContrib/blog/authors/all-sebastien-lorber-articles"},"socials":{"x":"https://x.com/sebastienlorber","linkedin":"https://www.linkedin.com/in/sebastienlorber/","github":"https://github.com/slorber","newsletter":"https://thisweekinreact.com"},"imageURL":"https://github.com/slorber.png","key":"slorber"}],"frontMatter":{"slug":"mdx-blog-post","title":"MDX Blog Post","authors":["slorber"],"tags":["docusaurus"]},"unlisted":false,"prevItem":{"title":"Welcome","permalink":"/DevContrib/blog/welcome"},"nextItem":{"title":"Long Blog Post","permalink":"/DevContrib/blog/long-blog-post"}}')}}]);
|
|
@@ -1 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkdev_contrib=self.webpackChunkdev_contrib||[]).push([[8863],{7205:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"tutorial-basics/deploy-your-site","title":"Deploy your site","description":"Docusaurus is a static-site-generator (also called Jamstack).","source":"@site/docs/tutorial-basics/deploy-your-site.md","sourceDirName":"tutorial-basics","slug":"/tutorial-basics/deploy-your-site","permalink":"/DevContrib/docs/tutorial-basics/deploy-your-site","draft":false,"unlisted":false,"editUrl":"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/tutorial-basics/deploy-your-site.md","tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5},"sidebar":"tutorialSidebar","previous":{"title":"Markdown Features","permalink":"/DevContrib/docs/tutorial-basics/markdown-features"},"next":{"title":"Congratulations!","permalink":"/DevContrib/docs/tutorial-basics/congratulations"}}');var o=t(6070),i=t(6599);const n={sidebar_position:5},a="Deploy your site",l={},c=[{value:"Build your site",id:"build-your-site",level:2},{value:"Deploy your site",id:"deploy-your-site-1",level:2}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"deploy-your-site",children:"Deploy your site"})}),"\n",(0,o.jsxs)(s.p,{children:["Docusaurus is a ",(0,o.jsx)(s.strong,{children:"static-site-generator"})," (also called ",(0,o.jsx)(s.strong,{children:(0,o.jsx)(s.a,{href:"https://jamstack.org/",children:"Jamstack"})}),")."]}),"\n",(0,o.jsxs)(s.p,{children:["It builds your site as simple ",(0,o.jsx)(s.strong,{children:"static HTML, JavaScript and CSS files"}),"."]}),"\n",(0,o.jsx)(s.h2,{id:"build-your-site",children:"Build your site"}),"\n",(0,o.jsxs)(s.p,{children:["Build your site ",(0,o.jsx)(s.strong,{children:"for production"}),":"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:"npm run build\n"})}),"\n",(0,o.jsxs)(s.p,{children:["The static files are generated in the ",(0,o.jsx)(s.code,{children:"build"})," folder."]}),"\n",(0,o.jsx)(s.h2,{id:"deploy-your-site-1",children:"Deploy your site"}),"\n",(0,o.jsx)(s.p,{children:"Test your production build locally:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:"npm run serve\n"})}),"\n",(0,o.jsxs)(s.p,{children:["The ",(0,o.jsx)(s.code,{children:"build"})," folder is now served at ",(0,o.jsx)(s.a,{href:"http://localhost:3000/",children:"http://localhost:3000/"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["You can now deploy the ",(0,o.jsx)(s.code,{children:"build"})," folder ",(0,o.jsx)(s.strong,{children:"almost anywhere"})," easily, ",(0,o.jsx)(s.strong,{children:"for free"})," or very small cost (read the ",(0,o.jsx)(s.strong,{children:(0,o.jsx)(s.a,{href:"https://docusaurus.io/docs/deployment",children:"Deployment Guide"})}),")."]})]})}function u(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},6599:(e,s,t)=>{t.d(s,{R:()=>n,x:()=>a});var r=t(758);const o={},i=r.createContext(o);function n(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]);
|
|
File diff suppressed because one or more lines are too long
@@ -1,64 +0,0 @@
|
|||||||
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
|
||||||
* @license MIT */
|
|
||||||
|
|
||||||
/*! Bundled license information:
|
|
||||||
|
|
||||||
prismjs/prism.js:
|
|
||||||
(**
|
|
||||||
* Prism: Lightweight, robust, elegant syntax highlighting
|
|
||||||
*
|
|
||||||
* @license MIT <https://opensource.org/licenses/MIT>
|
|
||||||
* @author Lea Verou <https://lea.verou.me>
|
|
||||||
* @namespace
|
|
||||||
* @public
|
|
||||||
*)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-dom.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-jsx-runtime.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* scheduler.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v16.13.1
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,75 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
main {
|
|
||||||
flex: 1 0 auto;
|
|
||||||
width: 100%;
|
|
||||||
margin: 2rem auto;
|
|
||||||
max-width: 800px;
|
|
||||||
/* stylelint-disable-next-line font-family-name-quotes */
|
|
||||||
font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info {
|
|
||||||
display: block;
|
|
||||||
margin: 2rem 0;
|
|
||||||
padding: 1.6rem 2.4rem;
|
|
||||||
border: 1px solid dodgerblue;
|
|
||||||
border-left-width: 0.5rem;
|
|
||||||
border-radius: 0.4rem;
|
|
||||||
background-color: #edf5ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #005aff;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
text-wrap: balance;
|
|
||||||
font-size: 3.4rem;
|
|
||||||
font-weight: 800;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 .rss-icon {
|
|
||||||
height: 3.2rem;
|
|
||||||
width: 3.2rem;
|
|
||||||
margin-right: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 2.2rem;
|
|
||||||
font-weight: 700;
|
|
||||||
margin-bottom: 0.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
font-size: 1.8rem;
|
|
||||||
font-weight: 700;
|
|
||||||
margin-bottom: 0.1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blog-description {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
margin-bottom: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blog-post-date {
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.4rem;
|
|
||||||
font-style: italic;
|
|
||||||
color: #797b7e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blog-post-description {
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.4rem;
|
|
||||||
color: #434349;
|
|
||||||
}
|
|
109
blog/atom.xml
109
blog/atom.xml
@@ -1,109 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
|
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
|
||||||
<id>https://snigdha-os.github.io/DevContrib/blog</id>
|
|
||||||
<title>DevContrib Blog</title>
|
|
||||||
<updated>2021-08-26T00:00:00.000Z</updated>
|
|
||||||
<generator>https://github.com/jpmonette/feed</generator>
|
|
||||||
<link rel="alternate" href="https://snigdha-os.github.io/DevContrib/blog"/>
|
|
||||||
<subtitle>DevContrib Blog</subtitle>
|
|
||||||
<icon>https://snigdha-os.github.io/DevContrib/img/favicon.ico</icon>
|
|
||||||
<entry>
|
|
||||||
<title type="html"><![CDATA[Welcome]]></title>
|
|
||||||
<id>https://snigdha-os.github.io/DevContrib/blog/welcome</id>
|
|
||||||
<link href="https://snigdha-os.github.io/DevContrib/blog/welcome"/>
|
|
||||||
<updated>2021-08-26T00:00:00.000Z</updated>
|
|
||||||
<summary type="html"><![CDATA[Docusaurus blogging features are powered by the blog plugin.]]></summary>
|
|
||||||
<content type="html"><![CDATA[<p><a href="https://docusaurus.io/docs/blog" target="_blank" rel="noopener noreferrer">Docusaurus blogging features</a> are powered by the <a href="https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog" target="_blank" rel="noopener noreferrer">blog plugin</a>.</p>
|
|
||||||
<p>Here are a few tips you might find useful.</p>
|
|
||||||
<p>Simply add Markdown files (or folders) to the <code>blog</code> directory.</p>
|
|
||||||
<p>Regular blog authors can be added to <code>authors.yml</code>.</p>
|
|
||||||
<p>The blog post date can be extracted from filenames, such as:</p>
|
|
||||||
<ul>
|
|
||||||
<li><code>2019-05-30-welcome.md</code></li>
|
|
||||||
<li><code>2019-05-30-welcome/index.md</code></li>
|
|
||||||
</ul>
|
|
||||||
<p>A blog post folder can be convenient to co-locate blog post images:</p>
|
|
||||||
<p><img decoding="async" loading="lazy" alt="Docusaurus Plushie" src="https://snigdha-os.github.io/DevContrib/assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg" width="1500" height="500" class="img_glK0"></p>
|
|
||||||
<p>The blog supports tags as well!</p>
|
|
||||||
<p><strong>And if you don't want a blog</strong>: just delete this directory, and use <code>blog: false</code> in your Docusaurus config.</p>]]></content>
|
|
||||||
<author>
|
|
||||||
<name>Sébastien Lorber</name>
|
|
||||||
<uri>https://sebastienlorber.com</uri>
|
|
||||||
</author>
|
|
||||||
<author>
|
|
||||||
<name>Yangshun Tay</name>
|
|
||||||
<uri>https://github.com/yangshun</uri>
|
|
||||||
</author>
|
|
||||||
<category label="Facebook" term="Facebook"/>
|
|
||||||
<category label="Hello" term="Hello"/>
|
|
||||||
<category label="Docusaurus" term="Docusaurus"/>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<title type="html"><![CDATA[MDX Blog Post]]></title>
|
|
||||||
<id>https://snigdha-os.github.io/DevContrib/blog/mdx-blog-post</id>
|
|
||||||
<link href="https://snigdha-os.github.io/DevContrib/blog/mdx-blog-post"/>
|
|
||||||
<updated>2021-08-01T00:00:00.000Z</updated>
|
|
||||||
<summary type="html"><![CDATA[Blog posts support Docusaurus Markdown features, such as MDX.]]></summary>
|
|
||||||
<content type="html"><![CDATA[<p>Blog posts support <a href="https://docusaurus.io/docs/markdown-features" target="_blank" rel="noopener noreferrer">Docusaurus Markdown features</a>, such as <a href="https://mdxjs.com/" target="_blank" rel="noopener noreferrer">MDX</a>.</p>
|
|
||||||
<div class="theme-admonition theme-admonition-tip admonition_L90m alert alert--success"><div class="admonitionHeading_BuPc"><span class="admonitionIcon_UIvQ"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_MFXf"><p>Use the power of React to create interactive blog posts.</p></div></div>
|
|
||||||
<!-- -->
|
|
||||||
<p>For example, use JSX to create an interactive button:</p>
|
|
||||||
<div class="language-js codeBlockContainer_kcDV theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_H2Km"><pre tabindex="0" class="prism-code language-js codeBlock_UAJg thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_o0hv"><span class="token-line" style="color:#393A34"><span class="token operator" style="color:#393A34"><</span><span class="token plain">button onClick</span><span class="token operator" style="color:#393A34">=</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token function" style="color:#d73a49">alert</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'button clicked!'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">}</span><span class="token operator" style="color:#393A34">></span><span class="token maybe-class-name">Click</span><span class="token plain"> me</span><span class="token operator" style="color:#393A34">!</span><span class="token operator" style="color:#393A34"><</span><span class="token operator" style="color:#393A34">/</span><span class="token plain">button</span><span class="token operator" style="color:#393A34">></span><br></span></code></pre><div class="buttonGroup_Oium"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_qKEU" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_Ndg2"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_BK5T"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
|
|
||||||
<button>Click me!</button>]]></content>
|
|
||||||
<author>
|
|
||||||
<name>Sébastien Lorber</name>
|
|
||||||
<uri>https://sebastienlorber.com</uri>
|
|
||||||
</author>
|
|
||||||
<category label="Docusaurus" term="Docusaurus"/>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<title type="html"><![CDATA[Long Blog Post]]></title>
|
|
||||||
<id>https://snigdha-os.github.io/DevContrib/blog/long-blog-post</id>
|
|
||||||
<link href="https://snigdha-os.github.io/DevContrib/blog/long-blog-post"/>
|
|
||||||
<updated>2019-05-29T00:00:00.000Z</updated>
|
|
||||||
<summary type="html"><![CDATA[This is the summary of a very long blog post,]]></summary>
|
|
||||||
<content type="html"><![CDATA[<p>This is the summary of a very long blog post,</p>
|
|
||||||
<p>Use a <code><!--</code> <code>truncate</code> <code>--></code> comment to limit blog post size in the list view.</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>]]></content>
|
|
||||||
<author>
|
|
||||||
<name>Yangshun Tay</name>
|
|
||||||
<uri>https://github.com/yangshun</uri>
|
|
||||||
</author>
|
|
||||||
<category label="Hello" term="Hello"/>
|
|
||||||
<category label="Docusaurus" term="Docusaurus"/>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<title type="html"><![CDATA[First Blog Post]]></title>
|
|
||||||
<id>https://snigdha-os.github.io/DevContrib/blog/first-blog-post</id>
|
|
||||||
<link href="https://snigdha-os.github.io/DevContrib/blog/first-blog-post"/>
|
|
||||||
<updated>2019-05-28T00:00:00.000Z</updated>
|
|
||||||
<summary type="html"><![CDATA[Lorem ipsum dolor sit amet...]]></summary>
|
|
||||||
<content type="html"><![CDATA[<p>Lorem ipsum dolor sit amet...</p>
|
|
||||||
<p>...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>]]></content>
|
|
||||||
<author>
|
|
||||||
<name>Sébastien Lorber</name>
|
|
||||||
<uri>https://sebastienlorber.com</uri>
|
|
||||||
</author>
|
|
||||||
<author>
|
|
||||||
<name>Yangshun Tay</name>
|
|
||||||
<uri>https://github.com/yangshun</uri>
|
|
||||||
</author>
|
|
||||||
<category label="Hola" term="Hola"/>
|
|
||||||
<category label="Docusaurus" term="Docusaurus"/>
|
|
||||||
</entry>
|
|
||||||
</feed>
|
|
@@ -1,92 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<xsl:stylesheet
|
|
||||||
version="3.0"
|
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
||||||
xmlns:atom="http://www.w3.org/2005/Atom">
|
|
||||||
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" />
|
|
||||||
|
|
||||||
<xsl:template match="/">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
|
||||||
<head>
|
|
||||||
<title>Atom Feed | <xsl:value-of
|
|
||||||
select="atom:feed/atom:title"
|
|
||||||
/></title>
|
|
||||||
<link rel="stylesheet" href="atom.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<main>
|
|
||||||
<div class="description">
|
|
||||||
<div class="info">
|
|
||||||
<strong>This is an Atom feed</strong>. Subscribe by copying the URL
|
|
||||||
from the address bar into your newsreader. Visit
|
|
||||||
<a href="https://aboutfeeds.com/">About Feeds</a> to learn more
|
|
||||||
and get started. It’s free.
|
|
||||||
</div>
|
|
||||||
<h1>
|
|
||||||
<div class="rss-icon">
|
|
||||||
<svg
|
|
||||||
version="1.1"
|
|
||||||
id="Capa_1"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
viewBox="0 0 455.731 455.731"
|
|
||||||
xml:space="preserve">
|
|
||||||
<g>
|
|
||||||
<rect
|
|
||||||
x="0"
|
|
||||||
y="0"
|
|
||||||
style="fill: #f78422"
|
|
||||||
width="455.731"
|
|
||||||
height="455.731"
|
|
||||||
/>
|
|
||||||
<g>
|
|
||||||
<path
|
|
||||||
style="fill: #ffffff"
|
|
||||||
d="M296.208,159.16C234.445,97.397,152.266,63.382,64.81,63.382v64.348
|
|
||||||
c70.268,0,136.288,27.321,185.898,76.931c49.609,49.61,76.931,115.63,76.931,185.898h64.348
|
|
||||||
C391.986,303.103,357.971,220.923,296.208,159.16z"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
style="fill: #ffffff"
|
|
||||||
d="M64.143,172.273v64.348c84.881,0,153.938,69.056,153.938,153.939h64.348
|
|
||||||
C282.429,270.196,184.507,172.273,64.143,172.273z"
|
|
||||||
/>
|
|
||||||
<circle
|
|
||||||
style="fill: #ffffff"
|
|
||||||
cx="109.833"
|
|
||||||
cy="346.26"
|
|
||||||
r="46.088"
|
|
||||||
/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
<xsl:value-of select="atom:feed/atom:title" />
|
|
||||||
</h1>
|
|
||||||
<p class="blog-description">
|
|
||||||
<xsl:value-of select="atom:feed/atom:subtitle" />
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<h2>Recent Posts</h2>
|
|
||||||
<div class="blog-posts">
|
|
||||||
<xsl:for-each select="atom:feed/atom:entry">
|
|
||||||
<div class="blog-post">
|
|
||||||
<h3><a href="{atom:link[@rel='alternate']/@href}"><xsl:value-of
|
|
||||||
select="atom:title"
|
|
||||||
/></a></h3>
|
|
||||||
<div class="blog-post-date">
|
|
||||||
Published on <xsl:value-of
|
|
||||||
select="substring(atom:updated,0,11)"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="blog-post-description">
|
|
||||||
<xsl:value-of select="atom:summary" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</xsl:for-each>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
</xsl:template>
|
|
||||||
</xsl:stylesheet>
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
75
blog/rss.css
75
blog/rss.css
@@ -1,75 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
main {
|
|
||||||
flex: 1 0 auto;
|
|
||||||
width: 100%;
|
|
||||||
margin: 2rem auto;
|
|
||||||
max-width: 800px;
|
|
||||||
/* stylelint-disable-next-line font-family-name-quotes */
|
|
||||||
font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info {
|
|
||||||
display: block;
|
|
||||||
margin: 2rem 0;
|
|
||||||
padding: 1.6rem 2.4rem;
|
|
||||||
border: 1px solid dodgerblue;
|
|
||||||
border-left-width: 0.5rem;
|
|
||||||
border-radius: 0.4rem;
|
|
||||||
background-color: #edf5ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #005aff;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
text-wrap: balance;
|
|
||||||
font-size: 3.4rem;
|
|
||||||
font-weight: 800;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 .rss-icon {
|
|
||||||
height: 3.2rem;
|
|
||||||
width: 3.2rem;
|
|
||||||
margin-right: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 2.2rem;
|
|
||||||
font-weight: 700;
|
|
||||||
margin-bottom: 0.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
font-size: 1.8rem;
|
|
||||||
font-weight: 700;
|
|
||||||
margin-bottom: 0.1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blog-description {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
margin-bottom: 0.6rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blog-post-date {
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.4rem;
|
|
||||||
font-style: italic;
|
|
||||||
color: #797b7e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.blog-post-description {
|
|
||||||
font-size: 1rem;
|
|
||||||
line-height: 1.4rem;
|
|
||||||
color: #434349;
|
|
||||||
}
|
|
87
blog/rss.xml
87
blog/rss.xml
@@ -1,87 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
|
|
||||||
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
|
||||||
<channel>
|
|
||||||
<title>DevContrib Blog</title>
|
|
||||||
<link>https://snigdha-os.github.io/DevContrib/blog</link>
|
|
||||||
<description>DevContrib Blog</description>
|
|
||||||
<lastBuildDate>Thu, 26 Aug 2021 00:00:00 GMT</lastBuildDate>
|
|
||||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
|
||||||
<generator>https://github.com/jpmonette/feed</generator>
|
|
||||||
<language>en</language>
|
|
||||||
<item>
|
|
||||||
<title><![CDATA[Welcome]]></title>
|
|
||||||
<link>https://snigdha-os.github.io/DevContrib/blog/welcome</link>
|
|
||||||
<guid>https://snigdha-os.github.io/DevContrib/blog/welcome</guid>
|
|
||||||
<pubDate>Thu, 26 Aug 2021 00:00:00 GMT</pubDate>
|
|
||||||
<description><![CDATA[Docusaurus blogging features are powered by the blog plugin.]]></description>
|
|
||||||
<content:encoded><![CDATA[<p><a href="https://docusaurus.io/docs/blog" target="_blank" rel="noopener noreferrer">Docusaurus blogging features</a> are powered by the <a href="https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog" target="_blank" rel="noopener noreferrer">blog plugin</a>.</p>
|
|
||||||
<p>Here are a few tips you might find useful.</p>
|
|
||||||
<p>Simply add Markdown files (or folders) to the <code>blog</code> directory.</p>
|
|
||||||
<p>Regular blog authors can be added to <code>authors.yml</code>.</p>
|
|
||||||
<p>The blog post date can be extracted from filenames, such as:</p>
|
|
||||||
<ul>
|
|
||||||
<li><code>2019-05-30-welcome.md</code></li>
|
|
||||||
<li><code>2019-05-30-welcome/index.md</code></li>
|
|
||||||
</ul>
|
|
||||||
<p>A blog post folder can be convenient to co-locate blog post images:</p>
|
|
||||||
<p><img decoding="async" loading="lazy" alt="Docusaurus Plushie" src="https://snigdha-os.github.io/DevContrib/assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg" width="1500" height="500" class="img_glK0"></p>
|
|
||||||
<p>The blog supports tags as well!</p>
|
|
||||||
<p><strong>And if you don't want a blog</strong>: just delete this directory, and use <code>blog: false</code> in your Docusaurus config.</p>]]></content:encoded>
|
|
||||||
<category>Facebook</category>
|
|
||||||
<category>Hello</category>
|
|
||||||
<category>Docusaurus</category>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<title><![CDATA[MDX Blog Post]]></title>
|
|
||||||
<link>https://snigdha-os.github.io/DevContrib/blog/mdx-blog-post</link>
|
|
||||||
<guid>https://snigdha-os.github.io/DevContrib/blog/mdx-blog-post</guid>
|
|
||||||
<pubDate>Sun, 01 Aug 2021 00:00:00 GMT</pubDate>
|
|
||||||
<description><![CDATA[Blog posts support Docusaurus Markdown features, such as MDX.]]></description>
|
|
||||||
<content:encoded><![CDATA[<p>Blog posts support <a href="https://docusaurus.io/docs/markdown-features" target="_blank" rel="noopener noreferrer">Docusaurus Markdown features</a>, such as <a href="https://mdxjs.com/" target="_blank" rel="noopener noreferrer">MDX</a>.</p>
|
|
||||||
<div class="theme-admonition theme-admonition-tip admonition_L90m alert alert--success"><div class="admonitionHeading_BuPc"><span class="admonitionIcon_UIvQ"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_MFXf"><p>Use the power of React to create interactive blog posts.</p></div></div>
|
|
||||||
<!-- -->
|
|
||||||
<p>For example, use JSX to create an interactive button:</p>
|
|
||||||
<div class="language-js codeBlockContainer_kcDV theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_H2Km"><pre tabindex="0" class="prism-code language-js codeBlock_UAJg thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_o0hv"><span class="token-line" style="color:#393A34"><span class="token operator" style="color:#393A34"><</span><span class="token plain">button onClick</span><span class="token operator" style="color:#393A34">=</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token function" style="color:#d73a49">alert</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'button clicked!'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">}</span><span class="token operator" style="color:#393A34">></span><span class="token maybe-class-name">Click</span><span class="token plain"> me</span><span class="token operator" style="color:#393A34">!</span><span class="token operator" style="color:#393A34"><</span><span class="token operator" style="color:#393A34">/</span><span class="token plain">button</span><span class="token operator" style="color:#393A34">></span><br></span></code></pre><div class="buttonGroup_Oium"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_qKEU" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_Ndg2"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_BK5T"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
|
|
||||||
<button>Click me!</button>]]></content:encoded>
|
|
||||||
<category>Docusaurus</category>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<title><![CDATA[Long Blog Post]]></title>
|
|
||||||
<link>https://snigdha-os.github.io/DevContrib/blog/long-blog-post</link>
|
|
||||||
<guid>https://snigdha-os.github.io/DevContrib/blog/long-blog-post</guid>
|
|
||||||
<pubDate>Wed, 29 May 2019 00:00:00 GMT</pubDate>
|
|
||||||
<description><![CDATA[This is the summary of a very long blog post,]]></description>
|
|
||||||
<content:encoded><![CDATA[<p>This is the summary of a very long blog post,</p>
|
|
||||||
<p>Use a <code><!--</code> <code>truncate</code> <code>--></code> comment to limit blog post size in the list view.</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
|
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>]]></content:encoded>
|
|
||||||
<category>Hello</category>
|
|
||||||
<category>Docusaurus</category>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<title><![CDATA[First Blog Post]]></title>
|
|
||||||
<link>https://snigdha-os.github.io/DevContrib/blog/first-blog-post</link>
|
|
||||||
<guid>https://snigdha-os.github.io/DevContrib/blog/first-blog-post</guid>
|
|
||||||
<pubDate>Tue, 28 May 2019 00:00:00 GMT</pubDate>
|
|
||||||
<description><![CDATA[Lorem ipsum dolor sit amet...]]></description>
|
|
||||||
<content:encoded><![CDATA[<p>Lorem ipsum dolor sit amet...</p>
|
|
||||||
<p>...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>]]></content:encoded>
|
|
||||||
<category>Hola</category>
|
|
||||||
<category>Docusaurus</category>
|
|
||||||
</item>
|
|
||||||
</channel>
|
|
||||||
</rss>
|
|
86
blog/rss.xsl
86
blog/rss.xsl
@@ -1,86 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<xsl:stylesheet
|
|
||||||
version="3.0"
|
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
||||||
xmlns:atom="http://www.w3.org/2005/Atom">
|
|
||||||
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" />
|
|
||||||
|
|
||||||
<xsl:template match="/">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
|
||||||
<head>
|
|
||||||
<title>RSS Feed | <xsl:value-of select="rss/channel/title" /></title>
|
|
||||||
<link rel="stylesheet" href="rss.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<main>
|
|
||||||
<div class="description">
|
|
||||||
<div class="info">
|
|
||||||
<strong>This is an RSS feed</strong>. Subscribe by copying the URL
|
|
||||||
from the address bar into your newsreader. Visit
|
|
||||||
<a href="https://aboutfeeds.com/">About Feeds</a> to learn more
|
|
||||||
and get started. It’s free.
|
|
||||||
</div>
|
|
||||||
<h1>
|
|
||||||
<div class="rss-icon">
|
|
||||||
<svg
|
|
||||||
version="1.1"
|
|
||||||
id="Capa_1"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
viewBox="0 0 455.731 455.731"
|
|
||||||
xml:space="preserve">
|
|
||||||
<g>
|
|
||||||
<rect
|
|
||||||
x="0"
|
|
||||||
y="0"
|
|
||||||
style="fill: #f78422"
|
|
||||||
width="455.731"
|
|
||||||
height="455.731"
|
|
||||||
/>
|
|
||||||
<g>
|
|
||||||
<path
|
|
||||||
style="fill: #ffffff"
|
|
||||||
d="M296.208,159.16C234.445,97.397,152.266,63.382,64.81,63.382v64.348
|
|
||||||
c70.268,0,136.288,27.321,185.898,76.931c49.609,49.61,76.931,115.63,76.931,185.898h64.348
|
|
||||||
C391.986,303.103,357.971,220.923,296.208,159.16z"
|
|
||||||
/>
|
|
||||||
<path
|
|
||||||
style="fill: #ffffff"
|
|
||||||
d="M64.143,172.273v64.348c84.881,0,153.938,69.056,153.938,153.939h64.348
|
|
||||||
C282.429,270.196,184.507,172.273,64.143,172.273z"
|
|
||||||
/>
|
|
||||||
<circle
|
|
||||||
style="fill: #ffffff"
|
|
||||||
cx="109.833"
|
|
||||||
cy="346.26"
|
|
||||||
r="46.088"
|
|
||||||
/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</div>
|
|
||||||
<xsl:value-of select="rss/channel/title" />
|
|
||||||
</h1>
|
|
||||||
<p class="blog-description">
|
|
||||||
<xsl:value-of select="rss/channel/description" />
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<h2>Recent Posts</h2>
|
|
||||||
<div class="blog-posts">
|
|
||||||
<xsl:for-each select="rss/channel/item">
|
|
||||||
<div class="blog-post">
|
|
||||||
<h3><a href="{link}"><xsl:value-of select="title" /></a></h3>
|
|
||||||
<div class="blog-post-date">
|
|
||||||
Published on <xsl:value-of select="substring(pubDate,0,17)" />
|
|
||||||
</div>
|
|
||||||
<div class="blog-post-description">
|
|
||||||
<xsl:value-of select="description" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</xsl:for-each>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
</xsl:template>
|
|
||||||
</xsl:stylesheet>
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
81
config.sh
Executable file
81
config.sh
Executable file
@@ -0,0 +1,81 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Author: Eshan Roy <eshan@snigdhaos.org>
|
||||||
|
# Author URI: https://eshanized.github.io
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Function to display usage instructions
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: ${0##*/} [--email <email>] [--username <username>] [-h]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--email <email> Set the GitHub user email.
|
||||||
|
--username <username> Set the GitHub username.
|
||||||
|
-h, --help Display this help message.
|
||||||
|
|
||||||
|
Description:
|
||||||
|
This script configures your GitHub user.email and user.name settings globally.
|
||||||
|
If no arguments are provided, it will prompt for input interactively.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
${0##*/} --email user@example.com --username "Eshan Roy"
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse command-line arguments
|
||||||
|
while [[ "$#" -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
--email)
|
||||||
|
EMAIL="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--username)
|
||||||
|
USERNAME="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown argument: $1"
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Prompt for email if not provided
|
||||||
|
if [[ -z "${EMAIL:-}" ]]; then
|
||||||
|
read -p "Enter your GitHub Email: " EMAIL
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prompt for username if not provided
|
||||||
|
if [[ -z "${USERNAME:-}" ]]; then
|
||||||
|
read -p "Enter your GitHub Username: " USERNAME
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Validate email format
|
||||||
|
if ! [[ "$EMAIL" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ]]; then
|
||||||
|
echo "Error: Invalid email format: $EMAIL"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Validate username (allowing alphanumerics, dashes, underscores, and dots)
|
||||||
|
if ! [[ "$USERNAME" =~ ^[a-zA-Z0-9._-]+$ ]]; then
|
||||||
|
echo "Error: Invalid username format: $USERNAME"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Configure GitHub global settings
|
||||||
|
git config --global user.email "$EMAIL"
|
||||||
|
git config --global user.name "$USERNAME"
|
||||||
|
|
||||||
|
# Display success message
|
||||||
|
echo -e "\033[1;32mGitHub configuration setup successful!\033[0m"
|
||||||
|
echo " User Email: $EMAIL"
|
||||||
|
echo " Username: $USERNAME"
|
||||||
|
echo -e "\033[1;36mYou can verify this configuration using the following commands:\033[0m"
|
||||||
|
echo " git config --global user.email"
|
||||||
|
echo " git config --global user.name"
|
46
docs/01-introduction/01-overview.md
Normal file
46
docs/01-introduction/01-overview.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
slug: /
|
||||||
|
---
|
||||||
|
# Overview
|
||||||
|
|
||||||
|
Snigdha OS Developer Documentation (DevDocs) is your comprehensive guide to creating, customizing, and optimizing applications for the Snigdha OS ecosystem. Designed to empower developers at every stage, DevDocs combines powerful tools, clear guidance, and actionable insights to help you bring your innovative ideas to life.
|
||||||
|
|
||||||
|
### Key Features and Details
|
||||||
|
|
||||||
|
1. **Comprehensive Getting Started Guides**
|
||||||
|
- Step-by-step tutorials to set up your Snigdha OS development environment.
|
||||||
|
- Clear instructions for SDK installation and integration.
|
||||||
|
|
||||||
|
2. **Extensive Framework and API Documentation**
|
||||||
|
- Deep dive into Snigdha OS’s core frameworks and APIs.
|
||||||
|
- Explore features like multi-threading, hardware integration, and AI/ML capabilities.
|
||||||
|
|
||||||
|
3. **UI/UX Design Resources**
|
||||||
|
- Detailed design principles for creating consistent and user-friendly interfaces.
|
||||||
|
- Ready-to-use templates, themes, and style guides.
|
||||||
|
|
||||||
|
4. **Development Tools and Resources**
|
||||||
|
- Access to IDE plugins, debugging tools, and performance profilers.
|
||||||
|
- Pre-built code snippets and fully functional sample projects to accelerate development.
|
||||||
|
|
||||||
|
5. **Advanced Topics for Pro Developers**
|
||||||
|
- Tutorials on performance tuning, cross-platform compatibility, and security best practices.
|
||||||
|
- Insights into advanced features like IoT integration, voice commands, and more.
|
||||||
|
|
||||||
|
6. **Robust Testing and Debugging Frameworks**
|
||||||
|
- Tools tailored to test Snigdha OS applications efficiently.
|
||||||
|
- Guidance for resolving issues and improving app stability.
|
||||||
|
|
||||||
|
7. **Publishing and Distribution**
|
||||||
|
- Step-by-step guidance for submitting apps to the Snigdha App Store.
|
||||||
|
- Tips on app review compliance, distribution strategies, and user acquisition.
|
||||||
|
|
||||||
|
### Why Choose Snigdha OS DevDocs?
|
||||||
|
|
||||||
|
- **User-Centric Approach**: Snigdha OS is built with speed, reliability, and seamless user experiences in mind.
|
||||||
|
- **Innovative Tools**: Leverage cutting-edge tools and frameworks to build modern applications.
|
||||||
|
- **Community and Support**: Join a vibrant developer community and access dedicated support channels for assistance.
|
||||||
|
|
||||||
|
Explore the resources, connect with other developers, and bring your creative vision to life with Snigdha OS Developer Documentation. Together, we’ll redefine what’s possible in application development.
|
||||||
|
|
48
docs/01-introduction/02-why-arch.md
Normal file
48
docs/01-introduction/02-why-arch.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# Why Arch?
|
||||||
|
|
||||||
|
In the world of Linux distributions, choosing a base system is a critical decision. It shapes the user's experience, the flexibility of the OS, and the overall performance. For Snighda OS, this choice was made with precision and thoughtfulness—*Arch Linux* was chosen as the base. But why Arch Linux? Let’s dive into the reasons behind this decision.
|
||||||
|
|
||||||
|
|
||||||
|
### **1. Rolling Release Model**
|
||||||
|
Arch Linux is known for its rolling release model, which means that instead of waiting for major version updates, users get access to the latest software and features continuously. This aligns perfectly with the philosophy of Snighda OS, which prioritizes the latest, cutting-edge tools and technologies. With Arch as the base, Snighda OS users enjoy a continuously updated system, keeping their environments fresh and relevant with minimal hassle.
|
||||||
|
|
||||||
|
### **2. KISS Principle**
|
||||||
|
The “Keep It Simple, Stupid” (KISS) principle is one of the core philosophies behind Arch Linux. Arch avoids unnecessary bloat, giving users the freedom to build their systems from the ground up. Snighda OS inherits this philosophy, aiming to provide an uncluttered environment with only the essential components, allowing users to customize and build their ideal system without distractions.
|
||||||
|
|
||||||
|
By adhering to the KISS principle, Snighda OS offers flexibility, simplicity, and control, ensuring users get exactly what they need, without any unwanted surprises.
|
||||||
|
|
||||||
|
### **3. Flexibility and Customization**
|
||||||
|
Arch Linux offers an incredible amount of flexibility, which was a critical factor in the decision to base Snighda OS on it. With Arch, users have the power to configure their system exactly how they want. From package installation to the desktop environment and beyond, Arch leaves the ball in the user's court.
|
||||||
|
|
||||||
|
Snighda OS aims to follow in these footsteps, offering users an ultra-flexible platform that they can tweak and modify to meet their specific needs. Whether you're a developer, content creator, or just a Linux enthusiast, the customization options are nearly limitless.
|
||||||
|
|
||||||
|
### **4. Access to the Arch User Repository (AUR)**
|
||||||
|
The Arch User Repository (AUR) is one of the most celebrated aspects of Arch Linux. It’s a massive collection of community-contributed packages, making almost any software easily accessible. For Snighda OS, access to AUR means users have access to a vast array of applications that are not included in the official repositories.
|
||||||
|
|
||||||
|
This is especially important for users who need software that may not be available in traditional package managers or official repos. With AUR, Snighda OS users benefit from an extensive library of software, extending the capabilities of their operating systems to almost limitless possibilities.
|
||||||
|
|
||||||
|
### **5. Documentation and Community Support**
|
||||||
|
Arch Linux is often praised for its exceptional documentation, known as the *Arch Wiki*. This treasure trove of knowledge offers clear, concise guides on how to install, configure, and troubleshoot almost any aspect of the system. When Snighda OS adopted Arch Linux as its base, it also inherited this wealth of documentation, which is an invaluable resource for both new and experienced users.
|
||||||
|
|
||||||
|
Additionally, Arch Linux has a vibrant and active community, and this community support extends to Snighda OS. Users can seek help and share knowledge, ensuring that they never feel alone in their journey with Snighda OS.
|
||||||
|
|
||||||
|
### **6. Stability and Performance**
|
||||||
|
Despite its reputation as a "cutting-edge" distro, Arch Linux is remarkably stable. Its rolling release model ensures that users always get the latest software updates, but the Arch maintainers thoroughly vet these updates for stability before they are pushed out. This balance between being on the cutting edge and ensuring system stability makes Arch an ideal choice for Snighda OS.
|
||||||
|
|
||||||
|
For users of Snighda OS, this means that they can enjoy performance optimizations and the latest software without sacrificing system reliability.
|
||||||
|
|
||||||
|
### **7. The Power of Pacman**
|
||||||
|
One of the standout features of Arch Linux is its package manager—*Pacman*. Pacman is lightweight, fast, and highly efficient, which ensures smooth and quick software management. Snighda OS users benefit from Pacman’s simplicity and speed, making package installation, updates, and removals a breeze.
|
||||||
|
|
||||||
|
Additionally, Arch’s package management system integrates seamlessly with AUR, making it easy for Snighda OS users to install software from both official and community repositories in just a few simple commands.
|
||||||
|
|
||||||
|
### **In Conclusion: Why Arch?**
|
||||||
|
The decision to base Snighda OS on Arch Linux was made with several goals in mind: flexibility, simplicity, and performance. By choosing Arch as the foundation, Snighda OS offers an open, customizable platform with continuous updates, access to a vast library of software, and robust community support. Whether you are an experienced Linux user or a newcomer, Snighda OS provides a versatile and stable environment with Arch’s inherent power.
|
||||||
|
|
||||||
|
Ultimately, Snighda OS is more than just an operating system—it’s a community-driven project built upon the principles of choice, control, and simplicity. With Arch Linux at its core, Snighda OS ensures that users have all the tools and freedom they need to craft their ideal computing experience.
|
||||||
|
|
||||||
|
> Feel free to join the Snighda OS community and explore how Arch’s robustness and Snighda’s flexibility can work together for your perfect Linux setup!*
|
8
docs/01-introduction/_category_.json
Normal file
8
docs/01-introduction/_category_.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"label": "Introduction",
|
||||||
|
"position": 1,
|
||||||
|
"link": {
|
||||||
|
"type": "generated-index",
|
||||||
|
"description": "An introductory guide to Snigdha OS Developer Docs, covering the basics to get you started quickly and effectively."
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
144
docs/snigdhaos-pkgbuilds/01-introduction.md
Normal file
144
docs/snigdhaos-pkgbuilds/01-introduction.md
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
# Introduction
|
||||||
|
|
||||||
|
A **PKGBUILD** is a script used in Arch-based Linux distributions, including Snigdha OS, to automate the process of building software packages from source code. It provides a standardized method for compiling, packaging, and installing software, ensuring consistency and reproducibility across different systems. PKGBUILDs make it easier for users and developers to install software that might not be available in the official repositories or Arch User Repository (AUR). It also allows users to modify build processes, customize software installations, and contribute packages to the community.
|
||||||
|
|
||||||
|
PKGBUILDs are an essential part of the Arch ecosystem, allowing users to take full control over the software installation process, compile software tailored to their needs, and ensure the highest level of compatibility. This guide will break down the components, usage, and best practices for working with PKGBUILDs.
|
||||||
|
|
||||||
|
|
||||||
|
### **Key Components of a PKGBUILD**
|
||||||
|
|
||||||
|
A PKGBUILD script is composed of several key components that define how a software package is built, installed, and configured. Understanding these components is crucial when writing or modifying a PKGBUILD.
|
||||||
|
|
||||||
|
1. **pkgname**:
|
||||||
|
This field specifies the name of the package being created. For example, `pkgname=vim` indicates the package is Vim.
|
||||||
|
|
||||||
|
2. **pkgver**:
|
||||||
|
The version of the software being packaged. For example, `pkgver=8.2` specifies the version number of the Vim package.
|
||||||
|
|
||||||
|
3. **pkgrel**:
|
||||||
|
This is the release number for the specified version of the package. It's used to distinguish between different releases of the same version of the software. The default is often `pkgrel=1`.
|
||||||
|
|
||||||
|
4. **source**:
|
||||||
|
This is a list of URLs or file paths pointing to the source code of the software. This is where `makepkg` will fetch the software from, typically via Git or a tarball.
|
||||||
|
|
||||||
|
5. **md5sums**:
|
||||||
|
These are checksums used to verify the integrity of the downloaded source files. Each source URL or file should have a corresponding checksum. This helps ensure the integrity of the software and that the downloaded files haven’t been tampered with.
|
||||||
|
|
||||||
|
6. **depends**:
|
||||||
|
A list of dependencies required to build and run the software. For example, `depends=(gcc make)` specifies that the software needs GCC and Make to be compiled.
|
||||||
|
|
||||||
|
7. **makedepends**:
|
||||||
|
This list defines dependencies needed only during the build process. These dependencies are not required at runtime but are essential to building the package.
|
||||||
|
|
||||||
|
8. **build()**:
|
||||||
|
This function contains the steps required to compile the software from source. It usually includes commands like `./configure`, `make`, and `make install`. These steps will be executed when you run the `makepkg` command.
|
||||||
|
|
||||||
|
9. **package()**:
|
||||||
|
After the software is compiled, this function installs it into the appropriate directories on the system. It ensures that the software is installed in the correct locations, such as `/usr/bin` for executables or `/usr/lib` for libraries.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **How a PKGBUILD Works**
|
||||||
|
|
||||||
|
PKGBUILDs automate the entire process of turning source code into an installable package, which can then be used by the system's package manager, `pacman`. Here’s how the process typically works:
|
||||||
|
|
||||||
|
1. **Writing a PKGBUILD**:
|
||||||
|
When a package is not available in the official repositories or AUR, you may need to write a PKGBUILD to compile it from source. The PKGBUILD contains all the necessary metadata and instructions on how to build and install the software.
|
||||||
|
|
||||||
|
2. **Building the Package**:
|
||||||
|
After the PKGBUILD is written, you can use the `makepkg` command to build the package. This command follows the instructions in the PKGBUILD script to:
|
||||||
|
- Download the source code.
|
||||||
|
- Verify the integrity of the files using the provided checksums.
|
||||||
|
- Compile the software using the commands defined in the `build()` function.
|
||||||
|
- Package the compiled files into a `.pkg.tar.zst` file, which is a compressed package that can be installed on the system.
|
||||||
|
|
||||||
|
The `makepkg` command is run in the directory where the PKGBUILD script is located. It creates the package and saves it in the same directory.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
```bash
|
||||||
|
makepkg
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Installing the Package**:
|
||||||
|
Once the package is built, it can be installed using `pacman`, the package manager. The package can be installed with the `-U` flag, which installs a local package:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -U package-name.pkg.tar.zst
|
||||||
|
```
|
||||||
|
|
||||||
|
After installation, the software behaves like any other package installed from the official repositories.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Why Use a PKGBUILD?**
|
||||||
|
|
||||||
|
PKGBUILDs offer several advantages to users and developers:
|
||||||
|
|
||||||
|
1. **Customization**:
|
||||||
|
A PKGBUILD allows you to modify the build process. You can change compilation flags, apply patches, or add custom configurations to the software. This makes it possible to tailor the software for your specific needs.
|
||||||
|
|
||||||
|
2. **Consistency**:
|
||||||
|
Since a PKGBUILD defines the exact steps for building and installing the software, it ensures that the software is built in the same way every time. This leads to consistency across different installations and users, which is essential for debugging and maintenance.
|
||||||
|
|
||||||
|
3. **Reproducibility**:
|
||||||
|
PKGBUILDs enable reproducibility in software builds. This is especially useful in development environments where it’s important to reproduce the same build on multiple machines or after a certain period of time. Using the same PKGBUILD ensures that the same software version is built in exactly the same way.
|
||||||
|
|
||||||
|
4. **Community Contributions**:
|
||||||
|
Many software packages are not available in the official repositories but are maintained by the community in the Arch User Repository (AUR). These packages are provided as PKGBUILDs, allowing users to access a wide range of software. If you encounter software that is not available, you can write a PKGBUILD and share it with the community.
|
||||||
|
|
||||||
|
5. **Security**:
|
||||||
|
PKGBUILDs ensure that the source code has not been tampered with by verifying it against checksums. This helps maintain the integrity of the software, ensuring that the version being installed is exactly what the developer intended.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Working with PKGBUILDs**
|
||||||
|
|
||||||
|
Here are some useful tips when working with PKGBUILDs:
|
||||||
|
|
||||||
|
1. **Review the PKGBUILD**:
|
||||||
|
Always review the PKGBUILD before running `makepkg`. This ensures you understand how the package will be built and whether it includes any unnecessary or insecure steps. Reviewing the PKGBUILD helps you spot potential issues or security risks.
|
||||||
|
|
||||||
|
2. **Modify a PKGBUILD**:
|
||||||
|
You may need to modify a PKGBUILD to suit your needs. For instance, you might want to change build options or add custom patches. Always make sure the modifications are compatible with the software’s build process to avoid issues during compilation.
|
||||||
|
|
||||||
|
3. **Test a PKGBUILD**:
|
||||||
|
Before sharing or using a PKGBUILD, it’s a good idea to test it in a clean environment to ensure that the software builds correctly and installs as expected. You can use virtual machines or Docker containers to test builds.
|
||||||
|
|
||||||
|
4. **Stay Updated**:
|
||||||
|
PKGBUILDs should be updated regularly, especially if the software they build gets updated. Keeping your PKGBUILDs up-to-date ensures you get the latest features, security fixes, and bug patches.
|
||||||
|
|
||||||
|
5. **Use the Arch Wiki**:
|
||||||
|
The Arch Wiki has an extensive and helpful guide on PKGBUILDs. If you run into issues or need further clarification on any PKGBUILD fields, the Wiki is an excellent resource.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Useful Links**
|
||||||
|
|
||||||
|
1. **Arch Wiki - PKGBUILD**:
|
||||||
|
[https://wiki.archlinux.org/title/PKGBUILD](https://wiki.archlinux.org/title/PKGBUILD)
|
||||||
|
The official Arch Wiki provides detailed information about PKGBUILDs, including syntax, examples, and best practices.
|
||||||
|
|
||||||
|
2. **Arch Wiki - Creating Packages**:
|
||||||
|
[https://wiki.archlinux.org/title/Creating_packages](https://wiki.archlinux.org/title/Creating_packages)
|
||||||
|
A comprehensive guide on creating packages using PKGBUILDs, perfect for beginners and advanced users.
|
||||||
|
|
||||||
|
3. **AUR (Arch User Repository)**:
|
||||||
|
[https://aur.archlinux.org](https://aur.archlinux.org)
|
||||||
|
The AUR is a community-driven repository where users can submit PKGBUILDs for software not included in the official Arch repositories.
|
||||||
|
|
||||||
|
4. **Makepkg Manual**:
|
||||||
|
[https://man.archlinux.org/man/makepkg.8](https://man.archlinux.org/man/makepkg.8)
|
||||||
|
The manual for `makepkg`, which is used to build packages from a PKGBUILD.
|
||||||
|
|
||||||
|
5. **PKGBUILD Cheat Sheet**:
|
||||||
|
[https://gist.github.com/jclement/ef6a53f74a3e6fd02272](https://gist.github.com/jclement/ef6a53f74a3e6fd02272)
|
||||||
|
A helpful cheat sheet for PKGBUILDs that includes examples of various PKGBUILD fields and usage.
|
||||||
|
|
||||||
|
|
||||||
|
### **Conclusion**
|
||||||
|
|
||||||
|
PKGBUILDs are an essential part of working with Snigdha OS and other Arch-based systems. They provide a powerful way to automate the process of building, customizing, and installing software from source code. By understanding how PKGBUILDs work, you can take full control over your software installations, making them more tailored to your specific needs. Additionally, PKGBUILDs ensure consistency, reproducibility, and security in the software build process, making them an indispensable tool for developers and advanced users. Whether you’re writing your own PKGBUILD or modifying an existing one, mastering this tool is key to fully utilizing the power of Snigdha OS and Arch-based systems.
|
170
docs/snigdhaos-pkgbuilds/02-example-pkgbuild.md
Normal file
170
docs/snigdhaos-pkgbuilds/02-example-pkgbuild.md
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
# Example
|
||||||
|
|
||||||
|
A **PKGBUILD** script is a simple shell script used by Arch-based Linux distributions (such as Snigdha OS) to define how a package is built from source and installed onto the system. Below is an example of a basic **PKGBUILD** script with explanations for each part.
|
||||||
|
|
||||||
|
### **Example of a Simple PKGBUILD Script:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Maintainer: Your Name <youremail@example.com>
|
||||||
|
pkgname=mysoftware
|
||||||
|
pkgver=1.0
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="A simple software example"
|
||||||
|
arch=('x86_64')
|
||||||
|
url="https://example.com/mysoftware"
|
||||||
|
license=('GPL')
|
||||||
|
depends=('glibc')
|
||||||
|
source=("https://example.com/mysoftware-${pkgver}.tar.gz")
|
||||||
|
sha256sums=('abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890')
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/mysoftware-${pkgver}"
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/mysoftware-${pkgver}"
|
||||||
|
make DESTDIR="$pkgdir" install
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Explanation of the PKGBUILD Components**
|
||||||
|
|
||||||
|
1. **pkgname**:
|
||||||
|
This is the name of the package you're creating. In this example, it’s set to `mysoftware`. When the package is installed, it will be referred to by this name in the system.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pkgname=mysoftware
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **pkgver**:
|
||||||
|
This is the version of the software you're packaging. For example, here we use `pkgver=1.0`, which refers to the first version of the software.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pkgver=1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **pkgrel**:
|
||||||
|
This is the release number of the package. If you make changes to the PKGBUILD but don't change the software version (e.g., a patch or configuration change), you would increment this number. For this example, it's set to `pkgrel=1`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pkgrel=1
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **pkgdesc**:
|
||||||
|
A short description of what the software does. In this case, we use `"A simple software example"`, but you should provide a meaningful description relevant to the software.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pkgdesc="A simple software example"
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **arch**:
|
||||||
|
This field specifies which architectures the package is compatible with. For most modern systems, you’ll typically see `arch=('x86_64')`, which supports 64-bit systems. Other options might include `i686` for 32-bit systems.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
arch=('x86_64')
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **url**:
|
||||||
|
This is the website of the software. It provides users with more information about the software, updates, and support. In the example, we use `"https://example.com/mysoftware"`, but you should replace this with the actual URL of the project.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
url="https://example.com/mysoftware"
|
||||||
|
```
|
||||||
|
|
||||||
|
7. **license**:
|
||||||
|
The license under which the software is distributed. In this case, we use the `GPL` license. You can check the software's documentation to confirm which license applies.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
license=('GPL')
|
||||||
|
```
|
||||||
|
|
||||||
|
8. **depends**:
|
||||||
|
This field specifies any dependencies required by the software in order to run. For example, this software depends on `glibc` (the GNU C Library). These dependencies must be installed for the software to run correctly.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
depends=('glibc')
|
||||||
|
```
|
||||||
|
|
||||||
|
9. **source**:
|
||||||
|
The `source` array defines where to download the source code for the package. In this example, it points to a tarball (`tar.gz`) containing the source code of `mysoftware` at version `1.0`. The source code will be fetched from this URL when you run the `makepkg` command.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
source=("https://example.com/mysoftware-${pkgver}.tar.gz")
|
||||||
|
```
|
||||||
|
|
||||||
|
10. **sha256sums**:
|
||||||
|
This is a checksum (SHA256) used to verify the integrity of the downloaded source file. This ensures that the source code has not been tampered with. You can generate this checksum using the `sha256sum` command.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sha256sums=('abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890')
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Build and Package Functions**
|
||||||
|
|
||||||
|
The `PKGBUILD` defines two functions: `build()` and `package()`. These functions contain the steps to compile and install the software.
|
||||||
|
|
||||||
|
1. **build()**:
|
||||||
|
This function is responsible for compiling the software. Here, it does the following:
|
||||||
|
- Changes the directory to the source code folder (`cd "$srcdir/mysoftware-${pkgver}"`).
|
||||||
|
- Runs the `./configure` command, which prepares the build system, setting the installation prefix (`--prefix=/usr` to install to `/usr/bin`, `/usr/lib`, etc.).
|
||||||
|
- Runs `make` to compile the source code.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/mysoftware-${pkgver}"
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **package()**:
|
||||||
|
After the software is compiled, the `package()` function installs it into a staging directory (referred to as `$pkgdir`). This step essentially places the compiled software into the appropriate directories (`/usr/bin`, `/usr/lib`, etc.). It uses the `DESTDIR="$pkgdir"` option to specify the installation destination.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/mysoftware-${pkgver}"
|
||||||
|
make DESTDIR="$pkgdir" install
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Building and Installing the Package**
|
||||||
|
|
||||||
|
Once you've created the PKGBUILD file, follow these steps to build and install the software:
|
||||||
|
|
||||||
|
1. **Run makepkg**:
|
||||||
|
In the same directory where the PKGBUILD is located, run the following command to build the package.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
makepkg
|
||||||
|
```
|
||||||
|
|
||||||
|
This will:
|
||||||
|
- Download the source code from the URL defined in the `source` array.
|
||||||
|
- Verify the integrity of the source code using the checksum.
|
||||||
|
- Compile the software as per the `build()` function.
|
||||||
|
- Package the compiled software into a `.pkg.tar.zst` file.
|
||||||
|
|
||||||
|
2. **Install the package**:
|
||||||
|
After the package is built, use `pacman` to install the package locally. Replace `mysoftware-1.0-1.pkg.tar.zst` with the actual filename generated by `makepkg`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -U mysoftware-1.0-1.pkg.tar.zst
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### **Conclusion**
|
||||||
|
|
||||||
|
This example demonstrates the basic structure and components of a PKGBUILD file. By understanding and modifying these fields, you can create your own PKGBUILDs for custom software or modify existing ones to suit your needs. PKGBUILDs provide a powerful way to automate the process of building, installing, and distributing software on Arch-based systems like Snigdha OS.
|
88
docs/snigdhaos-pkgbuilds/03-snigdhaos-lynxfetch.md
Normal file
88
docs/snigdhaos-pkgbuilds/03-snigdhaos-lynxfetch.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
# Lynxfetch - Snigdha OS
|
||||||
|
|
||||||
|
**snigdhaos-lynxfetch** is a package found in the SnigdhaOS PKGBUILD repository. It is a simple and lightweight terminal-based utility designed to fetch and display system information in a visually appealing format. The name **Lynxfetch** suggests that it might have been inspired by the popular system information tool `neofetch`, but with a focus on a minimalist approach, making it a good fit for SnigdhaOS, which values efficiency and simplicity.
|
||||||
|
|
||||||
|
### Key Features of snigdhaos-lynxfetch:
|
||||||
|
|
||||||
|
1. **System Information Display:**
|
||||||
|
Just like other system fetch tools, `lynxfetch` is used to display essential information about the system in a clean, readable format. The type of information typically shown includes:
|
||||||
|
- **System Information:** Includes details about the operating system, kernel version, and architecture.
|
||||||
|
- **CPU Details:** Information about the processor type, cores, and usage.
|
||||||
|
- **Memory Usage:** Provides the current memory (RAM) usage, which helps users monitor system resources.
|
||||||
|
- **Disk Space:** Displays available disk space on mounted partitions.
|
||||||
|
- **Uptime:** Shows how long the system has been running since the last boot.
|
||||||
|
|
||||||
|
2. **Minimalist Design:**
|
||||||
|
`lynxfetch` is designed to be minimal, meaning it will not overwhelm users with unnecessary details. It aims to present the most important system information in a way that is visually appealing yet simple, making it perfect for users who prefer a clean and lightweight tool.
|
||||||
|
|
||||||
|
3. **Customization:**
|
||||||
|
Even though `lynxfetch` is minimalist, it often allows some level of customization in terms of text colors, formatting, or output structure. This ensures that users can adapt it to their personal preferences, whether they want a bit more flair or a more utilitarian view.
|
||||||
|
|
||||||
|
4. **Integration with SnigdhaOS:**
|
||||||
|
Since `snigdhaos-lynxfetch` is tailored for SnigdhaOS, it is configured to work seamlessly with the system. It is designed to follow the aesthetic and functionality philosophy of SnigdhaOS, making sure it integrates perfectly with the rest of the system tools.
|
||||||
|
|
||||||
|
5. **Terminal Usage:**
|
||||||
|
Like other fetch tools, `lynxfetch` is meant to be run in the terminal. It’s a great tool for users who love to monitor system information directly from their command-line interface (CLI) without having to open resource-heavy GUI applications.
|
||||||
|
|
||||||
|
6. **Lightweight:**
|
||||||
|
`lynxfetch` is designed to be efficient and use minimal resources. This makes it a great choice for users of lightweight desktop environments or those looking to keep their system running fast and smooth without sacrificing useful information.
|
||||||
|
|
||||||
|
### Example Output:
|
||||||
|
When you run `lynxfetch` in the terminal, the output might look something like this (format can vary based on user preferences):
|
||||||
|
|
||||||
|
```
|
||||||
|
WK0OO0X whoami@MacGnome
|
||||||
|
WKOxk0XWNXkxN ---------------
|
||||||
|
WXOxk0N kk OS: Snigdha OS x86_64
|
||||||
|
WKkxOXW NxO Host:
|
||||||
|
NX0ddk00OOOOkkkkkkkkk0 Kernel: Linux 6.6.70-1-lts
|
||||||
|
WKkxO0dOXXNNNNWWW WXKK Uptime: 1 day, 3 hours, 56 mins
|
||||||
|
NxkN kxW XOxxdN Packages: 837 (pacman)
|
||||||
|
KoX WkxX WkxK Xd0 Shell: bash 5.2.37
|
||||||
|
WxkW XkkX kkW NkxX Display (CMN153B): 1920x1080 @ 60 Hz in 15" [B]
|
||||||
|
W0dK XxOWkkW XxkN DE: GNOME 47.2
|
||||||
|
NkxX XoKWkxK Kd0 WM: Mutter (Wayland)
|
||||||
|
XkkN WOdN NkxX NxO WM Theme: Sweet-Dark
|
||||||
|
OxNKxOW XdO kk Theme: Sweet-Dark [GTK2/3/4]
|
||||||
|
kdk0W XoK WXkxN Icons: candy-icons [GTK2/3/4]
|
||||||
|
WNNXKXXXXKKKK000OOdxkk0X Font: Monaco (11pt) [GTK2/3/4]
|
||||||
|
KdOO000KKKKXXXXX0xx0W Cursor: Adwaita (24px)
|
||||||
|
XoK N0kx0N Terminal: GNOME Terminal 3.54.2
|
||||||
|
Nd0 NKOxOKW Terminal Font: Monaco (12pt)
|
||||||
|
Nkk0K0kxOKN CPU: 12th Gen Intel(R) Core(TM) i3-1215U (8) @z
|
||||||
|
WXXXN GPU: Intel UHD Graphics @ 1.10 GHz [Integrated]
|
||||||
|
Memory: 5.35 GiB / 7.44 GiB (72%)
|
||||||
|
Swap: 74.25 MiB / 3.72 GiB (2%)
|
||||||
|
Disk (/): 11.86 GiB / 475.94 GiB (2%) - btrfs
|
||||||
|
Local IP (wlan0): 192.168.1.69/24
|
||||||
|
Battery (Primary): 89% [Discharging]
|
||||||
|
Locale: en_US.UTF-8
|
||||||
|
```
|
||||||
|
|
||||||
|
This simple output displays the key information about the system in a clear and concise manner, with a minimal visual design.
|
||||||
|
|
||||||
|
### How to Use snigdhaos-lynxfetch:
|
||||||
|
Once installed, using `lynxfetch` is straightforward. Open a terminal and type:
|
||||||
|
```
|
||||||
|
lynxfetch
|
||||||
|
```
|
||||||
|
|
||||||
|
The system information will be displayed in the terminal window, allowing you to quickly check the status of your system’s resources.
|
||||||
|
|
||||||
|
### Installation:
|
||||||
|
Since `snigdhaos-lynxfetch` is available through the SnigdhaOS PKGBUILD repository, you can install it via the package manager (`pacman` or `makepkg`). To install `lynxfetch`, you would typically follow these steps:
|
||||||
|
1. Clone the repository containing the PKGBUILD for `snigdhaos-lynxfetch`.
|
||||||
|
2. Navigate to the directory where the PKGBUILD is located.
|
||||||
|
3. Run the following command to build and install the package:
|
||||||
|
```
|
||||||
|
makepkg -si
|
||||||
|
```
|
||||||
|
|
||||||
|
This will download the source, compile the package, and install it on your system.
|
||||||
|
|
||||||
|
### Conclusion:
|
||||||
|
**snigdhaos-lynxfetch** is a lightweight and minimalist tool that provides a simple yet effective way to view essential system information in the terminal. It is designed with SnigdhaOS users in mind and integrates seamlessly with the system’s aesthetic and performance goals. Perfect for users who appreciate efficiency, `lynxfetch` is an excellent choice for anyone who wants quick access to system information without the overhead of heavier GUI-based utilities.
|
60
docs/snigdhaos-pkgbuilds/04-snigdhaos-asiant-fonts.md
Normal file
60
docs/snigdhaos-pkgbuilds/04-snigdhaos-asiant-fonts.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 4
|
||||||
|
---
|
||||||
|
# Asian Fonts
|
||||||
|
|
||||||
|
**snigdhaos-asian-fonts** is a package found in the SnigdhaOS PKGBUILD repository, aimed at providing essential Asian language font support for SnigdhaOS users. As SnigdhaOS seeks to be a globally accessible operating system, **snigdhaos-asian-fonts** ensures that users who require Asian fonts for proper display of text in languages such as Chinese, Japanese, Korean, and other scripts have access to the necessary font sets.
|
||||||
|
|
||||||
|
### Key Features of snigdhaos-asian-fonts:
|
||||||
|
|
||||||
|
1. **Asian Language Support:**
|
||||||
|
The main purpose of **snigdhaos-asian-fonts** is to install a variety of fonts that support Asian scripts. This includes fonts for languages like:
|
||||||
|
- **Chinese**: Simplified and Traditional Chinese characters.
|
||||||
|
- **Japanese**: Kana and Kanji characters.
|
||||||
|
- **Korean**: Hangul characters.
|
||||||
|
- Other regional scripts as needed.
|
||||||
|
|
||||||
|
2. **Wide Range of Fonts:**
|
||||||
|
The package includes a collection of popular and well-maintained Asian fonts, which are commonly used for proper rendering of text across various applications. These fonts are typically selected for their readability and compatibility with most software environments on Linux-based systems.
|
||||||
|
|
||||||
|
3. **Fonts for Different Purposes:**
|
||||||
|
The fonts included in the **snigdhaos-asian-fonts** package can cater to various needs, whether for:
|
||||||
|
- **User Interface (UI) Rendering**: Fonts suitable for graphical user interfaces, such as desktop environments and window managers.
|
||||||
|
- **Document Editing**: Fonts optimized for displaying text in documents, whether for office suites or plain-text editors.
|
||||||
|
- **Web Browsing**: Fonts that are commonly used for displaying content on websites written in Asian languages.
|
||||||
|
- **Terminal Usage**: Monospaced fonts that are suitable for use in terminal emulators when working with Asian text.
|
||||||
|
|
||||||
|
4. **Improved System Compatibility:**
|
||||||
|
By installing **snigdhaos-asian-fonts**, users can ensure that their SnigdhaOS system fully supports the display of Asian characters in all software, from system menus to applications and websites. Without these fonts, some applications or websites may fail to render text correctly, displaying unreadable boxes or missing characters.
|
||||||
|
|
||||||
|
5. **Integration with SnigdhaOS:**
|
||||||
|
The fonts provided by this package are carefully selected to integrate well with SnigdhaOS's design and performance standards. SnigdhaOS is an Arch-based distribution, and these fonts are optimized for use with common Linux tools and desktop environments such as GNOME, KDE, and XFCE.
|
||||||
|
|
||||||
|
6. **Easy Installation:**
|
||||||
|
Installing **snigdhaos-asian-fonts** is simple and can be done through the package manager. Once installed, users will have access to a wide range of fonts without needing to manually configure font settings or install individual font packages.
|
||||||
|
|
||||||
|
### Example Fonts Included:
|
||||||
|
The **snigdhaos-asian-fonts** package might include popular and widely-used fonts such as:
|
||||||
|
- **Noto Sans CJK**: A comprehensive font family that covers Simplified Chinese, Traditional Chinese, Japanese, and Korean.
|
||||||
|
- **Source Han Sans**: A font family designed for global compatibility, offering support for both Japanese and Chinese characters.
|
||||||
|
- **Migu 1M**: A Japanese font with good readability for both modern and traditional scripts.
|
||||||
|
- **UnBatang**: A well-known Korean font that provides clear rendering for Hangul characters.
|
||||||
|
|
||||||
|
These fonts are known for their clarity, style, and comprehensive support for characters in various Asian languages, making them a great choice for users in these regions or anyone who works with Asian language content.
|
||||||
|
|
||||||
|
### How It Works:
|
||||||
|
Once **snigdhaos-asian-fonts** is installed, the system will have access to a broad range of Asian fonts that are automatically available for use in any application that requires them. Applications like web browsers (for browsing Chinese, Japanese, or Korean websites), office suites (for working with documents in Asian languages), and text editors (for writing code or content in these languages) will automatically detect and use the appropriate font from the installed package.
|
||||||
|
|
||||||
|
### Installation:
|
||||||
|
Since **snigdhaos-asian-fonts** is available through the SnigdhaOS PKGBUILD repository, it can be installed easily via the package manager. To install the package, follow these steps:
|
||||||
|
1. Clone the repository containing the **snigdhaos-asian-fonts** PKGBUILD.
|
||||||
|
2. Navigate to the directory where the PKGBUILD is located.
|
||||||
|
3. Build and install the package using the following command:
|
||||||
|
```
|
||||||
|
makepkg -si
|
||||||
|
```
|
||||||
|
|
||||||
|
This command will download the necessary sources, build the package, and install it onto your system, ensuring that the fonts are correctly configured.
|
||||||
|
|
||||||
|
### Conclusion:
|
||||||
|
**snigdhaos-asian-fonts** is an essential package for SnigdhaOS users who require support for Asian languages. By providing a collection of fonts designed for clear and readable display of characters from scripts such as Chinese, Japanese, and Korean, this package helps ensure that SnigdhaOS users can enjoy a seamless experience when working with Asian text in various applications. Whether you're browsing the web, editing documents, or developing software in an Asian language, **snigdhaos-asian-fonts** provides the font support needed for smooth operation.
|
9
docs/snigdhaos-pkgbuilds/_category_.json
Normal file
9
docs/snigdhaos-pkgbuilds/_category_.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"label": "PKGBUILDS",
|
||||||
|
"position": 2,
|
||||||
|
"link": {
|
||||||
|
"type": "generated-index",
|
||||||
|
"description": "A comprehensive guide to the PKGBUILD scripts used in Snigdha OS. Learn how to create, modify, and maintain PKGBUILDs for building and distributing packages, along with best practices for package management within the Snigdha OS ecosystem."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user