From f33dd24f3387522339abfba0473e5cebf2f22896 Mon Sep 17 00:00:00 2001 From: adiati98 Date: Sun, 10 Dec 2023 13:36:25 +0000 Subject: [PATCH] fix: remove storybook id from sidebar file (#231) f14b1844575775f1dcabf0c8f1363f836dbb4a76 --- 404.html | 8 +++--- assets/js/0f97bf69.9d007629.js | 1 - assets/js/0f97bf69.b8d906f1.js | 1 + assets/js/163a28f8.82921009.js | 1 + assets/js/163a28f8.bab42e5e.js | 1 - assets/js/1c9ed6a5.1311021e.js | 1 - assets/js/2d700f5a.4a326d6a.js | 1 - assets/js/2d700f5a.51e80e1c.js | 1 + assets/js/32aa117d.4744de85.js | 1 + assets/js/32aa117d.bc36a4dd.js | 1 - assets/js/43ab1095.42327af9.js | 1 - assets/js/43ab1095.9bb2b263.js | 1 + ...9ba09.e38d1c40.js => 43d9ba09.ae00ae56.js} | 2 +- ...b852b.6107f771.js => 455b852b.5eb9206a.js} | 2 +- assets/js/4658ccba.180ac16e.js | 1 - assets/js/4658ccba.b458e3f4.js | 1 + ...9cea9.c20c65bd.js => 48b9cea9.38850c49.js} | 2 +- assets/js/4c2521ce.ad5f5832.js | 1 + assets/js/4c2521ce.c3e3f937.js | 1 - assets/js/4d1cfcdd.54c4a3bb.js | 1 + assets/js/4d1cfcdd.919c8f98.js | 1 - assets/js/51fe39eb.0b7bb09e.js | 1 + assets/js/51fe39eb.29417d15.js | 1 - assets/js/561e6817.8ab4bfa1.js | 1 - assets/js/561e6817.ef48a4f8.js | 1 + assets/js/580fd761.82d76efb.js | 1 + assets/js/580fd761.ddfe7e44.js | 1 - assets/js/5a367a69.2f73f06c.js | 1 + assets/js/5a367a69.b219f1ed.js | 1 - ...7b204.c71f0f4c.js => 5c57b204.0430d396.js} | 2 +- assets/js/6308756d.25dfc04f.js | 1 - assets/js/6308756d.9fb154b2.js | 1 + assets/js/6b56021b.c430e7fd.js | 1 + assets/js/6b56021b.d7313ba7.js | 1 - ...cad06.832357ce.js => 74acad06.b66cab72.js} | 2 +- assets/js/88e6cb4a.21ac64f8.js | 1 - assets/js/88e6cb4a.362a1d21.js | 1 + ...479fa.88b1f64a.js => 914479fa.ce8793ca.js} | 2 +- assets/js/935f2afb.2e259e80.js | 1 + assets/js/935f2afb.404c9ef2.js | 1 - assets/js/989990e7.a5dc5199.js | 1 - assets/js/989990e7.dc0b6485.js | 1 + ...d7e44.e94bfe8b.js => 9f7d7e44.c8c8b266.js} | 2 +- ...c2993.811b3e0c.js => a09c2993.93abee4b.js} | 2 +- ...7b6b0.40591a6a.js => ac97b6b0.23435df2.js} | 2 +- assets/js/b44b9bb7.4529b04f.js | 1 + assets/js/b44b9bb7.5aeea4ce.js | 1 - assets/js/b8d96084.97991fe5.js | 1 + assets/js/b8d96084.da2cdd0d.js | 1 - assets/js/c01322eb.8dc3a24b.js | 1 - assets/js/c01322eb.9d8e0454.js | 1 + ...cdde3.fa857861.js => cf3cdde3.0ddb96b9.js} | 2 +- assets/js/e0315c91.ba71f2f3.js | 1 + assets/js/e0315c91.c86a3934.js | 1 - assets/js/e2ee9e35.93e03ed5.js | 1 - assets/js/e2ee9e35.f10082c3.js | 1 + assets/js/e5a72a0c.17e0f3d7.js | 1 - assets/js/e5a72a0c.4c332456.js | 1 + ...e505e.61a5a614.js => ea6e505e.ff4aff77.js} | 2 +- ...8e19a.4ab6021e.js => f3a8e19a.21b153a7.js} | 2 +- assets/js/f8d965ab.105b3a38.js | 1 - assets/js/f8d965ab.20ff7fd5.js | 1 + assets/js/main.43dcfbc2.js | 2 ++ ...CENSE.txt => main.43dcfbc2.js.LICENSE.txt} | 0 assets/js/main.9e91191d.js | 2 -- assets/js/runtime~main.f0dc7ef9.js | 1 - assets/js/runtime~main.fbfe85ba.js | 1 + community/100-days-of-oss/index.html | 10 +++---- community/hacktoberfest/index.html | 10 +++---- community/welcome-to-the-community/index.html | 10 +++---- contributing/code-of-conduct/index.html | 12 ++++----- .../introduction-to-contributing/index.html | 12 ++++----- contributing/maintainers-guide/index.html | 10 +++---- contributing/set-up-authentication/index.html | 10 +++---- .../introduction-to-storybook/index.html | 25 ------------------ .../resolve-merge-conflicts/index.html | 10 +++---- .../technical/setup-repo-with-git/index.html | 10 +++---- contributing/triage-guide/index.html | 10 +++---- features/connections/index.html | 10 +++---- features/dev-card/index.html | 10 +++---- features/highlights/index.html | 10 +++---- features/insights/index.html | 10 +++---- features/lists/index.html | 10 +++---- index.html | 10 +++---- .../index.html | 10 +++---- .../job-seekers-guide-introduction/index.html | 10 +++---- .../index.html | 10 +++---- maintainers/understanding-insights/index.html | 10 +++---- maintainers/understanding-lists/index.html | 10 +++---- markdown-page/index.html | 8 +++--- open-sauced-docs.pdf | Bin 5883546 -> 5876452 bytes opensauced-packages/check-engines/index.html | 10 +++---- .../conventional-commit/index.html | 10 +++---- .../semantic-release/index.html | 10 +++---- search/index.html | 8 +++--- sitemap.xml | 2 +- sw.js | 2 +- .../code-explanation/index.html | 10 +++---- tools/chrome-extension/highlights/index.html | 10 +++---- .../index.html | 10 +++---- .../pr-description/index.html | 10 +++---- .../refactoring-and-testing/index.html | 10 +++---- .../index.html | 10 +++---- tools/hot-opensauced/index.html | 10 +++---- tools/pizza-cli/index.html | 10 +++---- welcome/faqs/index.html | 10 +++---- welcome/glossary/index.html | 10 +++---- welcome/opensauced-intro/index.html | 10 +++---- 108 files changed, 230 insertions(+), 256 deletions(-) delete mode 100644 assets/js/0f97bf69.9d007629.js create mode 100644 assets/js/0f97bf69.b8d906f1.js create mode 100644 assets/js/163a28f8.82921009.js delete mode 100644 assets/js/163a28f8.bab42e5e.js delete mode 100644 assets/js/1c9ed6a5.1311021e.js delete mode 100644 assets/js/2d700f5a.4a326d6a.js create mode 100644 assets/js/2d700f5a.51e80e1c.js create mode 100644 assets/js/32aa117d.4744de85.js delete mode 100644 assets/js/32aa117d.bc36a4dd.js delete mode 100644 assets/js/43ab1095.42327af9.js create mode 100644 assets/js/43ab1095.9bb2b263.js rename assets/js/{43d9ba09.e38d1c40.js => 43d9ba09.ae00ae56.js} (74%) rename assets/js/{455b852b.6107f771.js => 455b852b.5eb9206a.js} (67%) delete mode 100644 assets/js/4658ccba.180ac16e.js create mode 100644 assets/js/4658ccba.b458e3f4.js rename assets/js/{48b9cea9.c20c65bd.js => 48b9cea9.38850c49.js} (53%) create mode 100644 assets/js/4c2521ce.ad5f5832.js delete mode 100644 assets/js/4c2521ce.c3e3f937.js create mode 100644 assets/js/4d1cfcdd.54c4a3bb.js delete mode 100644 assets/js/4d1cfcdd.919c8f98.js create mode 100644 assets/js/51fe39eb.0b7bb09e.js delete mode 100644 assets/js/51fe39eb.29417d15.js delete mode 100644 assets/js/561e6817.8ab4bfa1.js create mode 100644 assets/js/561e6817.ef48a4f8.js create mode 100644 assets/js/580fd761.82d76efb.js delete mode 100644 assets/js/580fd761.ddfe7e44.js create mode 100644 assets/js/5a367a69.2f73f06c.js delete mode 100644 assets/js/5a367a69.b219f1ed.js rename assets/js/{5c57b204.c71f0f4c.js => 5c57b204.0430d396.js} (56%) delete mode 100644 assets/js/6308756d.25dfc04f.js create mode 100644 assets/js/6308756d.9fb154b2.js create mode 100644 assets/js/6b56021b.c430e7fd.js delete mode 100644 assets/js/6b56021b.d7313ba7.js rename assets/js/{74acad06.832357ce.js => 74acad06.b66cab72.js} (53%) delete mode 100644 assets/js/88e6cb4a.21ac64f8.js create mode 100644 assets/js/88e6cb4a.362a1d21.js rename assets/js/{914479fa.88b1f64a.js => 914479fa.ce8793ca.js} (53%) create mode 100644 assets/js/935f2afb.2e259e80.js delete mode 100644 assets/js/935f2afb.404c9ef2.js delete mode 100644 assets/js/989990e7.a5dc5199.js create mode 100644 assets/js/989990e7.dc0b6485.js rename assets/js/{9f7d7e44.e94bfe8b.js => 9f7d7e44.c8c8b266.js} (63%) rename assets/js/{a09c2993.811b3e0c.js => a09c2993.93abee4b.js} (53%) rename assets/js/{ac97b6b0.40591a6a.js => ac97b6b0.23435df2.js} (53%) create mode 100644 assets/js/b44b9bb7.4529b04f.js delete mode 100644 assets/js/b44b9bb7.5aeea4ce.js create mode 100644 assets/js/b8d96084.97991fe5.js delete mode 100644 assets/js/b8d96084.da2cdd0d.js delete mode 100644 assets/js/c01322eb.8dc3a24b.js create mode 100644 assets/js/c01322eb.9d8e0454.js rename assets/js/{cf3cdde3.fa857861.js => cf3cdde3.0ddb96b9.js} (57%) create mode 100644 assets/js/e0315c91.ba71f2f3.js delete mode 100644 assets/js/e0315c91.c86a3934.js delete mode 100644 assets/js/e2ee9e35.93e03ed5.js create mode 100644 assets/js/e2ee9e35.f10082c3.js delete mode 100644 assets/js/e5a72a0c.17e0f3d7.js create mode 100644 assets/js/e5a72a0c.4c332456.js rename assets/js/{ea6e505e.61a5a614.js => ea6e505e.ff4aff77.js} (52%) rename assets/js/{f3a8e19a.4ab6021e.js => f3a8e19a.21b153a7.js} (61%) delete mode 100644 assets/js/f8d965ab.105b3a38.js create mode 100644 assets/js/f8d965ab.20ff7fd5.js create mode 100644 assets/js/main.43dcfbc2.js rename assets/js/{main.9e91191d.js.LICENSE.txt => main.43dcfbc2.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.9e91191d.js delete mode 100644 assets/js/runtime~main.f0dc7ef9.js create mode 100644 assets/js/runtime~main.fbfe85ba.js delete mode 100644 contributing/technical/introduction-to-storybook/index.html diff --git a/404.html b/404.html index cafe140b..01ecde9a 100644 --- a/404.html +++ b/404.html @@ -13,13 +13,13 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/assets/js/0f97bf69.9d007629.js b/assets/js/0f97bf69.9d007629.js deleted file mode 100644 index c0004308..00000000 --- a/assets/js/0f97bf69.9d007629.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4158],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),u=p(t),d=i,h=u["".concat(l,".").concat(d)]||u[d]||m[d]||o;return t?a.createElement(h,s(s({ref:n},c),{},{components:t})):a.createElement(h,s({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var o=t.length,s=new Array(o);s[0]=d;var r={};for(var l in n)hasOwnProperty.call(n,l)&&(r[l]=n[l]);r.originalType=e,r[u]="string"==typeof e?e:i,s[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const o={id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["@open-sauced/semantic-release-conventional-config"]},s=void 0,r={unversionedId:"opensauced-packages/semantic-release",id:"opensauced-packages/semantic-release",title:"@open-sauced/semantic-release-conventional-config",description:"Description",source:"@site/docs/opensauced-packages/semantic-release.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/semantic-release",permalink:"/opensauced-packages/semantic-release",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/semantic-release.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["@open-sauced/semantic-release-conventional-config"]},sidebar:"docs",previous:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"},next:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},l={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"\ud83d\udda5\ufe0f Requirements",id:"\ufe0f-requirements",level:2},{value:"\ud83e\uddea GitHub Actions Usage",id:"-github-actions-usage",level:2},{value:"\ud83d\udce6 npm Usage",id:"-npm-usage",level:2},{value:"\ud83d\udd27 Configuration",id:"-configuration",level:2},{value:"npm",id:"npm",level:3},{value:"GitHub Actions",id:"github-actions",level:3},{value:"Docker",id:"docker",level:3},{value:"Environment Variables",id:"environment-variables",level:3},{value:"Workflow Examples",id:"workflow-examples",level:2},{value:"Node Application",id:"node-application",level:3},{value:"npm Library",id:"npm-library",level:3},{value:"Docker Image",id:"docker-image",level:3},{value:"Pre-Releases",id:"pre-releases",level:3},{value:"FAQs",id:"faqs",level:2},{value:"Which Assets are Pushed to Git?",id:"which-assets-are-pushed-to-git",level:3},{value:"What is the Commit Convention?",id:"what-is-the-commit-convention",level:3},{value:"How to Enrich the Static Distribution?",id:"how-to-enrich-the-static-distribution",level:3},{value:"How to Start Using Pre-Releases?",id:"how-to-start-using-pre-releases",level:3},{value:"Contributing",id:"contributing",level:2}],c={toc:p},u="wrapper";function m(e){let{components:n,...t}=e;return(0,i.kt)(u,(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/semantic-release-conventional-config")," is designed to help ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages auto-release to ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or ",(0,i.kt)("a",{parentName:"p",href:"https://ghcr.io"},(0,i.kt)("inlineCode",{parentName:"a"},"ghcr"))," registries while generating GitHub releases and changelog using conventional commit convention."),(0,i.kt)("p",null,"Version 2 supports alpha and beta pre-releases using corresponding branches."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/commit-analyzer"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/commit-analyzer"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/release-notes-generator"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/release-notes-generator"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/conventional-changelog/conventional-changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@conventional-changelog/conventional-changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/npm"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/npm"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/google/semantic-release-replace-plugin"},(0,i.kt)("inlineCode",{parentName:"a"},"@google/semantic-release-replace-plugin"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/cbhq/semantic-release-license"},(0,i.kt)("inlineCode",{parentName:"a"},"@cbhq/semantic-release-license"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/git"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/git"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/github"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/github"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/eclass/semantic-release-docker"},(0,i.kt)("inlineCode",{parentName:"a"},"@eclass/semantic-release-docker"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/exec"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/exec"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/sindresorhus/execa"},(0,i.kt)("inlineCode",{parentName:"a"},"execa")))),(0,i.kt)("h2",{id:"\ufe0f-requirements"},"\ud83d\udda5\ufe0f Requirements"),(0,i.kt)("p",null,"Most important limitations are:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GITHUB_TOKEN")," for everything"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"NPM_TOKEN")," for public ",(0,i.kt)("inlineCode",{parentName:"li"},"npm")," library"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"docker")," containers need to be built beforehand")),(0,i.kt)("p",null,"You can skip here if you are using an elevated ",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"},"Private Access Token"),". However, we don't recommend going down that path."),(0,i.kt)("p",null,"No force push or admin cherries branch protections for the following branches:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"main")," - required"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"alpha")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"beta")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next")," - optional, next channel"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next-major")," - optional, next major"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"vX[.X.X]")," - maintenance releases")),(0,i.kt)("p",null,"If you use more than the ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branch, optionally create an environment that limits where pushes can come from and enable the merge strategy."),(0,i.kt)("p",null,"We use ",(0,i.kt)("inlineCode",{parentName:"p"},"production")," in our examples; if you copy-paste them, you will find this new environment generated in your settings! \ud83c\udf55"),(0,i.kt)("h2",{id:"-github-actions-usage"},"\ud83e\uddea GitHub Actions Usage"),(0,i.kt)("p",null,"Since version 3, it has been possible to use ",(0,i.kt)("inlineCode",{parentName:"p"},"semantic-release")," without any trace of it or the OpenSauced configuration anywhere in the dependency tree."),(0,i.kt)("p",null,"Docker containers are pushed as part of the release, so they mirror the availability of ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages."),(0,i.kt)("p",null,"The simplest use case for a typical ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package is almost zero install downtime from ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr")," and no more local tooling:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release container"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ env.RELEASE_TAG }}\n echo ${{ env.RELEASE_VERSION }}\n')),(0,i.kt)("p",null,"Marketplace actions should default to the major tag and are essentially more stable as we have to curate every release."),(0,i.kt)("p",null,"A more traditional approach, the only thing really different here is a minor pull overhead and using set outputs instead of environment variables:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ steps.semantic-release.outputs.release-tag }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: open-sauced/semantic-release-conventional-config@v3\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ steps.semantic-release.outputs.release-tag }}\n echo ${{ steps.semantic-release.outputs.release-version }}\n')),(0,i.kt)("h2",{id:"-npm-usage"},"\ud83d\udce6 ",(0,i.kt)("inlineCode",{parentName:"h2"},"npm")," Usage"),(0,i.kt)("p",null,"You can opt to use this package in your local tooling. Proceed as you would normally would, replacing ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," with your package manager of choice and install the package:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/semantic-release-conventional-config\n")),(0,i.kt)("p",null,"The shareable config can then be configured in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration"}," ",(0,i.kt)("inlineCode",{parentName:"a"},"semantic-release")," configuration file"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "extends": "@open-sauced/semantic-release-conventional-config"\n}\n')),(0,i.kt)("p",null,"Now, all you need to do is create a release:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npx semantic-release\n")),(0,i.kt)("h2",{id:"-configuration"},"\ud83d\udd27 Configuration"),(0,i.kt)("p",null,"See each plugin official documentation for the required installation and configuration steps."),(0,i.kt)("h3",{id:"npm"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")),(0,i.kt)("p",null,"Set ",(0,i.kt)("inlineCode",{parentName:"p"},"private")," to true in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," if you want to disable ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or change the scope of package using ",(0,i.kt)("inlineCode",{parentName:"p"},"publishConfig"),"."),(0,i.kt)("p",null,"Keep one of the ",(0,i.kt)("inlineCode",{parentName:"p"},"files")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," keys in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," accurate, depending on whether you are building a library or an application."),(0,i.kt)("p",null,"If you publish, make sure to also provide a valid ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN"),", as ",(0,i.kt)("inlineCode",{parentName:"p"},".npmrc")," authentication is ignored in our config!"),(0,i.kt)("h3",{id:"github-actions"},"GitHub Actions"),(0,i.kt)("p",null,"Unless you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present, our config will attempt to adjust the container version to the newly pushed ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"docker")," tags."),(0,i.kt)("h3",{id:"docker"},"Docker"),(0,i.kt)("p",null,"Unless you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present, our config will attempt to push to ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr.io"),"."),(0,i.kt)("h3",{id:"environment-variables"},"Environment Variables"),(0,i.kt)("p",null,"Using our configuration comes with some sensible defaults:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_USERNAME=$GITHUB_REPOSITORY_OWNER")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_PASSWORD=$GITHUB_TOKEN")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_NAME="open-sauced[bot]"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_EMAIL="63161813+open-sauced[bot]@users.noreply.github.com"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_NAME")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_EMAIL")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA"))),(0,i.kt)("p",null,"Feel free to change any of the above to whatever suits your purpose. Our motivation is to keep ",(0,i.kt)("inlineCode",{parentName:"p"},"GITHUB_TOKEN")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," the only necessary requirements."),(0,i.kt)("p",null,"We are actively investigating ways to drop the two remaining variables as well!"),(0,i.kt)("h2",{id:"workflow-examples"},"Workflow Examples"),(0,i.kt)("h3",{id:"node-application"},"Node Application"),(0,i.kt)("p",null,"This example requires ",(0,i.kt)("inlineCode",{parentName:"p"},'"private": true,')," in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," and simplifies the workflow to lightning-fast deployment:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n')),(0,i.kt)("h3",{id:"npm-library"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Library"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," libraries, we need to set the environment URL manually and set a ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," environment variable. This also disables ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/@open-sauced/semantic-release-conventional-config/v/${{ env.RELEASE_VERSION }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config/blob/main/.github/workflows/release.yml"},"@open-sauced/semantic-release-conventional-config"),"."),(0,i.kt)("h3",{id:"docker-image"},"Docker Image"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),", it's best to build your node application in parallel with the container and re-use the artifact at a later stage:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n docker:\n name: Build container\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup buildx"\n uses: docker/setup-buildx-action@v1\n\n - name: "\ud83d\udd27 cache docker layers"\n uses: actions/cache@v2\n with:\n path: /tmp/.buildx-cache\n key: ${{ runner.os }}-buildx-${{ github.sha }}\n restore-keys: |\n ${{ runner.os }}-buildx-\n\n - name: "\ud83d\udd27 docker meta"\n id: meta\n uses: docker/metadata-action@v3\n with:\n images: ${{ github.repository }}\n tags: latest\n\n - name: "\ud83d\udce6 docker build"\n uses: docker/build-push-action@v2\n with:\n context: .\n tags: ${{ steps.meta.outputs.tags }}\n labels: ${{ steps.meta.outputs.labels }}\n outputs: type=docker,dest=/tmp/docker.tar\n push: false\n cache-from: type=gha, scope=${{ github.workflow }}\n cache-to: type=gha, scope=${{ github.workflow }}\n\n - name: "\ud83d\udcc2 docker artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: docker\n path: /tmp/docker.tar\n\n build:\n name: Build application\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\udcca repository visualizer"\n id: diagram\n uses: githubocto/repo-visualizer@0.7.1\n with:\n excluded_paths: "node_modules,build,.storybook,.netlify,.github,npm-shrinkwap.json"\n output_file: "public/diagram.svg"\n should_push: false\n artifact_name: "diagram"\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\udcc2 production artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: build\n path: build\n\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n needs:\n - docker\n - build\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udcc2 download docker artifacts"\n uses: actions/download-artifact@v2\n with:\n name: docker\n path: /tmp\n\n - name: "\ud83d\udce6 load tag"\n run: |\n docker load --input /tmp/docker.tar\n docker image ls -a\n\n - name: "\ud83d\udcc2 download build artifacts"\n uses: actions/download-artifact@v2\n with:\n name: build\n path: /tmp/build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n cleanup:\n name: Cleanup actions\n needs:\n - release\n runs-on: ubuntu-latest\n steps:\n - name: "\u267b\ufe0f remove build artifacts"\n uses: geekyeggo/delete-artifact@v1\n with:\n name: |\n build\n docker\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/blob/main/.github/workflows/release.yml"},"open-sauced/open-sauced"),"."),(0,i.kt)("h3",{id:"pre-releases"},"Pre-Releases"),(0,i.kt)("p",null,"This workflow requires the creation of ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," protected branches while templating every commit to be conventional. It does not support squashing without creating extremely complex conflict resolution:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n - beta\n - alpha\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/open-sauced-semantic-config-test/v/${{ steps.release.outputs.version }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"which-assets-are-pushed-to-git"},"Which Assets are Pushed to Git?"),(0,i.kt)("p",null,"The following assets are added to git using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/git"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n "LICENSE",\n "LICENSE.md",\n "COPYING",\n "COPYING.md",\n "CHANGELOG.md",\n "package.json",\n "package-lock.json",\n "npm-shrinkwrap.json",\n "public/diagram.svg",\n "action.yml"\n ]\n}\n')),(0,i.kt)("h3",{id:"what-is-the-commit-convention"},"What is the Commit Convention?"),(0,i.kt)("p",null,"The following commit rules are enforced by ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/commit-analyzer"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "preset": "conventionalcommits",\n "releaseRules": [\n { "type": "build", "release": "minor" },\n { "type": "ci", "release": "patch" },\n { "type": "docs", "release": "minor" },\n { "type": "style", "release": "patch" },\n { "type": "refactor", "release": "patch" },\n { "type": "test", "release": "patch" },\n { "type": "revert", "release": "patch" },\n { "type": "chore", "release": false }\n ],\n "parserOpts": {\n "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]\n }\n}\n')),(0,i.kt)("h3",{id:"how-to-enrich-the-static-distribution"},"How to Enrich the Static Distribution?"),(0,i.kt)("p",null,"The following assets are packed into the github release download using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/github"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n {\n "path": "pack/*.tgz",\n "label": "Static distribution"\n }\n ]\n}\n')),(0,i.kt)("h3",{id:"how-to-start-using-pre-releases"},"How to Start Using Pre-Releases?"),(0,i.kt)("p",null,"Create the ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branches and protect them from being deleted or pushed directly by non-administrators."),(0,i.kt)("p",null,"Switch your branching strategy to ",(0,i.kt)("inlineCode",{parentName:"p"},"merge")," and enable conventional commits checking."),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/tree/master/docs/recipes"},"semantic-releases recipes"),", you will have to resolve merge conflicts between ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"beta"),", and ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branches."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config"},"@open-sauced/semantic-release-conventional-config"),". \u2764\ufe0f"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0f97bf69.b8d906f1.js b/assets/js/0f97bf69.b8d906f1.js new file mode 100644 index 00000000..00be9cdb --- /dev/null +++ b/assets/js/0f97bf69.b8d906f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4158],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),u=p(t),d=i,h=u["".concat(l,".").concat(d)]||u[d]||m[d]||o;return t?a.createElement(h,s(s({ref:n},c),{},{components:t})):a.createElement(h,s({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var o=t.length,s=new Array(o);s[0]=d;var r={};for(var l in n)hasOwnProperty.call(n,l)&&(r[l]=n[l]);r.originalType=e,r[u]="string"==typeof e?e:i,s[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const o={id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["@open-sauced/semantic-release-conventional-config"]},s=void 0,r={unversionedId:"opensauced-packages/semantic-release",id:"opensauced-packages/semantic-release",title:"@open-sauced/semantic-release-conventional-config",description:"Description",source:"@site/docs/opensauced-packages/semantic-release.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/semantic-release",permalink:"/opensauced-packages/semantic-release",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/semantic-release.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["@open-sauced/semantic-release-conventional-config"]},sidebar:"docs",previous:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"},next:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},l={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"\ud83d\udda5\ufe0f Requirements",id:"\ufe0f-requirements",level:2},{value:"\ud83e\uddea GitHub Actions Usage",id:"-github-actions-usage",level:2},{value:"\ud83d\udce6 npm Usage",id:"-npm-usage",level:2},{value:"\ud83d\udd27 Configuration",id:"-configuration",level:2},{value:"npm",id:"npm",level:3},{value:"GitHub Actions",id:"github-actions",level:3},{value:"Docker",id:"docker",level:3},{value:"Environment Variables",id:"environment-variables",level:3},{value:"Workflow Examples",id:"workflow-examples",level:2},{value:"Node Application",id:"node-application",level:3},{value:"npm Library",id:"npm-library",level:3},{value:"Docker Image",id:"docker-image",level:3},{value:"Pre-Releases",id:"pre-releases",level:3},{value:"FAQs",id:"faqs",level:2},{value:"Which Assets are Pushed to Git?",id:"which-assets-are-pushed-to-git",level:3},{value:"What is the Commit Convention?",id:"what-is-the-commit-convention",level:3},{value:"How to Enrich the Static Distribution?",id:"how-to-enrich-the-static-distribution",level:3},{value:"How to Start Using Pre-Releases?",id:"how-to-start-using-pre-releases",level:3},{value:"Contributing",id:"contributing",level:2}],c={toc:p},u="wrapper";function m(e){let{components:n,...t}=e;return(0,i.kt)(u,(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/semantic-release-conventional-config")," is designed to help ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages auto-release to ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or ",(0,i.kt)("a",{parentName:"p",href:"https://ghcr.io"},(0,i.kt)("inlineCode",{parentName:"a"},"ghcr"))," registries while generating GitHub releases and changelog using conventional commit convention."),(0,i.kt)("p",null,"Version 2 supports alpha and beta pre-releases using corresponding branches."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/commit-analyzer"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/commit-analyzer"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/release-notes-generator"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/release-notes-generator"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/conventional-changelog/conventional-changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@conventional-changelog/conventional-changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/npm"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/npm"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/google/semantic-release-replace-plugin"},(0,i.kt)("inlineCode",{parentName:"a"},"@google/semantic-release-replace-plugin"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/cbhq/semantic-release-license"},(0,i.kt)("inlineCode",{parentName:"a"},"@cbhq/semantic-release-license"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/git"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/git"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/github"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/github"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/eclass/semantic-release-docker"},(0,i.kt)("inlineCode",{parentName:"a"},"@eclass/semantic-release-docker"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/exec"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/exec"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/sindresorhus/execa"},(0,i.kt)("inlineCode",{parentName:"a"},"execa")))),(0,i.kt)("h2",{id:"\ufe0f-requirements"},"\ud83d\udda5\ufe0f Requirements"),(0,i.kt)("p",null,"Most important limitations are:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GITHUB_TOKEN")," for everything"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"NPM_TOKEN")," for public ",(0,i.kt)("inlineCode",{parentName:"li"},"npm")," library"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"docker")," containers need to be built beforehand")),(0,i.kt)("p",null,"You can skip here if you are using an elevated ",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"},"Private Access Token"),". However, we don't recommend going down that path."),(0,i.kt)("p",null,"No force push or admin cherries branch protections for the following branches:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"main")," - required"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"alpha")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"beta")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next")," - optional, next channel"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next-major")," - optional, next major"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"vX[.X.X]")," - maintenance releases")),(0,i.kt)("p",null,"If you use more than the ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branch, optionally create an environment that limits where pushes can come from and enable the merge strategy."),(0,i.kt)("p",null,"We use ",(0,i.kt)("inlineCode",{parentName:"p"},"production")," in our examples; if you copy-paste them, you will find this new environment generated in your settings! \ud83c\udf55"),(0,i.kt)("h2",{id:"-github-actions-usage"},"\ud83e\uddea GitHub Actions Usage"),(0,i.kt)("p",null,"Since version 3, it has been possible to use ",(0,i.kt)("inlineCode",{parentName:"p"},"semantic-release")," without any trace of it or the OpenSauced configuration anywhere in the dependency tree."),(0,i.kt)("p",null,"Docker containers are pushed as part of the release, so they mirror the availability of ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages."),(0,i.kt)("p",null,"The simplest use case for a typical ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package is almost zero install downtime from ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr")," and no more local tooling:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release container"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ env.RELEASE_TAG }}\n echo ${{ env.RELEASE_VERSION }}\n')),(0,i.kt)("p",null,"Marketplace actions should default to the major tag and are essentially more stable as we have to curate every release."),(0,i.kt)("p",null,"A more traditional approach, the only thing really different here is a minor pull overhead and using set outputs instead of environment variables:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ steps.semantic-release.outputs.release-tag }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: open-sauced/semantic-release-conventional-config@v3\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ steps.semantic-release.outputs.release-tag }}\n echo ${{ steps.semantic-release.outputs.release-version }}\n')),(0,i.kt)("h2",{id:"-npm-usage"},"\ud83d\udce6 ",(0,i.kt)("inlineCode",{parentName:"h2"},"npm")," Usage"),(0,i.kt)("p",null,"You can opt to use this package in your local tooling. Proceed as you would normally would, replacing ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," with your package manager of choice and install the package:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/semantic-release-conventional-config\n")),(0,i.kt)("p",null,"The shareable config can then be configured in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration"}," ",(0,i.kt)("inlineCode",{parentName:"a"},"semantic-release")," configuration file"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "extends": "@open-sauced/semantic-release-conventional-config"\n}\n')),(0,i.kt)("p",null,"Now, all you need to do is create a release:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npx semantic-release\n")),(0,i.kt)("h2",{id:"-configuration"},"\ud83d\udd27 Configuration"),(0,i.kt)("p",null,"See each plugin official documentation for the required installation and configuration steps."),(0,i.kt)("h3",{id:"npm"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")),(0,i.kt)("p",null,"Set ",(0,i.kt)("inlineCode",{parentName:"p"},"private")," to true in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," if you want to disable ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or change the scope of package using ",(0,i.kt)("inlineCode",{parentName:"p"},"publishConfig"),"."),(0,i.kt)("p",null,"Keep one of the ",(0,i.kt)("inlineCode",{parentName:"p"},"files")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," keys in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," accurate, depending on whether you are building a library or an application."),(0,i.kt)("p",null,"If you publish, make sure to also provide a valid ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN"),", as ",(0,i.kt)("inlineCode",{parentName:"p"},".npmrc")," authentication is ignored in our config!"),(0,i.kt)("h3",{id:"github-actions"},"GitHub Actions"),(0,i.kt)("p",null,"Unless you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present, our config will attempt to adjust the container version to the newly pushed ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"docker")," tags."),(0,i.kt)("h3",{id:"docker"},"Docker"),(0,i.kt)("p",null,"Unless you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present, our config will attempt to push to ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr.io"),"."),(0,i.kt)("h3",{id:"environment-variables"},"Environment Variables"),(0,i.kt)("p",null,"Using our configuration comes with some sensible defaults:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_USERNAME=$GITHUB_REPOSITORY_OWNER")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_PASSWORD=$GITHUB_TOKEN")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_NAME="open-sauced[bot]"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_EMAIL="63161813+open-sauced[bot]@users.noreply.github.com"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_NAME")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_EMAIL")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA"))),(0,i.kt)("p",null,"Feel free to change any of the above to whatever suits your purpose. Our motivation is to keep ",(0,i.kt)("inlineCode",{parentName:"p"},"GITHUB_TOKEN")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," the only necessary requirements."),(0,i.kt)("p",null,"We are actively investigating ways to drop the two remaining variables as well!"),(0,i.kt)("h2",{id:"workflow-examples"},"Workflow Examples"),(0,i.kt)("h3",{id:"node-application"},"Node Application"),(0,i.kt)("p",null,"This example requires ",(0,i.kt)("inlineCode",{parentName:"p"},'"private": true,')," in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," and simplifies the workflow to lightning-fast deployment:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n')),(0,i.kt)("h3",{id:"npm-library"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Library"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," libraries, we need to set the environment URL manually and set a ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," environment variable. This also disables ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/@open-sauced/semantic-release-conventional-config/v/${{ env.RELEASE_VERSION }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config/blob/main/.github/workflows/release.yml"},"@open-sauced/semantic-release-conventional-config"),"."),(0,i.kt)("h3",{id:"docker-image"},"Docker Image"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),", it's best to build your node application in parallel with the container and re-use the artifact at a later stage:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n docker:\n name: Build container\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup buildx"\n uses: docker/setup-buildx-action@v1\n\n - name: "\ud83d\udd27 cache docker layers"\n uses: actions/cache@v2\n with:\n path: /tmp/.buildx-cache\n key: ${{ runner.os }}-buildx-${{ github.sha }}\n restore-keys: |\n ${{ runner.os }}-buildx-\n\n - name: "\ud83d\udd27 docker meta"\n id: meta\n uses: docker/metadata-action@v3\n with:\n images: ${{ github.repository }}\n tags: latest\n\n - name: "\ud83d\udce6 docker build"\n uses: docker/build-push-action@v2\n with:\n context: .\n tags: ${{ steps.meta.outputs.tags }}\n labels: ${{ steps.meta.outputs.labels }}\n outputs: type=docker,dest=/tmp/docker.tar\n push: false\n cache-from: type=gha, scope=${{ github.workflow }}\n cache-to: type=gha, scope=${{ github.workflow }}\n\n - name: "\ud83d\udcc2 docker artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: docker\n path: /tmp/docker.tar\n\n build:\n name: Build application\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\udcca repository visualizer"\n id: diagram\n uses: githubocto/repo-visualizer@0.7.1\n with:\n excluded_paths: "node_modules,build,.storybook,.netlify,.github,npm-shrinkwap.json"\n output_file: "public/diagram.svg"\n should_push: false\n artifact_name: "diagram"\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\udcc2 production artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: build\n path: build\n\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n needs:\n - docker\n - build\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udcc2 download docker artifacts"\n uses: actions/download-artifact@v2\n with:\n name: docker\n path: /tmp\n\n - name: "\ud83d\udce6 load tag"\n run: |\n docker load --input /tmp/docker.tar\n docker image ls -a\n\n - name: "\ud83d\udcc2 download build artifacts"\n uses: actions/download-artifact@v2\n with:\n name: build\n path: /tmp/build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n cleanup:\n name: Cleanup actions\n needs:\n - release\n runs-on: ubuntu-latest\n steps:\n - name: "\u267b\ufe0f remove build artifacts"\n uses: geekyeggo/delete-artifact@v1\n with:\n name: |\n build\n docker\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/blob/main/.github/workflows/release.yml"},"open-sauced/open-sauced"),"."),(0,i.kt)("h3",{id:"pre-releases"},"Pre-Releases"),(0,i.kt)("p",null,"This workflow requires the creation of ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," protected branches while templating every commit to be conventional. It does not support squashing without creating extremely complex conflict resolution:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n - beta\n - alpha\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/open-sauced-semantic-config-test/v/${{ steps.release.outputs.version }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"which-assets-are-pushed-to-git"},"Which Assets are Pushed to Git?"),(0,i.kt)("p",null,"The following assets are added to git using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/git"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n "LICENSE",\n "LICENSE.md",\n "COPYING",\n "COPYING.md",\n "CHANGELOG.md",\n "package.json",\n "package-lock.json",\n "npm-shrinkwrap.json",\n "public/diagram.svg",\n "action.yml"\n ]\n}\n')),(0,i.kt)("h3",{id:"what-is-the-commit-convention"},"What is the Commit Convention?"),(0,i.kt)("p",null,"The following commit rules are enforced by ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/commit-analyzer"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "preset": "conventionalcommits",\n "releaseRules": [\n { "type": "build", "release": "minor" },\n { "type": "ci", "release": "patch" },\n { "type": "docs", "release": "minor" },\n { "type": "style", "release": "patch" },\n { "type": "refactor", "release": "patch" },\n { "type": "test", "release": "patch" },\n { "type": "revert", "release": "patch" },\n { "type": "chore", "release": false }\n ],\n "parserOpts": {\n "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]\n }\n}\n')),(0,i.kt)("h3",{id:"how-to-enrich-the-static-distribution"},"How to Enrich the Static Distribution?"),(0,i.kt)("p",null,"The following assets are packed into the github release download using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/github"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n {\n "path": "pack/*.tgz",\n "label": "Static distribution"\n }\n ]\n}\n')),(0,i.kt)("h3",{id:"how-to-start-using-pre-releases"},"How to Start Using Pre-Releases?"),(0,i.kt)("p",null,"Create the ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branches and protect them from being deleted or pushed directly by non-administrators."),(0,i.kt)("p",null,"Switch your branching strategy to ",(0,i.kt)("inlineCode",{parentName:"p"},"merge")," and enable conventional commits checking."),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/tree/master/docs/recipes"},"semantic-releases recipes"),", you will have to resolve merge conflicts between ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"beta"),", and ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branches."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config"},"@open-sauced/semantic-release-conventional-config"),". \u2764\ufe0f"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/163a28f8.82921009.js b/assets/js/163a28f8.82921009.js new file mode 100644 index 00000000..8c3a5e83 --- /dev/null +++ b/assets/js/163a28f8.82921009.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2610],{3905:(t,e,i)=>{i.d(e,{Zo:()=>c,kt:()=>p});var n=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function r(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function a(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var l=n.createContext({}),u=function(t){var e=n.useContext(l),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},c=function(t){var e=u(t.components);return n.createElement(l.Provider,{value:e},t.children)},h="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var i=t.components,o=t.mdxType,r=t.originalType,l=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),h=u(i),d=o,p=h["".concat(l,".").concat(d)]||h[d]||g[d]||r;return i?n.createElement(p,a(a({ref:e},c),{},{components:i})):n.createElement(p,a({ref:e},c))}));function p(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var r=i.length,a=new Array(r);a[0]=d;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s[h]="string"==typeof t?t:o,a[1]=s;for(var u=2;u{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=i(7462),o=(i(7294),i(3905));const r={id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides"]},a=void 0,s={unversionedId:"maintainers/maintainers-guide-to-open-sauced",id:"maintainers/maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",description:"Introduction to OpenSauced for Maintainers",source:"@site/docs/maintainers/maintainers-guide.md",sourceDirName:"maintainers",slug:"/maintainers/maintainers-guide-to-open-sauced",permalink:"/maintainers/maintainers-guide-to-open-sauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides"]},sidebar:"docs",previous:{title:"Connections",permalink:"/features/connections"},next:{title:"Understanding Insights Data",permalink:"/maintainers/understanding-insights"}},l={},u=[{value:"Introduction to OpenSauced for Maintainers",id:"introduction-to-opensauced-for-maintainers",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Insights: Connecting Your Repositories",id:"insights-connecting-your-repositories",level:2},{value:"Creating a New Insight Page",id:"creating-a-new-insight-page",level:3},{value:"Using Your Insights Page",id:"using-your-insights-page",level:3},{value:"Reports",id:"reports",level:4},{value:"Repositories",id:"repositories",level:4},{value:"Contributors",id:"contributors",level:4},{value:"Lists: Connecting with Contributors",id:"lists-connecting-with-contributors",level:2},{value:"Why Create a List?",id:"why-create-a-list",level:3},{value:"Creating a New List",id:"creating-a-new-list",level:3},{value:"Using Your List",id:"using-your-list",level:2},{value:"Overview",id:"overview",level:3},{value:"Activity",id:"activity",level:3},{value:"Contributors",id:"contributors-1",level:3},{value:"Highlights: Connecting and Recognizing Contributions",id:"highlights-connecting-and-recognizing-contributions",level:2},{value:"Creating a New Highlight",id:"creating-a-new-highlight",level:3},{value:"Writing an Effective Highlight",id:"writing-an-effective-highlight",level:3},{value:"Highlighting Issues",id:"highlighting-issues",level:4},{value:"Highlighting PRs",id:"highlighting-prs",level:4},{value:"Highlighting Dev.to Blog Posts",id:"highlighting-devto-blog-posts",level:4}],c={toc:u},h="wrapper";function g(t){let{components:e,...r}=t;return(0,o.kt)(h,(0,n.Z)({},c,r,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"introduction-to-opensauced-for-maintainers"},"Introduction to OpenSauced for Maintainers"),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and redefining open source contributions. We offer a GitHub-powered dashboard for tracking contributions and gaining insights into your open source projects. You can customize your Insights Pages and Lists with the repositories you choose and the contributors you want to see."),(0,o.kt)("h2",{id:"getting-started"},"Getting Started"),(0,o.kt)("p",null,"To get started, you will need to create an account on OpenSauced. You can do this by visiting the ",(0,o.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza"},"app.opensauced.pizza"),' and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard.'),(0,o.kt)("h2",{id:"insights-connecting-your-repositories"},"Insights: Connecting Your Repositories"),(0,o.kt)("p",null,"OpenSauced Insights provides maintainers with a visual representation of their project's health and contributor engagement. It offers real-time data and analytics to understand contribution patterns, identify key contributors, and measure the project's growth. Insights can help you assess team activity, understand when bottlenecks occur, identify where resource allocation is needed, plan and identify key contributors, understand alumni contributors, or spot emerging trends."),(0,o.kt)("p",null,"Insights features allow you to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"track the contributions of a specific team, a specific repository, or a group of repositories,"),(0,o.kt)("li",{parentName:"ul"},"view the number of pull requests that are open, closed, in draft, and merged,"),(0,o.kt)("li",{parentName:"ul"},"view the average number of days it takes for a pull request to be merged (PR velocity),"),(0,o.kt)("li",{parentName:"ul"},"identify the top contributors to your project,"),(0,o.kt)("li",{parentName:"ul"},"identify the current activity level and trends in activity of your contributors.")),(0,o.kt)("h3",{id:"creating-a-new-insight-page"},"Creating a New Insight Page"),(0,o.kt)("p",null,'To connect your repositories, click the "Insights" tab on the dashboard. You will be redirected to a page where you can create your new Insight Page.'),(0,o.kt)("p",null,"There are two ways to add repositories to your Insight Page:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Sync GitHub organization"),". Syncing your GitHub organization is a good idea for someone who seeks a comprehensive, unified view of your organization's open source project activities and trends, enabling streamlined management, strategic decision-making, and efficient allocation of resources across multiple repositories."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Connect individual repositories"),". Connecting individual repositories is a good idea for someone who wants to track the contributions of a specific repository or group of repositories. For example, you might want to track projects you maintain that are not under the same organization, or you may want to track projects that align with your team's objectives.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"sync team gif",src:i(2615).Z,width:"1174",height:"948"})),(0,o.kt)("h3",{id:"using-your-insights-page"},"Using Your Insights Page"),(0,o.kt)("p",null,"Once you have connected your repositories, you will be redirected to your Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them."),(0,o.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,o.kt)("h4",{id:"reports"},"Reports"),(0,o.kt)("p",null,"The Reports tab allows paid users to filter for more information about their repositories over the last 30 days and to generate a Downloadable CSV. Filters include: Top 100 Repos, Minimum 5 Contributors, Recent, Most Active, and Spammed."),(0,o.kt)("h4",{id:"repositories"},"Repositories"),(0,o.kt)("p",null,"The Repositories tab allows you to view more detailed information on each repository, including Activity, PR Overview, PR Velocity, Spam, Contributors, and activity over the last 30 days. To learn more about these features, see ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/understanding-insights"},"Understanding Insights Data"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"repositories tab",src:i(7224).Z,width:"1148",height:"796"})),(0,o.kt)("h4",{id:"contributors"},"Contributors"),(0,o.kt)("p",null,"The Contributors tab allows you to view more detailed information on each contributor, including Activity, Repositories, the date of their last contribution, Time Zone, and the number of contributions."),(0,o.kt)("p",null,"To learn more about your contributors, you can select them and add them to a list."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"contributors insight list",src:i(8967).Z,width:"1212",height:"628"})),(0,o.kt)("p",null,"There are two ways to add contributors to a list:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Create a new list with selected contributors."),(0,o.kt)("li",{parentName:"ol"},"Add selected contributors to an existing list.")),(0,o.kt)("h2",{id:"lists-connecting-with-contributors"},"Lists: Connecting with Contributors"),(0,o.kt)("p",null,"OpenSauced Lists feature allows you to categorize, monitor, and analyze various groups of contributors. You can use Lists to track the contributions of a specific team, a specific repository, or a group of repositories. This feature offers granular insights into each contributor's activities and contributions, helping maintainers to track individual contribution histories, identify active engagement, recognize new or alumni contributors, and compare the performance of different contributors."),(0,o.kt)("p",null,"The Lists features allow you to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"track the commits and PRs of the contributors on your list,"),(0,o.kt)("li",{parentName:"ul"},"filter your contributors by their activity level, including most active, new, and alumni,"),(0,o.kt)("li",{parentName:"ul"},"view the repositories that your contributors have contributed to, the top programming languages they've used, and their time zones.")),(0,o.kt)("h3",{id:"why-create-a-list"},"Why Create a List?"),(0,o.kt)("p",null,"There are many reasons to create a list, but here's some inspiration to get you started:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Interacting contributors"),": Keep tabs on contributors actively interacting with your repository."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Organization's developers"),": Monitor the contributions and performance of your internal team."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"VIP contributors"),": Highlight and track at least five developers who are key maintainers or significant contributors."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Sales leads"),": Identify contributors whose engagement could potentially be turned into sales opportunities."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Potential hires"),": Observe contributors who exhibit skill and commitment, making them prime candidates for hiring."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Alumni contributors"),": Keep an eye on contributors who have decreased their engagement or left the project.")),(0,o.kt)("h3",{id:"creating-a-new-list"},"Creating a New List"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},'Click the "Lists" tab on the Insights hub to create a new list. You will be redirected to a page where you can create your new list.'),(0,o.kt)("li",{parentName:"ol"},'Click on the "New List" button to start a new list.'),(0,o.kt)("li",{parentName:"ol"},"Give your list a name."),(0,o.kt)("li",{parentName:"ol"},"Choose your page visibility. You can choose to make your list public or private. By default, it is set to private."),(0,o.kt)("li",{parentName:"ol"},"Add contributors to your list by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"team sync gif",src:i(3267).Z,width:"1218",height:"1006"})),(0,o.kt)("h2",{id:"using-your-list"},"Using Your List"),(0,o.kt)("p",null,"Once you have created your list, you will be redirected to your List Page. Here, you will see a dashboard with an overview of the contributors."),(0,o.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"The Overview tab gives you a high-level view of the contributors in your list, including the total number of commits in the last 30 days and the types of contributors on your list: Active, New, and Alumni."),(0,o.kt)("h3",{id:"activity"},"Activity"),(0,o.kt)("p",null,"The Activity tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they've contributed to, and how they compare to each other."),(0,o.kt)("p",null,"You can filter your list by All Contributors, Active Contributors, New Contributors, and Alumni Contributors."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"list graph",src:i(7392).Z,width:"1147",height:"731"})),(0,o.kt)("h3",{id:"contributors-1"},"Contributors"),(0,o.kt)("p",null,"The Contributors tab gives you the list of the contributors and includes information like activity level, last repository contributed to, the date of their last contribution, time zone, programming languages used, and number of contributions."),(0,o.kt)("p",null,"To learn more about these features, see ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/understanding-lists"},"Understanding Lists Data"),"."),(0,o.kt)("h2",{id:"highlights-connecting-and-recognizing-contributions"},"Highlights: Connecting and Recognizing Contributions"),(0,o.kt)("p",null,"Leveraging OpenSauced's Highlights feature is a great way for maintainers to recognize and showcase the valuable contributions made to your open source projects, to curate and share key achievements, contributions, and milestones, and bring visibility to the hard work of your community."),(0,o.kt)("p",null,"Highlights can be used to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"publicize issues on your repository that you'd like to match with contributors,"),(0,o.kt)("li",{parentName:"ul"},"share Dev.to blog posts you've written,"),(0,o.kt)("li",{parentName:"ul"},"celebrate PRs for your project.")),(0,o.kt)("h3",{id:"creating-a-new-highlight"},"Creating a New Highlight"),(0,o.kt)("p",null,"There are two ways to create a new highlight:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"After clicking the ",(0,o.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"Highlights tab"),' in the top navigation, click the input that says "Post a highlight to show your work!"')),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},'From your profile, click the input that says "Post a highlight to show your work!"'))),(0,o.kt)("p",null,"After you've clicked the input, you'll see a form that allows you to create a new highlight."),(0,o.kt)("p",null,"There are two ways to create a highlight:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Paste the URL to your PR, Issue, or Dev.to blog post (shown in blue below)."),(0,o.kt)("li",{parentName:"ol"},"Choose from a list of suggestions (shown in orange below).")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"highlight suggestions",src:i(4173).Z,width:"626",height:"633"})),(0,o.kt)("p",null,"If you're adding a blog post, you'll need to associate it to a repository by clicking the \"Add a repo\" button."),(0,o.kt)("p",null,"Finally, it's time to add the details of your highlight. You can add a description yourself or use the auto-summarize function to generate a description."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"gif of creating a highlight",src:i(7352).Z,width:"2294",height:"1066"})),(0,o.kt)("h3",{id:"writing-an-effective-highlight"},"Writing an Effective Highlight"),(0,o.kt)("p",null,"Writing an effective highlight is key to attracting contributors to your project. Here are some tips to help you write an effective highlight:"),(0,o.kt)("h4",{id:"highlighting-issues"},"Highlighting Issues"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Focus on the problem solved"),": Begin by briefly describing the problem or challenge the issue addresses. This sets the context for why it was important."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Acknowledge contributor(s)"),": Mention the contributor(s) who reported or worked on the issue, recognizing their effort."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Impact statement"),": Explain how resolving this issue benefits the project, such as improving functionality, user experience, or security.")),(0,o.kt)("h4",{id:"highlighting-prs"},"Highlighting PRs"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Summarize the changes"),": Start with a clear summary of what the PR achieves. This could be a new feature, bug fix, or enhancement."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Credit the contributors"),": Acknowledge everyone who contributed to the PR, including reviewers."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Highlight the value"),": Explain the value of these changes to the project or its users. For instance, how it improves performance, adds a requested feature, or simplifies the codebase.")),(0,o.kt)("h4",{id:"highlighting-devto-blog-posts"},"Highlighting Dev.to Blog Posts"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Capture the essence"),": Begin with an interesting blog post summary, capturing the main theme or message."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Discuss the relevance"),": Explain why this blog post is important for your open source project or community. Is it about a major update, a community event, or sharing best practices?"),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Engage with a call-to-action"),": Encourage readers to engage with the post, whether by reading, commenting, or sharing their thoughts on the topic.")))}g.isMDXComponent=!0},7352:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},2615:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/team-sync-insights-d4d7794d5e28b72ffb375595c988cd37.gif"},3267:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/team-sync-09e7e2ab7b54fae335f5b4c40cce94b1.gif"},8967:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},4173:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},7392:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},7224:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"}}]); \ No newline at end of file diff --git a/assets/js/163a28f8.bab42e5e.js b/assets/js/163a28f8.bab42e5e.js deleted file mode 100644 index fffb9cf8..00000000 --- a/assets/js/163a28f8.bab42e5e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2610],{3905:(t,e,i)=>{i.d(e,{Zo:()=>c,kt:()=>p});var n=i(7294);function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function r(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function a(t){for(var e=1;e=0||(o[i]=t[i]);return o}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(o[i]=t[i])}return o}var l=n.createContext({}),u=function(t){var e=n.useContext(l),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},c=function(t){var e=u(t.components);return n.createElement(l.Provider,{value:e},t.children)},h="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var i=t.components,o=t.mdxType,r=t.originalType,l=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),h=u(i),d=o,p=h["".concat(l,".").concat(d)]||h[d]||g[d]||r;return i?n.createElement(p,a(a({ref:e},c),{},{components:i})):n.createElement(p,a({ref:e},c))}));function p(t,e){var i=arguments,o=e&&e.mdxType;if("string"==typeof t||o){var r=i.length,a=new Array(r);a[0]=d;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s[h]="string"==typeof t?t:o,a[1]=s;for(var u=2;u{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=i(7462),o=(i(7294),i(3905));const r={id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides"]},a=void 0,s={unversionedId:"maintainers/maintainers-guide-to-open-sauced",id:"maintainers/maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",description:"Introduction to OpenSauced for Maintainers",source:"@site/docs/maintainers/maintainers-guide.md",sourceDirName:"maintainers",slug:"/maintainers/maintainers-guide-to-open-sauced",permalink:"/maintainers/maintainers-guide-to-open-sauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides"]},sidebar:"docs",previous:{title:"Connections",permalink:"/features/connections"},next:{title:"Understanding Insights Data",permalink:"/maintainers/understanding-insights"}},l={},u=[{value:"Introduction to OpenSauced for Maintainers",id:"introduction-to-opensauced-for-maintainers",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Insights: Connecting Your Repositories",id:"insights-connecting-your-repositories",level:2},{value:"Creating a New Insight Page",id:"creating-a-new-insight-page",level:3},{value:"Using Your Insights Page",id:"using-your-insights-page",level:3},{value:"Reports",id:"reports",level:4},{value:"Repositories",id:"repositories",level:4},{value:"Contributors",id:"contributors",level:4},{value:"Lists: Connecting with Contributors",id:"lists-connecting-with-contributors",level:2},{value:"Why Create a List?",id:"why-create-a-list",level:3},{value:"Creating a New List",id:"creating-a-new-list",level:3},{value:"Using Your List",id:"using-your-list",level:2},{value:"Overview",id:"overview",level:3},{value:"Activity",id:"activity",level:3},{value:"Contributors",id:"contributors-1",level:3},{value:"Highlights: Connecting and Recognizing Contributions",id:"highlights-connecting-and-recognizing-contributions",level:2},{value:"Creating a New Highlight",id:"creating-a-new-highlight",level:3},{value:"Writing an Effective Highlight",id:"writing-an-effective-highlight",level:3},{value:"Highlighting Issues",id:"highlighting-issues",level:4},{value:"Highlighting PRs",id:"highlighting-prs",level:4},{value:"Highlighting Dev.to Blog Posts",id:"highlighting-devto-blog-posts",level:4}],c={toc:u},h="wrapper";function g(t){let{components:e,...r}=t;return(0,o.kt)(h,(0,n.Z)({},c,r,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"introduction-to-opensauced-for-maintainers"},"Introduction to OpenSauced for Maintainers"),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and redefining open source contributions. We offer a GitHub-powered dashboard for tracking contributions and gaining insights into your open source projects. You can customize your Insights Pages and Lists with the repositories you choose and the contributors you want to see."),(0,o.kt)("h2",{id:"getting-started"},"Getting Started"),(0,o.kt)("p",null,"To get started, you will need to create an account on OpenSauced. You can do this by visiting the ",(0,o.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza"},"app.opensauced.pizza"),' and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard.'),(0,o.kt)("h2",{id:"insights-connecting-your-repositories"},"Insights: Connecting Your Repositories"),(0,o.kt)("p",null,"OpenSauced Insights provides maintainers with a visual representation of their project's health and contributor engagement. It offers real-time data and analytics to understand contribution patterns, identify key contributors, and measure the project's growth. Insights can help you assess team activity, understand when bottlenecks occur, identify where resource allocation is needed, plan and identify key contributors, understand alumni contributors, or spot emerging trends."),(0,o.kt)("p",null,"Insights features allow you to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"track the contributions of a specific team, a specific repository, or a group of repositories,"),(0,o.kt)("li",{parentName:"ul"},"view the number of pull requests that are open, closed, in draft, and merged,"),(0,o.kt)("li",{parentName:"ul"},"view the average number of days it takes for a pull request to be merged (PR velocity),"),(0,o.kt)("li",{parentName:"ul"},"identify the top contributors to your project,"),(0,o.kt)("li",{parentName:"ul"},"identify the current activity level and trends in activity of your contributors.")),(0,o.kt)("h3",{id:"creating-a-new-insight-page"},"Creating a New Insight Page"),(0,o.kt)("p",null,'To connect your repositories, click the "Insights" tab on the dashboard. You will be redirected to a page where you can create your new Insight Page.'),(0,o.kt)("p",null,"There are two ways to add repositories to your Insight Page:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Sync GitHub organization"),". Syncing your GitHub organization is a good idea for someone who seeks a comprehensive, unified view of your organization's open source project activities and trends, enabling streamlined management, strategic decision-making, and efficient allocation of resources across multiple repositories."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Connect individual repositories"),". Connecting individual repositories is a good idea for someone who wants to track the contributions of a specific repository or group of repositories. For example, you might want to track projects you maintain that are not under the same organization, or you may want to track projects that align with your team's objectives.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"sync team gif",src:i(2615).Z,width:"1174",height:"948"})),(0,o.kt)("h3",{id:"using-your-insights-page"},"Using Your Insights Page"),(0,o.kt)("p",null,"Once you have connected your repositories, you will be redirected to your Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them."),(0,o.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,o.kt)("h4",{id:"reports"},"Reports"),(0,o.kt)("p",null,"The Reports tab allows paid users to filter for more information about their repositories over the last 30 days and to generate a Downloadable CSV. Filters include: Top 100 Repos, Minimum 5 Contributors, Recent, Most Active, and Spammed."),(0,o.kt)("h4",{id:"repositories"},"Repositories"),(0,o.kt)("p",null,"The Repositories tab allows you to view more detailed information on each repository, including Activity, PR Overview, PR Velocity, Spam, Contributors, and activity over the last 30 days. To learn more about these features, see ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/understanding-insights"},"Understanding Insights Data"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"repositories tab",src:i(7224).Z,width:"1148",height:"796"})),(0,o.kt)("h4",{id:"contributors"},"Contributors"),(0,o.kt)("p",null,"The Contributors tab allows you to view more detailed information on each contributor, including Activity, Repositories, the date of their last contribution, Time Zone, and the number of contributions."),(0,o.kt)("p",null,"To learn more about your contributors, you can select them and add them to a list."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"contributors insight list",src:i(8967).Z,width:"1212",height:"628"})),(0,o.kt)("p",null,"There are two ways to add contributors to a list:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Create a new list with selected contributors."),(0,o.kt)("li",{parentName:"ol"},"Add selected contributors to an existing list.")),(0,o.kt)("h2",{id:"lists-connecting-with-contributors"},"Lists: Connecting with Contributors"),(0,o.kt)("p",null,"OpenSauced Lists feature allows you to categorize, monitor, and analyze various groups of contributors. You can use Lists to track the contributions of a specific team, a specific repository, or a group of repositories. This feature offers granular insights into each contributor's activities and contributions, helping maintainers to track individual contribution histories, identify active engagement, recognize new or alumni contributors, and compare the performance of different contributors."),(0,o.kt)("p",null,"The Lists features allow you to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"track the commits and PRs of the contributors on your list,"),(0,o.kt)("li",{parentName:"ul"},"filter your contributors by their activity level, including most active, new, and alumni,"),(0,o.kt)("li",{parentName:"ul"},"view the repositories that your contributors have contributed to, the top programming languages they've used, and their time zones.")),(0,o.kt)("h3",{id:"why-create-a-list"},"Why Create a List?"),(0,o.kt)("p",null,"There are many reasons to create a list, but here's some inspiration to get you started:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Interacting contributors"),": Keep tabs on contributors actively interacting with your repository."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Organization's developers"),": Monitor the contributions and performance of your internal team."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"VIP contributors"),": Highlight and track at least five developers who are key maintainers or significant contributors."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Sales leads"),": Identify contributors whose engagement could potentially be turned into sales opportunities."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Potential hires"),": Observe contributors who exhibit skill and commitment, making them prime candidates for hiring."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Alumni contributors"),": Keep an eye on contributors who have decreased their engagement or left the project.")),(0,o.kt)("h3",{id:"creating-a-new-list"},"Creating a New List"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},'Click the "Lists" tab on the Insights hub to create a new list. You will be redirected to a page where you can create your new list.'),(0,o.kt)("li",{parentName:"ol"},'Click on the "New List" button to start a new list.'),(0,o.kt)("li",{parentName:"ol"},"Give your list a name."),(0,o.kt)("li",{parentName:"ol"},"Choose your page visibility. You can choose to make your list public or private. By default, it is set to private."),(0,o.kt)("li",{parentName:"ol"},"Add contributors to your list by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"team sync gif",src:i(3267).Z,width:"1218",height:"1006"})),(0,o.kt)("h2",{id:"using-your-list"},"Using Your List"),(0,o.kt)("p",null,"Once you have created your list, you will be redirected to your List Page. Here, you will see a dashboard with an overview of the contributors."),(0,o.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"The Overview tab gives you a high-level view of the contributors in your list, including the total number of commits in the last 30 days and the types of contributors on your list: Active, New, and Alumni."),(0,o.kt)("h3",{id:"activity"},"Activity"),(0,o.kt)("p",null,"The Activity tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they've contributed to, and how they compare to each other."),(0,o.kt)("p",null,"You can filter your list by All Contributors, Active Contributors, New Contributors, and Alumni Contributors."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"list graph",src:i(7392).Z,width:"1147",height:"731"})),(0,o.kt)("h3",{id:"contributors-1"},"Contributors"),(0,o.kt)("p",null,"The Contributors tab gives you the list of the contributors and includes information like activity level, last repository contributed to, the date of their last contribution, time zone, programming languages used, and number of contributions."),(0,o.kt)("p",null,"To learn more about these features, see ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/understanding-lists"},"Understanding Lists Data"),"."),(0,o.kt)("h2",{id:"highlights-connecting-and-recognizing-contributions"},"Highlights: Connecting and Recognizing Contributions"),(0,o.kt)("p",null,"Leveraging OpenSauced's Highlights feature is a great way for maintainers to recognize and showcase the valuable contributions made to your open source projects, to curate and share key achievements, contributions, and milestones, and bring visibility to the hard work of your community."),(0,o.kt)("p",null,"Highlights can be used to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"publicize issues on your repository that you'd like to match with contributors,"),(0,o.kt)("li",{parentName:"ul"},"share Dev.to blog posts you've written,"),(0,o.kt)("li",{parentName:"ul"},"celebrate PRs for your project.")),(0,o.kt)("h3",{id:"creating-a-new-highlight"},"Creating a New Highlight"),(0,o.kt)("p",null,"There are two ways to create a new highlight:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"After clicking the ",(0,o.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"Highlights tab"),' in the top navigation, click the input that says "Post a highlight to show your work!"')),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},'From your profile, click the input that says "Post a highlight to show your work!"'))),(0,o.kt)("p",null,"After you've clicked the input, you'll see a form that allows you to create a new highlight."),(0,o.kt)("p",null,"There are two ways to create a highlight:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Paste the URL to your PR, Issue, or Dev.to blog post (shown in blue below)."),(0,o.kt)("li",{parentName:"ol"},"Choose from a list of suggestions (shown in orange below).")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"highlight suggestions",src:i(4173).Z,width:"626",height:"633"})),(0,o.kt)("p",null,"If you're adding a blog post, you'll need to associate it to a repository by clicking the \"Add a repo\" button."),(0,o.kt)("p",null,"Finally, it's time to add the details of your highlight. You can add a description yourself or use the auto-summarize function to generate a description."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"gif of creating a highlight",src:i(7352).Z,width:"2294",height:"1066"})),(0,o.kt)("h3",{id:"writing-an-effective-highlight"},"Writing an Effective Highlight"),(0,o.kt)("p",null,"Writing an effective highlight is key to attracting contributors to your project. Here are some tips to help you write an effective highlight:"),(0,o.kt)("h4",{id:"highlighting-issues"},"Highlighting Issues"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Focus on the problem solved"),": Begin by briefly describing the problem or challenge the issue addresses. This sets the context for why it was important."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Acknowledge contributor(s)"),": Mention the contributor(s) who reported or worked on the issue, recognizing their effort."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Impact statement"),": Explain how resolving this issue benefits the project, such as improving functionality, user experience, or security.")),(0,o.kt)("h4",{id:"highlighting-prs"},"Highlighting PRs"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Summarize the changes"),": Start with a clear summary of what the PR achieves. This could be a new feature, bug fix, or enhancement."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Credit the contributors"),": Acknowledge everyone who contributed to the PR, including reviewers."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Highlight the value"),": Explain the value of these changes to the project or its users. For instance, how it improves performance, adds a requested feature, or simplifies the codebase.")),(0,o.kt)("h4",{id:"highlighting-devto-blog-posts"},"Highlighting Dev.to Blog Posts"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Capture the essence"),": Begin with an interesting blog post summary, capturing the main theme or message."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Discuss the relevance"),": Explain why this blog post is important for your open source project or community. Is it about a major update, a community event, or sharing best practices?"),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Engage with a call-to-action"),": Encourage readers to engage with the post, whether by reading, commenting, or sharing their thoughts on the topic.")))}g.isMDXComponent=!0},7352:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},2615:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/team-sync-insights-d4d7794d5e28b72ffb375595c988cd37.gif"},3267:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/team-sync-09e7e2ab7b54fae335f5b4c40cce94b1.gif"},8967:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},4173:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},7392:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},7224:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"}}]); \ No newline at end of file diff --git a/assets/js/1c9ed6a5.1311021e.js b/assets/js/1c9ed6a5.1311021e.js deleted file mode 100644 index dfec27db..00000000 --- a/assets/js/1c9ed6a5.1311021e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[80],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),c=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=c(e.components);return o.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=c(n),m=r,g=u["".concat(s,".").concat(m)]||u[m]||d[m]||a;return n?o.createElement(g,i(i({ref:t},p),{},{components:n})):o.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[u]="string"==typeof e?e:r,i[1]=l;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var o=n(7462),r=(n(7294),n(3905));const a={id:"introduction-to-storybook",title:"Introduction to Storybook",sidebar_label:"Introduction to Storybook",keywords:["introduction to storybook"]},i=void 0,l={unversionedId:"contributing/technical/introduction-to-storybook",id:"contributing/technical/introduction-to-storybook",title:"Introduction to Storybook",description:"Storybook is an open-source tool that helps developers build, test, and document UI components in isolation. It's being leveraged to mock out visual React components. Follow this link to find the latest version of the OpenSauced design system.",source:"@site/docs/contributing/technical/introduction-to-storybook.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/introduction-to-storybook",permalink:"/contributing/technical/introduction-to-storybook",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/introduction-to-storybook.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"introduction-to-storybook",title:"Introduction to Storybook",sidebar_label:"Introduction to Storybook",keywords:["introduction to storybook"]},sidebar:"docs",previous:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/maintainers-guide"},next:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"}},s={},c=[{value:"UI Categories",id:"ui-categories",level:2},{value:"Making Changes to Storybook",id:"making-changes-to-storybook",level:2},{value:"Adding a New Category",id:"adding-a-new-category",level:3},{value:"Adding a New UI Element",id:"adding-a-new-ui-element",level:3}],p={toc:c},u="wrapper";function d(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Storybook is an open-source tool that helps developers build, test, and document UI components in isolation. It's being leveraged to mock out visual React components. ",(0,r.kt)("a",{parentName:"p",href:"https://sauced-components.netlify.app/"},"Follow this link")," to find the latest version of the OpenSauced design system."),(0,r.kt)("p",null,"To run Storybook, use this command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"npm run storybook\n")),(0,r.kt)("h2",{id:"ui-categories"},"UI Categories"),(0,r.kt)("p",null,"Storybook is broken into several categories:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Button"),": These are the Button elements that appear in the project in various forms. They primarily are the Button component in the project but can also be icons.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Cards"),": These are the main container elements in the project. Each item represents a live component in its current form in the project.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Primitives"),": These are the basic styling of base HTML components.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Nav"),": This is the main navigation bar for the project. There are two states:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"When no user is logged in."),(0,r.kt)("li",{parentName:"ul"},"When a user is logged in."))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Footer"),": This represents the various footers for the project.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Homepage"),": This is the main component of the project homepage and shows the home page in its current form.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Miscellaneous"),": These are components that currently don't fit neatly into the above categories."))),(0,r.kt)("h2",{id:"making-changes-to-storybook"},"Making Changes to Storybook"),(0,r.kt)("p",null,"This section details how to make changes to Storybook, mainly by creating new categories or UI elements."),(0,r.kt)("h3",{id:"adding-a-new-category"},"Adding a New Category"),(0,r.kt)("p",null,"To add a new category, a new file needs to be added to the ",(0,r.kt)("inlineCode",{parentName:"p"},"/stories")," directory."),(0,r.kt)("p",null,"When creating a new file, the file name should be named using the following convention: ",(0,r.kt)("inlineCode",{parentName:"p"},"*Previous File Number + 1*-*Name of Story Capitalized*-stories.js"),". For example, if the last file was ",(0,r.kt)("inlineCode",{parentName:"p"},"2-SideBar-stories.js"),", then the new file should be named ",(0,r.kt)("inlineCode",{parentName:"p"},"3-NameOfYourFile-stories.js"),"."),(0,r.kt)("p",null,"In the file ensure you have this code:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},'export default {\n title: "*Name of category*",\n};\n')),(0,r.kt)("h3",{id:"adding-a-new-ui-element"},"Adding a New UI Element"),(0,r.kt)("p",null,"To add a new UI element to an existing category, add the following code to that category's file:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-javascript"},"export const *Name of UI Element* = () => (\n// code for the new element\n);\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2d700f5a.4a326d6a.js b/assets/js/2d700f5a.4a326d6a.js deleted file mode 100644 index a49a0c39..00000000 --- a/assets/js/2d700f5a.4a326d6a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8237],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),c=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=c(n),h=o,f=l["".concat(u,".").concat(h)]||l[h]||d[h]||i;return n?r.createElement(f,a(a({ref:t},p),{},{components:n})):r.createElement(f,a({ref:t},p))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[l]="string"==typeof e?e:o,a[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(7462),o=(n(7294),n(3905));const i={id:"insights",title:"Insights into Open Source Projects",sidebar_label:"Insights",keywords:["insights"]},a=void 0,s={unversionedId:"features/insights",id:"features/insights",title:"Insights into Open Source Projects",description:"The Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions. From contribution trends to community health, OpenSauced Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.",source:"@site/docs/features/insights.md",sourceDirName:"features",slug:"/features/insights",permalink:"/features/insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/insights.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"insights",title:"Insights into Open Source Projects",sidebar_label:"Insights",keywords:["insights"]},sidebar:"docs",previous:{title:"Highlights",permalink:"/features/highlights"},next:{title:"Dev Card",permalink:"/features/dev-card"}},u={},c=[{value:"How to Use Insights",id:"how-to-use-insights",level:2},{value:"Contributors",id:"contributors",level:3},{value:"Maintainers",id:"maintainers",level:3}],p={toc:c},l="wrapper";function d(e){let{components:t,...i}=e;return(0,o.kt)(l,(0,r.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions. From contribution trends to community health, OpenSauced Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"insight-pages-demo",src:n(7220).Z,width:"960",height:"543"})),(0,o.kt)("h2",{id:"how-to-use-insights"},"How to Use Insights"),(0,o.kt)("h3",{id:"contributors"},"Contributors"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Track your contributions and the impact you're making."),(0,o.kt)("li",{parentName:"ul"},"Find new projects to contribute to."),(0,o.kt)("li",{parentName:"ul"},"Discover other contributors to collaborate with.")),(0,o.kt)("h3",{id:"maintainers"},"Maintainers"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Track the health of your project."),(0,o.kt)("li",{parentName:"ul"},"Identify contributors who are making an impact."),(0,o.kt)("li",{parentName:"ul"},"Find new contributors to support your project.")),(0,o.kt)("p",null,"To learn more about how to use Insights, check out our ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/maintainers-guide-to-open-sauced"},"Maintainers Guide")," and our ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/understanding-insights"},"Understanding Insights Data")," pages."))}d.isMDXComponent=!0},7220:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"}}]); \ No newline at end of file diff --git a/assets/js/2d700f5a.51e80e1c.js b/assets/js/2d700f5a.51e80e1c.js new file mode 100644 index 00000000..0a2be047 --- /dev/null +++ b/assets/js/2d700f5a.51e80e1c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8237],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),c=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},l=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=c(n),h=o,f=p["".concat(u,".").concat(h)]||p[h]||d[h]||i;return n?r.createElement(f,s(s({ref:t},l),{},{components:n})):r.createElement(f,s({ref:t},l))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=h;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[p]="string"==typeof e?e:o,s[1]=a;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=n(7462),o=(n(7294),n(3905));const i={id:"insights",title:"Insights into Open Source Projects",sidebar_label:"Insights",keywords:["insights"]},s=void 0,a={unversionedId:"features/insights",id:"features/insights",title:"Insights into Open Source Projects",description:"The Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions. From contribution trends to community health, OpenSauced Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.",source:"@site/docs/features/insights.md",sourceDirName:"features",slug:"/features/insights",permalink:"/features/insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/insights.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"insights",title:"Insights into Open Source Projects",sidebar_label:"Insights",keywords:["insights"]},sidebar:"docs",previous:{title:"Highlights",permalink:"/features/highlights"},next:{title:"Dev Card",permalink:"/features/dev-card"}},u={},c=[{value:"How to Use Insights",id:"how-to-use-insights",level:2},{value:"Contributors",id:"contributors",level:3},{value:"Maintainers",id:"maintainers",level:3}],l={toc:c},p="wrapper";function d(e){let{components:t,...i}=e;return(0,o.kt)(p,(0,r.Z)({},l,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions. From contribution trends to community health, OpenSauced Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"insight-pages-demo",src:n(7220).Z,width:"960",height:"543"})),(0,o.kt)("h2",{id:"how-to-use-insights"},"How to Use Insights"),(0,o.kt)("h3",{id:"contributors"},"Contributors"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Track your contributions and the impact you're making."),(0,o.kt)("li",{parentName:"ul"},"Find new projects to contribute to."),(0,o.kt)("li",{parentName:"ul"},"Discover other contributors to collaborate with.")),(0,o.kt)("h3",{id:"maintainers"},"Maintainers"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Track the health of your project."),(0,o.kt)("li",{parentName:"ul"},"Identify contributors who are making an impact."),(0,o.kt)("li",{parentName:"ul"},"Find new contributors to support your project.")),(0,o.kt)("p",null,"To learn more about how to use Insights, check out our ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/maintainers-guide-to-open-sauced"},"Maintainers Guide")," and our ",(0,o.kt)("a",{parentName:"p",href:"/maintainers/understanding-insights"},"Understanding Insights Data")," pages."))}d.isMDXComponent=!0},7220:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"}}]); \ No newline at end of file diff --git a/assets/js/32aa117d.4744de85.js b/assets/js/32aa117d.4744de85.js new file mode 100644 index 00000000..82fff964 --- /dev/null +++ b/assets/js/32aa117d.4744de85.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3116],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>y});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var u=n.createContext({}),c=function(e){var t=n.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},p=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=c(o),h=r,y=l["".concat(u,".").concat(h)]||l[h]||d[h]||i;return o?n.createElement(y,a(a({ref:t},p),{},{components:o})):n.createElement(y,a({ref:t},p))}));function y(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[l]="string"==typeof e?e:r,a[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=o(7462),r=(o(7294),o(3905));const i={id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs"]},a=void 0,s={unversionedId:"welcome/faqs",id:"welcome/faqs",title:"Frequently Asked Questions",description:"Contributions",source:"@site/docs/welcome/faqs.md",sourceDirName:"welcome",slug:"/welcome/faqs",permalink:"/welcome/faqs",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/faqs.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs"]},sidebar:"docs",previous:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"},next:{title:"Highlights",permalink:"/features/highlights"}},u={},c=[{value:"Contributions",id:"contributions",level:2},{value:"1. How do I find good first issues?",id:"1-how-do-i-find-good-first-issues",level:3},{value:"Additional Resources:",id:"additional-resources",level:4},{value:"2. My contribution does not show up on my OpenSauced profile. How do I fix it?",id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it",level:3},{value:"3. I want to provide feedback on OpenSauced.",id:"3-i-want-to-provide-feedback-on-opensauced",level:3},{value:"Sync your GitHub Team",id:"sync-your-github-team",level:2},{value:"1. I don't see my organization on "Sync your GitHub Team".",id:"1-i-dont-see-my-organization-on-sync-your-github-team",level:3},{value:"2. I get an error when I try to select my team in "Sync your GitHub Team".",id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team",level:3}],p={toc:c},l="wrapper";function d(e){let{components:t,...o}=e;return(0,r.kt)(l,(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"contributions"},"Contributions"),(0,r.kt)("h3",{id:"1-how-do-i-find-good-first-issues"},"1. How do I find good first issues?"),(0,r.kt)("p",null,"We believe that ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/blog/good-first-issues-dont-exist"},"good first issues don't exist"),", and the best way to find an issue to work on is to create the issue yourself."),(0,r.kt)("p",null,"However, sites like ",(0,r.kt)("a",{parentName:"p",href:"https://goodfirstissues.com/"},"Good First Issues")," and ",(0,r.kt)("a",{parentName:"p",href:"https://www.firsttimersonly.com/"},"First Timers Only")," can lead you to projects and issues worth working on. You can also use the ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," label in the project search engine you want to contribute to. Check out ",(0,r.kt)("a",{parentName:"p",href:"https://www.freecodecamp.org/news/how-to-find-good-first-issues-on-github/"},"this guide")," to learn more about finding a ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," on GitHub.."),(0,r.kt)("h4",{id:"additional-resources"},"Additional Resources:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/23323"},'"Who\'s looking for open source contributors?" series on Dev.to')),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/"},"Intro to Open Source Course with OpenSauced"))),(0,r.kt)("h3",{id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it"},"2. My contribution does not show up on my OpenSauced profile. How do I fix it?"),(0,r.kt)("p",null,"Create an ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/hub/insights"},"Insights Page")," or add your merged pull request to a ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"Highlight"),"."),(0,r.kt)("h3",{id:"3-i-want-to-provide-feedback-on-opensauced"},"3. I want to provide feedback on OpenSauced."),(0,r.kt)("p",null,"We love feedback. Post your suggestion in our ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"feedback repository"),"."),(0,r.kt)("h2",{id:"sync-your-github-team"},"Sync your GitHub Team"),(0,r.kt)("h3",{id:"1-i-dont-see-my-organization-on-sync-your-github-team"},'1. I don\'t see my organization on "Sync your GitHub Team".'),(0,r.kt)("p",null,'You may not see your organization if you are not a "public" member. You can update this by going to the organization on GitHub and selecting the "People" tab. Next, search for your name. You can then change "private" to "public." For complete instructions, see ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership"},"this guide"),"."),(0,r.kt)("h3",{id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team"},'2. I get an error when I try to select my team in "Sync your GitHub Team".'),(0,r.kt)("p",null,'If you see your organization but get an error when selecting a team, your organization likely has restricted third-party applications. You can check this if you are an ownder by going to "Your organizations" on GitHub, selecting "Settings", and then "Third-party Access".'),(0,r.kt)("p",null,"If you're an ",(0,r.kt)("strong",{parentName:"p"},"owner"),' of the repository, you can select "Allow select third-party access" or specifically approve OpenSauced by following the directions in ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization"},"this guide"),"."),(0,r.kt)("p",null,"If you are not an owner of the organization, you will need to check with your organization's owner and request access. For complete instructions, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps"},"this guide"),"."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/32aa117d.bc36a4dd.js b/assets/js/32aa117d.bc36a4dd.js deleted file mode 100644 index befa2a68..00000000 --- a/assets/js/32aa117d.bc36a4dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3116],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>h});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var u=n.createContext({}),c=function(e){var t=n.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},p=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=c(o),y=r,h=l["".concat(u,".").concat(y)]||l[y]||d[y]||i;return o?n.createElement(h,a(a({ref:t},p),{},{components:o})):n.createElement(h,a({ref:t},p))}));function h(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=y;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[l]="string"==typeof e?e:r,a[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=o(7462),r=(o(7294),o(3905));const i={id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs"]},a=void 0,s={unversionedId:"welcome/faqs",id:"welcome/faqs",title:"Frequently Asked Questions",description:"Contributions",source:"@site/docs/welcome/faqs.md",sourceDirName:"welcome",slug:"/welcome/faqs",permalink:"/welcome/faqs",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/faqs.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs"]},sidebar:"docs",previous:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"},next:{title:"Highlights",permalink:"/features/highlights"}},u={},c=[{value:"Contributions",id:"contributions",level:2},{value:"1. How do I find good first issues?",id:"1-how-do-i-find-good-first-issues",level:3},{value:"Additional Resources:",id:"additional-resources",level:4},{value:"2. My contribution does not show up on my OpenSauced profile. How do I fix it?",id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it",level:3},{value:"3. I want to provide feedback on OpenSauced.",id:"3-i-want-to-provide-feedback-on-opensauced",level:3},{value:"Sync your GitHub Team",id:"sync-your-github-team",level:2},{value:"1. I don't see my organization on "Sync your GitHub Team".",id:"1-i-dont-see-my-organization-on-sync-your-github-team",level:3},{value:"2. I get an error when I try to select my team in "Sync your GitHub Team".",id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team",level:3}],p={toc:c},l="wrapper";function d(e){let{components:t,...o}=e;return(0,r.kt)(l,(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"contributions"},"Contributions"),(0,r.kt)("h3",{id:"1-how-do-i-find-good-first-issues"},"1. How do I find good first issues?"),(0,r.kt)("p",null,"We believe that ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/blog/good-first-issues-dont-exist"},"good first issues don't exist"),", and the best way to find an issue to work on is to create the issue yourself."),(0,r.kt)("p",null,"However, sites like ",(0,r.kt)("a",{parentName:"p",href:"https://goodfirstissues.com/"},"Good First Issues")," and ",(0,r.kt)("a",{parentName:"p",href:"https://www.firsttimersonly.com/"},"First Timers Only")," can lead you to projects and issues worth working on. You can also use the ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," label in the project search engine you want to contribute to. Check out ",(0,r.kt)("a",{parentName:"p",href:"https://www.freecodecamp.org/news/how-to-find-good-first-issues-on-github/"},"this guide")," to learn more about finding a ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," on GitHub.."),(0,r.kt)("h4",{id:"additional-resources"},"Additional Resources:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/23323"},'"Who\'s looking for open source contributors?" series on Dev.to')),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/"},"Intro to Open Source Course with OpenSauced"))),(0,r.kt)("h3",{id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it"},"2. My contribution does not show up on my OpenSauced profile. How do I fix it?"),(0,r.kt)("p",null,"Create an ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/hub/insights"},"Insights Page")," or add your merged pull request to a ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"Highlight"),"."),(0,r.kt)("h3",{id:"3-i-want-to-provide-feedback-on-opensauced"},"3. I want to provide feedback on OpenSauced."),(0,r.kt)("p",null,"We love feedback. Post your suggestion in our ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"feedback repository"),"."),(0,r.kt)("h2",{id:"sync-your-github-team"},"Sync your GitHub Team"),(0,r.kt)("h3",{id:"1-i-dont-see-my-organization-on-sync-your-github-team"},'1. I don\'t see my organization on "Sync your GitHub Team".'),(0,r.kt)("p",null,'You may not see your organization if you are not a "public" member. You can update this by going to the organization on GitHub and selecting the "People" tab. Next, search for your name. You can then change "private" to "public." For complete instructions, see ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership"},"this guide"),"."),(0,r.kt)("h3",{id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team"},'2. I get an error when I try to select my team in "Sync your GitHub Team".'),(0,r.kt)("p",null,'If you see your organization but get an error when selecting a team, your organization likely has restricted third-party applications. You can check this if you are an ownder by going to "Your organizations" on GitHub, selecting "Settings", and then "Third-party Access".'),(0,r.kt)("p",null,"If you're an ",(0,r.kt)("strong",{parentName:"p"},"owner"),' of the repository, you can select "Allow select third-party access" or specifically approve OpenSauced by following the directions in ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization"},"this guide"),"."),(0,r.kt)("p",null,"If you are not an owner of the organization, you will need to check with your organization's owner and request access. For complete instructions, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps"},"this guide"),"."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/43ab1095.42327af9.js b/assets/js/43ab1095.42327af9.js deleted file mode 100644 index c1339f1a..00000000 --- a/assets/js/43ab1095.42327af9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1568],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),d=r,m=u["".concat(l,".").concat(d)]||u[d]||h[d]||i;return n?o.createElement(m,a(a({ref:t},c),{},{components:n})):o.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:r,a[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var o=n(7462),r=(n(7294),n(3905));const i={id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions"]},a=void 0,s={unversionedId:"tools/chrome-extension/pr-description",id:"tools/chrome-extension/pr-description",title:"PR Description",description:"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings.",source:"@site/docs/tools/chrome-extension/pr-description.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/pr-description",permalink:"/tools/chrome-extension/pr-description",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/pr-description.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions"]},sidebar:"docs",previous:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"},next:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"}},l={},p=[],c={toc:p},u="wrapper";function h(e){let{components:t,...i}=e;return(0,r.kt)(u,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},(0,r.kt)("strong",{parentName:"em"},"Note"),": This feature is not available on private repositories.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate pr description",src:n(3706).Z,width:"954",height:"405"})),(0,r.kt)("p",null,"You can use these settings to set the strictness and the tone of the generated AI. Below is the explanation of the settings:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Length"),": The output length."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Temperature"),": The similarity between the input text and the output, higher temperature mean more randomness, lower temperature means more strict to the input."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Max Input Length.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Language:")," Right now, this feature supports: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Korean."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Tone:")," The tone of the output: Exciting, Persuasive, Informative, Humorous, Formal."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Source:")," The source of the description that our AI will use to get the output it can be the next: ",(0,r.kt)("strong",{parentName:"li"},"Commit Messages")," or ",(0,r.kt)("strong",{parentName:"li"},"The diff between the files")," or ",(0,r.kt)("strong",{parentName:"li"},"both"),".")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241760972-aa10eabe-3c01-4921-956a-ab85bada1575.png",alt:"Setting screenshot"})),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/fa19fa8e-e652-461c-8df4-6e959c9b9943",alt:"ezgif-3-43e056fc1f"})),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/insights/pull/1197"},"Example PR"),", using the next options: both in the description source, 500 for output length and 3900 max input length, temperature 0.7."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Exciting:")," This PR fixes the follow call and adds a ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to the ",(0,r.kt)("inlineCode",{parentName:"p"},"contributor-highlight-card"),". The code has been linted and merged from the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch. ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function allows users to follow/unfollow contributors. Copy link and follow/unfollow options are now available in the dropdown menu."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Persuasive:")," This PR fixes the follow call and linting issues in the ",(0,r.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. It also merges the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,r.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),". A new ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function has been added to handle follow/unfollow functionality. This PR ensures a smoother user experience."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Informative:")," This PR fixes the follow call and linting issues in the ",(0,r.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,r.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. The code has been tested and reviewed."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Humorous:")," This PR fixes the follow call and also lints the file. We've also added a new ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to make the code more readable. Now you can follow/unfollow contributors with ease. We've also merged the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,r.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Formal:")," This PR fixes the follow call and linting issues in the ",(0,r.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,r.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. This PR also merges the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,r.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."))}h.isMDXComponent=!0},3706:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-description-e9b163f4d321927a53dd90d340fec85f.gif"}}]); \ No newline at end of file diff --git a/assets/js/43ab1095.9bb2b263.js b/assets/js/43ab1095.9bb2b263.js new file mode 100644 index 00000000..e849e85c --- /dev/null +++ b/assets/js/43ab1095.9bb2b263.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1568],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),d=r,m=u["".concat(l,".").concat(d)]||u[d]||h[d]||i;return n?o.createElement(m,a(a({ref:t},c),{},{components:n})):o.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:r,a[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var o=n(7462),r=(n(7294),n(3905));const i={id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions"]},a=void 0,s={unversionedId:"tools/chrome-extension/pr-description",id:"tools/chrome-extension/pr-description",title:"PR Description",description:"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings.",source:"@site/docs/tools/chrome-extension/pr-description.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/pr-description",permalink:"/tools/chrome-extension/pr-description",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/pr-description.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions"]},sidebar:"docs",previous:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"},next:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"}},l={},p=[],c={toc:p},u="wrapper";function h(e){let{components:t,...i}=e;return(0,r.kt)(u,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},(0,r.kt)("strong",{parentName:"em"},"Note"),": This feature is not available on private repositories.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate pr description",src:n(3706).Z,width:"954",height:"405"})),(0,r.kt)("p",null,"You can use these settings to set the strictness and the tone of the generated AI. Below is the explanation of the settings:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Length"),": The output length."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Temperature"),": The similarity between the input text and the output, higher temperature mean more randomness, lower temperature means more strict to the input."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Max Input Length.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Language:")," Right now, this feature supports: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Korean."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Tone:")," The tone of the output: Exciting, Persuasive, Informative, Humorous, Formal."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Description Source:")," The source of the description that our AI will use to get the output it can be the next: ",(0,r.kt)("strong",{parentName:"li"},"Commit Messages")," or ",(0,r.kt)("strong",{parentName:"li"},"The diff between the files")," or ",(0,r.kt)("strong",{parentName:"li"},"both"),".")),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241760972-aa10eabe-3c01-4921-956a-ab85bada1575.png",alt:"Setting screenshot"})),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/fa19fa8e-e652-461c-8df4-6e959c9b9943",alt:"ezgif-3-43e056fc1f"})),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/insights/pull/1197"},"Example PR"),", using the next options: both in the description source, 500 for output length and 3900 max input length, temperature 0.7."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Exciting:")," This PR fixes the follow call and adds a ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to the ",(0,r.kt)("inlineCode",{parentName:"p"},"contributor-highlight-card"),". The code has been linted and merged from the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch. ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function allows users to follow/unfollow contributors. Copy link and follow/unfollow options are now available in the dropdown menu."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Persuasive:")," This PR fixes the follow call and linting issues in the ",(0,r.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. It also merges the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,r.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),". A new ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function has been added to handle follow/unfollow functionality. This PR ensures a smoother user experience."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Informative:")," This PR fixes the follow call and linting issues in the ",(0,r.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,r.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. The code has been tested and reviewed."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Humorous:")," This PR fixes the follow call and also lints the file. We've also added a new ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to make the code more readable. Now you can follow/unfollow contributors with ease. We've also merged the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,r.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Formal:")," This PR fixes the follow call and linting issues in the ",(0,r.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,r.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,r.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. This PR also merges the ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,r.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."))}h.isMDXComponent=!0},3706:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-description-e9b163f4d321927a53dd90d340fec85f.gif"}}]); \ No newline at end of file diff --git a/assets/js/43d9ba09.e38d1c40.js b/assets/js/43d9ba09.ae00ae56.js similarity index 74% rename from assets/js/43d9ba09.e38d1c40.js rename to assets/js/43d9ba09.ae00ae56.js index ae9d0dbe..8fd46139 100644 --- a/assets/js/43d9ba09.e38d1c40.js +++ b/assets/js/43d9ba09.ae00ae56.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4726],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),s=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(n),f=r,m=d["".concat(l,".").concat(f)]||d[f]||u[f]||a;return n?o.createElement(m,i(i({ref:t},p),{},{components:n})):o.createElement(m,i({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:r,i[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const a={id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations"]},i=void 0,c={unversionedId:"tools/chrome-extension/code-explanation",id:"tools/chrome-extension/code-explanation",title:"Code Explanation",description:"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.",source:"@site/docs/tools/chrome-extension/code-explanation.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/code-explanation",permalink:"/tools/chrome-extension/code-explanation",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/code-explanation.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations"]},sidebar:"docs",previous:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"},next:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"}},l={},s=[],p={toc:s},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(8528).Z,width:"828",height:"481"})))}u.isMDXComponent=!0},8528:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-explain-4dde1737ae1b0792fc287750ae7de5fd.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4726],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),s=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(n),f=r,m=d["".concat(l,".").concat(f)]||d[f]||u[f]||a;return n?o.createElement(m,i(i({ref:t},p),{},{components:n})):o.createElement(m,i({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:r,i[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const a={id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations"]},i=void 0,c={unversionedId:"tools/chrome-extension/code-explanation",id:"tools/chrome-extension/code-explanation",title:"Code Explanation",description:"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.",source:"@site/docs/tools/chrome-extension/code-explanation.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/code-explanation",permalink:"/tools/chrome-extension/code-explanation",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/code-explanation.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations"]},sidebar:"docs",previous:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"},next:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"}},l={},s=[],p={toc:s},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(8528).Z,width:"828",height:"481"})))}u.isMDXComponent=!0},8528:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-explain-4dde1737ae1b0792fc287750ae7de5fd.gif"}}]); \ No newline at end of file diff --git a/assets/js/455b852b.6107f771.js b/assets/js/455b852b.5eb9206a.js similarity index 67% rename from assets/js/455b852b.6107f771.js rename to assets/js/455b852b.5eb9206a.js index 3f5d8e01..178df712 100644 --- a/assets/js/455b852b.6107f771.js +++ b/assets/js/455b852b.5eb9206a.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[358],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),u=l(n),h=r,m=u["".concat(s,".").concat(h)]||u[h]||p[h]||i;return n?o.createElement(m,c(c({ref:t},d),{},{components:n})):o.createElement(m,c({ref:t},d))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,c=new Array(i);c[0]=h;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[u]="string"==typeof e?e:r,c[1]=a;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var o=n(7462),r=(n(7294),n(3905));const i={id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension"]},c=void 0,a={unversionedId:"tools/chrome-extension/introduction-to-the-chrome-extension",id:"tools/chrome-extension/introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",description:"The OpenSauced Chrome Extension",source:"@site/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/introduction-to-the-chrome-extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension"]},sidebar:"docs",previous:{title:"Pizza CLI",permalink:"/tools/pizza-cli"},next:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"}},s={},l=[{value:"The OpenSauced Chrome Extension",id:"the-opensauced-chrome-extension",level:2},{value:"Installing the Chrome Extension",id:"installing-the-chrome-extension",level:2}],d={toc:l},u="wrapper";function p(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"the-opensauced-chrome-extension"},"The OpenSauced Chrome Extension"),(0,r.kt)("p",null,"The OpenSauced Chrome extension seamlessly integrates GitHub with the OpenSauced platform. With this extension, you can easily view and discover open-source projects looking for contributions directly from GitHub, making collaboration and contribution easier than ever."),(0,r.kt)("h2",{id:"installing-the-chrome-extension"},"Installing the Chrome Extension"),(0,r.kt)("p",null,"To install the OpenSauced Chrome extension, navigate to the ",(0,r.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/opensauced/aebjdjjodmkdnmejakflnfpkadblfmdh"},"OpenSauced.ai extension on Chrome Web Store"),' and click the "Add to Chrome" button.'))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[358],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),u=l(n),h=r,m=u["".concat(s,".").concat(h)]||u[h]||p[h]||i;return n?o.createElement(m,c(c({ref:t},d),{},{components:n})):o.createElement(m,c({ref:t},d))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,c=new Array(i);c[0]=h;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[u]="string"==typeof e?e:r,c[1]=a;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var o=n(7462),r=(n(7294),n(3905));const i={id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension"]},c=void 0,a={unversionedId:"tools/chrome-extension/introduction-to-the-chrome-extension",id:"tools/chrome-extension/introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",description:"The OpenSauced Chrome Extension",source:"@site/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/introduction-to-the-chrome-extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension"]},sidebar:"docs",previous:{title:"Pizza CLI",permalink:"/tools/pizza-cli"},next:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"}},s={},l=[{value:"The OpenSauced Chrome Extension",id:"the-opensauced-chrome-extension",level:2},{value:"Installing the Chrome Extension",id:"installing-the-chrome-extension",level:2}],d={toc:l},u="wrapper";function p(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"the-opensauced-chrome-extension"},"The OpenSauced Chrome Extension"),(0,r.kt)("p",null,"The OpenSauced Chrome extension seamlessly integrates GitHub with the OpenSauced platform. With this extension, you can easily view and discover open-source projects looking for contributions directly from GitHub, making collaboration and contribution easier than ever."),(0,r.kt)("h2",{id:"installing-the-chrome-extension"},"Installing the Chrome Extension"),(0,r.kt)("p",null,"To install the OpenSauced Chrome extension, navigate to the ",(0,r.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/opensauced/aebjdjjodmkdnmejakflnfpkadblfmdh"},"OpenSauced.ai extension on Chrome Web Store"),' and click the "Add to Chrome" button.'))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4658ccba.180ac16e.js b/assets/js/4658ccba.180ac16e.js deleted file mode 100644 index 2b0aaa63..00000000 --- a/assets/js/4658ccba.180ac16e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2817],{3905:(t,e,n)=>{n.d(e,{Zo:()=>p,kt:()=>k});var a=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var s=a.createContext({}),u=function(t){var e=a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},p=function(t){var e=u(t.components);return a.createElement(s.Provider,{value:e},t.children)},d="mdxType",c={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,s=t.parentName,p=l(t,["components","mdxType","originalType","parentName"]),d=u(n),m=r,k=d["".concat(s,".").concat(m)]||d[m]||c[m]||o;return n?a.createElement(k,i(i({ref:e},p),{},{components:n})):a.createElement(k,i({ref:e},p))}));function k(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l[d]="string"==typeof t?t:r,i[1]=l;for(var u=2;u{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var a=n(7462),r=(n(7294),n(3905));const o={id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how-to-translate-open-source-contributions-into-career-opportunities"]},i=void 0,l={unversionedId:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",id:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",description:"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.",source:"@site/docs/job-seekers-guide/categorize-contributions.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/categorize-contributions.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how-to-translate-open-source-contributions-into-career-opportunities"]},sidebar:"docs",previous:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},s={},u=[{value:"Personal Information",id:"personal-information",level:2},{value:"Career Goals",id:"career-goals",level:2},{value:"How to Match Job Requirements to Your Current Skills",id:"how-to-match-job-requirements-to-your-current-skills",level:2},{value:"Finding Open Source Projects to Contribute to",id:"finding-open-source-projects-to-contribute-to",level:2},{value:"Open Source Project Contribution",id:"open-source-project-contribution",level:2},{value:"Basic Project Information",id:"basic-project-information",level:3},{value:"Learn and Development",id:"learn-and-development",level:3},{value:"Contribution Tracking",id:"contribution-tracking",level:3},{value:"Using the Highlights Feature to Track Your Contributions",id:"using-the-highlights-feature-to-track-your-contributions",level:3},{value:"Using the Lists Feature to Add People You Interacted with During Your Contributions",id:"using-the-lists-feature-to-add-people-you-interacted-with-during-your-contributions",level:3},{value:"Using the Insights Feature to Track the Repositories You Contributed to",id:"using-the-insights-feature-to-track-the-repositories-you-contributed-to",level:3},{value:"Networking and Professional Development",id:"networking-and-professional-development",level:3},{value:"Using Your OpenSauced Dev Card for Networking",id:"using-your-opensauced-dev-card-for-networking",level:3},{value:"Reflection and Next Steps",id:"reflection-and-next-steps",level:3},{value:"Using the Highlights Feature to Update Your Professional Profile",id:"using-the-highlights-feature-to-update-your-professional-profile",level:3},{value:"Example Chart for Frontend Developer",id:"example-chart-for-frontend-developer",level:2},{value:"Additional Resources",id:"additional-resources",level:2}],p={toc:u},d="wrapper";function c(t){let{components:e,...o}=t;return(0,r.kt)(d,(0,a.Z)({},p,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews."),(0,r.kt)("p",null,"In this guide, we have created a table that you can use to categorize and keep detailed notes for each contribution you have made. We will break down each of these table components and talk about how to use this in your resume and job profile, and you can see a full example at the end of this guide."),(0,r.kt)("h2",{id:"personal-information"},"Personal Information"),(0,r.kt)("p",null,"In this section of the table, you can include information like your name, email, GitHub profile, LinkedIn profile, OpenSauced profile, blog, etc. When it comes to the professional profiles, think about which profiles you want to show off to employers that highlights your skills and experience relevant to the types of jobs you are interested in."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"GitHub profile"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OpenSauced profile"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h2",{id:"career-goals"},"Career Goals"),(0,r.kt)("p",null,"If you are new to the industry, you will want to list out which area of tech you are interested in pursuing. If you are looking for your next tech role, then you can list your current role or the role you wish to switch to."),(0,r.kt)("p",null,"If you are looking to level up in your role, you should list it in this section and list out the key skills required for that next level. You should also link to a few job posts to get an idea of key skills are required for that next level you are working towards."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your Desired Role]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job level"),(0,r.kt)("td",{parentName:"tr",align:null},"[Junior, Mid, Senior, etc]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"[Skills to Focus On]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"[Frontend, Backend, Fullstack, ML, AI, etc.]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Example Job Links"),(0,r.kt)("td",{parentName:"tr",align:null},"[Link to desired jobs]")))),(0,r.kt)("h2",{id:"how-to-match-job-requirements-to-your-current-skills"},"How to Match Job Requirements to Your Current Skills"),(0,r.kt)("p",null,"A common mistake for many job seekers is to send out the same resume template to all jobs. But in today's tech market it is important to stand out and tailor your resume to match your skills with the requirements listed."),(0,r.kt)("p",null,"In the previous section, you identified desired roles and key skills needed for those jobs. When you are reading through job descriptions, you will want to identify key skills that are repeatedly mentioned and add that to your career goals section."),(0,r.kt)("p",null,"As you fill out the remaining sections for project contributions, check to see if the contributions match the common skills requested in those jobs. If not, then you have just identified a skill gap and will need to find projects and issues that will allow you to strengthen those skills."),(0,r.kt)("h2",{id:"finding-open-source-projects-to-contribute-to"},"Finding Open Source Projects to Contribute to"),(0,r.kt)("p",null,"After you have filled out the career section of the table, you will want to find open source projects that align with your goals. You can use the explore feature on OpenSauced to explore new repositories in a variety of topics like ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/javascript/dashboard/filter/recent?range=30"},"JavaScript"),", ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/python/dashboard/filter/recent?range=30"},"Python"),", and ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/ml/dashboard/filter/recent?range=30"},"Machine learning"),"."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Explore Machine Learning projects in OpenSauced",src:n(3515).Z,width:"2592",height:"1338"})),(0,r.kt)("p",null,"Finding a good project to contribute to takes time. So make sure to look at the frequency of contributions to the project and the types of issues and features the project needs help with. If it aligns with your career goals, then start off with smaller issues and then move to larger features over time. You will also want to join the project's community chat room or Discord channel to connect with other contributors and core team members of the project."),(0,r.kt)("h2",{id:"open-source-project-contribution"},"Open Source Project Contribution"),(0,r.kt)("p",null,"In this next section, you will want to list out the meaningful contributions you have made to different open source projects. This can include documentation, code features, bug fixes, etc. Remember that, you will want to list out meaningful contributions that match the goals you laid out earlier."),(0,r.kt)("h3",{id:"basic-project-information"},"Basic Project Information"),(0,r.kt)("p",null,"For each project contribution, you will want to list out the project name along with the PR and issue links. Then you will want to describe in a few short sentences why you chose this project and how it will help you with your career goals."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project Name]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project URL]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"[Reasons for Choosing This Project]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"[Code, Documentation, Community Support, etc.]")))),(0,r.kt)("h3",{id:"learn-and-development"},"Learn and Development"),(0,r.kt)("p",null,"Once your contribution has been approved and merged into the project, you will want to reflect on what you have learned during this process. What types of new skills or technologies did you learn while working on this issue? What challenges did you face? How did you interact with the community when you needed clarification on an issue or needed help with the pull request?"),(0,r.kt)("p",null,"Keeping track of this information is helpful because you can reference these experiences later when crafting your resume. Potential employers will want to see how you work with others, how you problem solve and how you deliver solutions in a project."),(0,r.kt)("p",null,"Feel free to link to the pull request and issue discussions as references on how you worked with contributors in this project."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"[List of New Skills]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"[Challenges Faced and Resolved]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"[Meetups, Discussions, etc.]")))),(0,r.kt)("h3",{id:"contribution-tracking"},"Contribution Tracking"),(0,r.kt)("p",null,"For each project contribution, you will want to list the date and brief summary on what the issue was and how you solved it. It would also be good to list out any acknowledgements you received from other contributors or core team members on the project because it highlights the impact you left."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"[Date of Contribution]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},"[Summary of Contribution with Links]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"[Feedback and Achievements]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-track-your-contributions"},"Using the Highlights Feature to Track Your Contributions"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights feature")," is the place you can display your favorite open source contributions, and share your open source story."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights",src:n(7352).Z,width:"2294",height:"1066"})),(0,r.kt)("p",null,"You can use this feature to help you track the open source contributions that you are most proud of and share your accomplishments with your network. All of your highlights will appear on your OpenSauced profile, so sharing your profile is another way to let potential employers see the types of contributions you've made and the highlight you've identified as the most important."),(0,r.kt)("h3",{id:"using-the-lists-feature-to-add-people-you-interacted-with-during-your-contributions"},"Using the Lists Feature to Add People You Interacted with During Your Contributions"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/lists"},"Lists feature")," enables you to categorize, monitor, and analyze different groups of contributors within open source projects."),(0,r.kt)("p",null,"You can use this feature to create a list of people you interacted with during your open source work. If you continually work with the same individuals, then they can act as referrals and references for jobs."),(0,r.kt)("p",null,"Lists can also be used to track other people in your network to reach out to about their contributions."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"lists-page",src:n(6008).Z,width:"1440",height:"1124"})),(0,r.kt)("h3",{id:"using-the-insights-feature-to-track-the-repositories-you-contributed-to"},"Using the Insights Feature to Track the Repositories You Contributed to"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/insights"},"Insights feature")," is a comprehensive view of a project's health and individual contributions. You can use it to track the repositories you contributed to or to track repositories of open source companies that are hiring."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"insight-pages-demo",src:n(7220).Z,width:"960",height:"543"})),(0,r.kt)("h3",{id:"networking-and-professional-development"},"Networking and Professional Development"),(0,r.kt)("p",null,"Some larger features can lead to networking and other professional development opportunities, like speaking at meetups or writing for tech publications. It is important that you list out who you mainly corresponded with for each contribution and any opportunities that came from this contribution."),(0,r.kt)("p",null,"If you have corresponded with the same core contributors and maintainers over the past few contributions, try reaching out about collaborating on other projects together. You never know where an opportunity will lead."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"[Contacts Made and Their Roles]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"[What You Learned from Networking]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"[Planned Networking Activities]")))),(0,r.kt)("h3",{id:"using-your-opensauced-dev-card-for-networking"},"Using Your OpenSauced Dev Card for Networking"),(0,r.kt)("p",null,"Your ",(0,r.kt)("a",{parentName:"p",href:"/features/dev-card"},"OpenSauced Dev card"),' serves as your "open source business card" to showcase all of your recent open source activities. You will find recent activity concerning the projects you contribute to, frequency of pull requests and projects you are interested in.'),(0,r.kt)("p",null,"You can easily share your Dev card on social media platforms like X/Twitter and LinkedIn to gain attention from potential recruiters and hiring managers."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Dev card",src:n(2).Z,width:"940",height:"658"})),(0,r.kt)("h3",{id:"reflection-and-next-steps"},"Reflection and Next Steps"),(0,r.kt)("p",null,"In this section, you will want to reflect on what went well with this contribution and areas in which you struggled with."),(0,r.kt)("p",null,"It is important to tie these reflections back to your career goals and desired job roles you defined earlier. If you are weaker in skills that are required for the jobs are seeking, use future open source contributions as a way to strengthen these skills."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"[What You Learned]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Areas to Work On for Future Projects]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your Next Goal in Open Source Contribution]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-update-your-professional-profile"},"Using the Highlights Feature to Update Your Professional Profile"),(0,r.kt)("p",null,"After each contribution, you will want to update your LinkedIn profile and resume to highlight what you have done recently. A lot of recruiters and hiring managers are on the look out for talented individuals on LinkedIn, so it is important to keep your profile up to date of your recent accomplishments."),(0,r.kt)("p",null,"The Highlights feature allows you to post about your recent open source contributions on OpenSauced and share it with other social media outlets like Twitter and LinkedIn."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights Feature",src:n(4173).Z,width:"626",height:"633"})),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"[Details of Updates]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"[Key Points Highlighted]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Plans for Further Enhancing Your Profile]")))),(0,r.kt)("h2",{id:"example-chart-for-frontend-developer"},"Example Chart for Frontend Developer"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Jane Smith")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:jane.smith@email.com"},"jane.smith@email.com"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Professional Profile (LinkedIn/GitHub/OpenSauced profile)"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://www.linkedin.com/in/janesmith"},"LinkedIn"),", ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/janesmith"},"GitHub"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/BekahHW"},"OpenSauced"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"Frontend Developer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"React.js, CSS-in-JS, Web Accessibility")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"Web Development, UI/UX Design")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Open Source Project Contribution No.1")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Awesome React Components")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components"},"GitHub Repository"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/pages/BekahHW/655/dashboard?range=30"},"OpenSauced Insight Page"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"Interested in learning about creating reusable UI components.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"Implemented a new responsive carousel component.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"Styled Components, Carousel Design Patterns")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"Overcame performance issues with large datasets.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"Participated in design discussions on the project's Discord channel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"2023-03-10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components/pull/456"},"Pull Request #456"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"Positive feedback on the elegant design; milestone: merged into main branch.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"Connected with project maintainers and frontend enthusiasts.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"Learned about upcoming trends in frontend development.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"Planning to attend the project's monthly virtual meetup.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"Improved skills in component design and collaboration.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"Intend to deepen knowledge in state management with Redux.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"Contribute to a project focused on enhancing web accessibility.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"Successfully implemented a responsive carousel component, enhancing user experience and receiving positive feedback. Demonstrated expertise in React.js and CSS-in-JS.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"Highlighted successful implementation of the responsive carousel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"Attend frontend development conferences and workshops.")))),(0,r.kt)("h2",{id:"additional-resources"},"Additional Resources"),(0,r.kt)("p",null,"If you're looking for more resources about the job hunt, check out these OpenSauced posts:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/building-your-devrel-resume-with-open-source-4km3"},"Building Your DevRel Resume with Open Source")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/how-to-talk-about-your-open-source-experience-in-a-tech-interview-3l96"},"How to Talk About Your Open Source Experience in a Tech Interview"))))}c.isMDXComponent=!0},7352:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},7220:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},2:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},4173:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},6008:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"},3515:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/ml-explore-page-704a5b0153e392938e6f0e34a7e3a82d.png"}}]); \ No newline at end of file diff --git a/assets/js/4658ccba.b458e3f4.js b/assets/js/4658ccba.b458e3f4.js new file mode 100644 index 00000000..479bf7e8 --- /dev/null +++ b/assets/js/4658ccba.b458e3f4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2817],{3905:(t,e,n)=>{n.d(e,{Zo:()=>p,kt:()=>k});var a=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var s=a.createContext({}),u=function(t){var e=a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},p=function(t){var e=u(t.components);return a.createElement(s.Provider,{value:e},t.children)},d="mdxType",c={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,s=t.parentName,p=l(t,["components","mdxType","originalType","parentName"]),d=u(n),m=r,k=d["".concat(s,".").concat(m)]||d[m]||c[m]||o;return n?a.createElement(k,i(i({ref:e},p),{},{components:n})):a.createElement(k,i({ref:e},p))}));function k(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l[d]="string"==typeof t?t:r,i[1]=l;for(var u=2;u{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var a=n(7462),r=(n(7294),n(3905));const o={id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how-to-translate-open-source-contributions-into-career-opportunities"]},i=void 0,l={unversionedId:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",id:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",description:"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.",source:"@site/docs/job-seekers-guide/categorize-contributions.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/categorize-contributions.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how-to-translate-open-source-contributions-into-career-opportunities"]},sidebar:"docs",previous:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},s={},u=[{value:"Personal Information",id:"personal-information",level:2},{value:"Career Goals",id:"career-goals",level:2},{value:"How to Match Job Requirements to Your Current Skills",id:"how-to-match-job-requirements-to-your-current-skills",level:2},{value:"Finding Open Source Projects to Contribute to",id:"finding-open-source-projects-to-contribute-to",level:2},{value:"Open Source Project Contribution",id:"open-source-project-contribution",level:2},{value:"Basic Project Information",id:"basic-project-information",level:3},{value:"Learn and Development",id:"learn-and-development",level:3},{value:"Contribution Tracking",id:"contribution-tracking",level:3},{value:"Using the Highlights Feature to Track Your Contributions",id:"using-the-highlights-feature-to-track-your-contributions",level:3},{value:"Using the Lists Feature to Add People You Interacted with During Your Contributions",id:"using-the-lists-feature-to-add-people-you-interacted-with-during-your-contributions",level:3},{value:"Using the Insights Feature to Track the Repositories You Contributed to",id:"using-the-insights-feature-to-track-the-repositories-you-contributed-to",level:3},{value:"Networking and Professional Development",id:"networking-and-professional-development",level:3},{value:"Using Your OpenSauced Dev Card for Networking",id:"using-your-opensauced-dev-card-for-networking",level:3},{value:"Reflection and Next Steps",id:"reflection-and-next-steps",level:3},{value:"Using the Highlights Feature to Update Your Professional Profile",id:"using-the-highlights-feature-to-update-your-professional-profile",level:3},{value:"Example Chart for Frontend Developer",id:"example-chart-for-frontend-developer",level:2},{value:"Additional Resources",id:"additional-resources",level:2}],p={toc:u},d="wrapper";function c(t){let{components:e,...o}=t;return(0,r.kt)(d,(0,a.Z)({},p,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews."),(0,r.kt)("p",null,"In this guide, we have created a table that you can use to categorize and keep detailed notes for each contribution you have made. We will break down each of these table components and talk about how to use this in your resume and job profile, and you can see a full example at the end of this guide."),(0,r.kt)("h2",{id:"personal-information"},"Personal Information"),(0,r.kt)("p",null,"In this section of the table, you can include information like your name, email, GitHub profile, LinkedIn profile, OpenSauced profile, blog, etc. When it comes to the professional profiles, think about which profiles you want to show off to employers that highlights your skills and experience relevant to the types of jobs you are interested in."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"GitHub profile"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OpenSauced profile"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h2",{id:"career-goals"},"Career Goals"),(0,r.kt)("p",null,"If you are new to the industry, you will want to list out which area of tech you are interested in pursuing. If you are looking for your next tech role, then you can list your current role or the role you wish to switch to."),(0,r.kt)("p",null,"If you are looking to level up in your role, you should list it in this section and list out the key skills required for that next level. You should also link to a few job posts to get an idea of key skills are required for that next level you are working towards."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your Desired Role]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job level"),(0,r.kt)("td",{parentName:"tr",align:null},"[Junior, Mid, Senior, etc]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"[Skills to Focus On]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"[Frontend, Backend, Fullstack, ML, AI, etc.]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Example Job Links"),(0,r.kt)("td",{parentName:"tr",align:null},"[Link to desired jobs]")))),(0,r.kt)("h2",{id:"how-to-match-job-requirements-to-your-current-skills"},"How to Match Job Requirements to Your Current Skills"),(0,r.kt)("p",null,"A common mistake for many job seekers is to send out the same resume template to all jobs. But in today's tech market it is important to stand out and tailor your resume to match your skills with the requirements listed."),(0,r.kt)("p",null,"In the previous section, you identified desired roles and key skills needed for those jobs. When you are reading through job descriptions, you will want to identify key skills that are repeatedly mentioned and add that to your career goals section."),(0,r.kt)("p",null,"As you fill out the remaining sections for project contributions, check to see if the contributions match the common skills requested in those jobs. If not, then you have just identified a skill gap and will need to find projects and issues that will allow you to strengthen those skills."),(0,r.kt)("h2",{id:"finding-open-source-projects-to-contribute-to"},"Finding Open Source Projects to Contribute to"),(0,r.kt)("p",null,"After you have filled out the career section of the table, you will want to find open source projects that align with your goals. You can use the explore feature on OpenSauced to explore new repositories in a variety of topics like ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/javascript/dashboard/filter/recent?range=30"},"JavaScript"),", ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/python/dashboard/filter/recent?range=30"},"Python"),", and ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/ml/dashboard/filter/recent?range=30"},"Machine learning"),"."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Explore Machine Learning projects in OpenSauced",src:n(3515).Z,width:"2592",height:"1338"})),(0,r.kt)("p",null,"Finding a good project to contribute to takes time. So make sure to look at the frequency of contributions to the project and the types of issues and features the project needs help with. If it aligns with your career goals, then start off with smaller issues and then move to larger features over time. You will also want to join the project's community chat room or Discord channel to connect with other contributors and core team members of the project."),(0,r.kt)("h2",{id:"open-source-project-contribution"},"Open Source Project Contribution"),(0,r.kt)("p",null,"In this next section, you will want to list out the meaningful contributions you have made to different open source projects. This can include documentation, code features, bug fixes, etc. Remember that, you will want to list out meaningful contributions that match the goals you laid out earlier."),(0,r.kt)("h3",{id:"basic-project-information"},"Basic Project Information"),(0,r.kt)("p",null,"For each project contribution, you will want to list out the project name along with the PR and issue links. Then you will want to describe in a few short sentences why you chose this project and how it will help you with your career goals."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project Name]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project URL]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"[Reasons for Choosing This Project]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"[Code, Documentation, Community Support, etc.]")))),(0,r.kt)("h3",{id:"learn-and-development"},"Learn and Development"),(0,r.kt)("p",null,"Once your contribution has been approved and merged into the project, you will want to reflect on what you have learned during this process. What types of new skills or technologies did you learn while working on this issue? What challenges did you face? How did you interact with the community when you needed clarification on an issue or needed help with the pull request?"),(0,r.kt)("p",null,"Keeping track of this information is helpful because you can reference these experiences later when crafting your resume. Potential employers will want to see how you work with others, how you problem solve and how you deliver solutions in a project."),(0,r.kt)("p",null,"Feel free to link to the pull request and issue discussions as references on how you worked with contributors in this project."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"[List of New Skills]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"[Challenges Faced and Resolved]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"[Meetups, Discussions, etc.]")))),(0,r.kt)("h3",{id:"contribution-tracking"},"Contribution Tracking"),(0,r.kt)("p",null,"For each project contribution, you will want to list the date and brief summary on what the issue was and how you solved it. It would also be good to list out any acknowledgements you received from other contributors or core team members on the project because it highlights the impact you left."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"[Date of Contribution]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},"[Summary of Contribution with Links]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"[Feedback and Achievements]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-track-your-contributions"},"Using the Highlights Feature to Track Your Contributions"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights feature")," is the place you can display your favorite open source contributions, and share your open source story."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights",src:n(7352).Z,width:"2294",height:"1066"})),(0,r.kt)("p",null,"You can use this feature to help you track the open source contributions that you are most proud of and share your accomplishments with your network. All of your highlights will appear on your OpenSauced profile, so sharing your profile is another way to let potential employers see the types of contributions you've made and the highlight you've identified as the most important."),(0,r.kt)("h3",{id:"using-the-lists-feature-to-add-people-you-interacted-with-during-your-contributions"},"Using the Lists Feature to Add People You Interacted with During Your Contributions"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/lists"},"Lists feature")," enables you to categorize, monitor, and analyze different groups of contributors within open source projects."),(0,r.kt)("p",null,"You can use this feature to create a list of people you interacted with during your open source work. If you continually work with the same individuals, then they can act as referrals and references for jobs."),(0,r.kt)("p",null,"Lists can also be used to track other people in your network to reach out to about their contributions."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"lists-page",src:n(6008).Z,width:"1440",height:"1124"})),(0,r.kt)("h3",{id:"using-the-insights-feature-to-track-the-repositories-you-contributed-to"},"Using the Insights Feature to Track the Repositories You Contributed to"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/insights"},"Insights feature")," is a comprehensive view of a project's health and individual contributions. You can use it to track the repositories you contributed to or to track repositories of open source companies that are hiring."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"insight-pages-demo",src:n(7220).Z,width:"960",height:"543"})),(0,r.kt)("h3",{id:"networking-and-professional-development"},"Networking and Professional Development"),(0,r.kt)("p",null,"Some larger features can lead to networking and other professional development opportunities, like speaking at meetups or writing for tech publications. It is important that you list out who you mainly corresponded with for each contribution and any opportunities that came from this contribution."),(0,r.kt)("p",null,"If you have corresponded with the same core contributors and maintainers over the past few contributions, try reaching out about collaborating on other projects together. You never know where an opportunity will lead."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"[Contacts Made and Their Roles]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"[What You Learned from Networking]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"[Planned Networking Activities]")))),(0,r.kt)("h3",{id:"using-your-opensauced-dev-card-for-networking"},"Using Your OpenSauced Dev Card for Networking"),(0,r.kt)("p",null,"Your ",(0,r.kt)("a",{parentName:"p",href:"/features/dev-card"},"OpenSauced Dev card"),' serves as your "open source business card" to showcase all of your recent open source activities. You will find recent activity concerning the projects you contribute to, frequency of pull requests and projects you are interested in.'),(0,r.kt)("p",null,"You can easily share your Dev card on social media platforms like X/Twitter and LinkedIn to gain attention from potential recruiters and hiring managers."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Dev card",src:n(2).Z,width:"940",height:"658"})),(0,r.kt)("h3",{id:"reflection-and-next-steps"},"Reflection and Next Steps"),(0,r.kt)("p",null,"In this section, you will want to reflect on what went well with this contribution and areas in which you struggled with."),(0,r.kt)("p",null,"It is important to tie these reflections back to your career goals and desired job roles you defined earlier. If you are weaker in skills that are required for the jobs are seeking, use future open source contributions as a way to strengthen these skills."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"[What You Learned]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Areas to Work On for Future Projects]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your Next Goal in Open Source Contribution]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-update-your-professional-profile"},"Using the Highlights Feature to Update Your Professional Profile"),(0,r.kt)("p",null,"After each contribution, you will want to update your LinkedIn profile and resume to highlight what you have done recently. A lot of recruiters and hiring managers are on the look out for talented individuals on LinkedIn, so it is important to keep your profile up to date of your recent accomplishments."),(0,r.kt)("p",null,"The Highlights feature allows you to post about your recent open source contributions on OpenSauced and share it with other social media outlets like Twitter and LinkedIn."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights Feature",src:n(4173).Z,width:"626",height:"633"})),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"[Details of Updates]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"[Key Points Highlighted]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Plans for Further Enhancing Your Profile]")))),(0,r.kt)("h2",{id:"example-chart-for-frontend-developer"},"Example Chart for Frontend Developer"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Jane Smith")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:jane.smith@email.com"},"jane.smith@email.com"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Professional Profile (LinkedIn/GitHub/OpenSauced profile)"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://www.linkedin.com/in/janesmith"},"LinkedIn"),", ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/janesmith"},"GitHub"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/BekahHW"},"OpenSauced"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"Frontend Developer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"React.js, CSS-in-JS, Web Accessibility")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"Web Development, UI/UX Design")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Open Source Project Contribution No.1")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Awesome React Components")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components"},"GitHub Repository"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/pages/BekahHW/655/dashboard?range=30"},"OpenSauced Insight Page"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"Interested in learning about creating reusable UI components.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"Implemented a new responsive carousel component.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"Styled Components, Carousel Design Patterns")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"Overcame performance issues with large datasets.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"Participated in design discussions on the project's Discord channel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"2023-03-10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components/pull/456"},"Pull Request #456"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"Positive feedback on the elegant design; milestone: merged into main branch.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"Connected with project maintainers and frontend enthusiasts.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"Learned about upcoming trends in frontend development.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"Planning to attend the project's monthly virtual meetup.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"Improved skills in component design and collaboration.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"Intend to deepen knowledge in state management with Redux.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"Contribute to a project focused on enhancing web accessibility.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"Successfully implemented a responsive carousel component, enhancing user experience and receiving positive feedback. Demonstrated expertise in React.js and CSS-in-JS.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"Highlighted successful implementation of the responsive carousel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"Attend frontend development conferences and workshops.")))),(0,r.kt)("h2",{id:"additional-resources"},"Additional Resources"),(0,r.kt)("p",null,"If you're looking for more resources about the job hunt, check out these OpenSauced posts:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/building-your-devrel-resume-with-open-source-4km3"},"Building Your DevRel Resume with Open Source")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/how-to-talk-about-your-open-source-experience-in-a-tech-interview-3l96"},"How to Talk About Your Open Source Experience in a Tech Interview"))))}c.isMDXComponent=!0},7352:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},7220:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},2:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},4173:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},6008:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"},3515:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/ml-explore-page-704a5b0153e392938e6f0e34a7e3a82d.png"}}]); \ No newline at end of file diff --git a/assets/js/48b9cea9.c20c65bd.js b/assets/js/48b9cea9.38850c49.js similarity index 53% rename from assets/js/48b9cea9.c20c65bd.js rename to assets/js/48b9cea9.38850c49.js index fa2c750d..9144c54a 100644 --- a/assets/js/48b9cea9.c20c65bd.js +++ b/assets/js/48b9cea9.38850c49.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[247],{3905:(t,e,n)=>{n.d(e,{Zo:()=>s,kt:()=>m});var a=n(7294);function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function o(t){for(var e=1;e=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var p=a.createContext({}),u=function(t){var e=a.useContext(p),n=e;return t&&(n="function"==typeof t?t(e):o(o({},e),t)),n},s=function(t){var e=u(t.components);return a.createElement(p.Provider,{value:e},t.children)},l="mdxType",d={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},h=a.forwardRef((function(t,e){var n=t.components,i=t.mdxType,r=t.originalType,p=t.parentName,s=c(t,["components","mdxType","originalType","parentName"]),l=u(n),h=i,m=l["".concat(p,".").concat(h)]||l[h]||d[h]||r;return n?a.createElement(m,o(o({ref:e},s),{},{components:n})):a.createElement(m,o({ref:e},s))}));function m(t,e){var n=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var r=n.length,o=new Array(r);o[0]=h;var c={};for(var p in e)hasOwnProperty.call(e,p)&&(c[p]=e[p]);c.originalType=t,c[l]="string"==typeof t?t:i,o[1]=c;for(var u=2;u{n.r(e),n.d(e,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var a=n(7462),i=(n(7294),n(3905));const r={id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication"]},o=void 0,c={unversionedId:"contributing/set-up-authentication",id:"contributing/set-up-authentication",title:"Set Up Authentication",description:"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.",source:"@site/docs/contributing/set-up-authentication.md",sourceDirName:"contributing",slug:"/contributing/set-up-authentication",permalink:"/contributing/set-up-authentication",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/set-up-authentication.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication"]},sidebar:"docs",previous:{title:"Triage Guide",permalink:"/contributing/triage-guide"},next:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/maintainers-guide"}},p={},u=[],s={toc:u},l="wrapper";function d(t){let{components:e,...r}=t;return(0,i.kt)(l,(0,a.Z)({},s,r,{components:e,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user."),(0,i.kt)("p",null,"The following steps outline how to obtain an authentication token from the ",(0,i.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza"},"hot.opensauced.pizza")," website:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Click on your avatar in the top right corner of the page. This will open a dropdown menu."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("img",{alt:"Avatar in top right corner of the page",src:n(7523).Z,width:"328",height:"87"}))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Click on the ",(0,i.kt)("strong",{parentName:"p"},"Print auth token")," option. Don't worry, this is a safe operation. The token is only printed to the console."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("img",{alt:"Print Auth Token",src:n(8231).Z,width:"326",height:"377"}))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Copy the token that is printed to the console."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("img",{alt:"Token printed to the console",src:n(545).Z,width:"1274",height:"408"}))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"You can now use this token to make authenticated requests to the OpenSauced public API by including it in the Authorization header of your requests. For example:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-javascript"},'const response = await fetch(\n "https://api.opensauced.pizza/v1/auth/session",\n {\n method: "GET",\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }\n);\n')))))}d.isMDXComponent=!0},7523:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/contributing-avatar-top-right-4063afad1b9c314a1e261c492a65447c.png"},8231:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/contributing-print-auth-token-e1370316da4c4747a853289f72842d56.png"},545:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/contributing-token-printed-to-console-0deb43e35d7b18560ccf573c6f0411cc.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[247],{3905:(t,e,n)=>{n.d(e,{Zo:()=>s,kt:()=>m});var a=n(7294);function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function o(t){for(var e=1;e=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var p=a.createContext({}),u=function(t){var e=a.useContext(p),n=e;return t&&(n="function"==typeof t?t(e):o(o({},e),t)),n},s=function(t){var e=u(t.components);return a.createElement(p.Provider,{value:e},t.children)},l="mdxType",d={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},h=a.forwardRef((function(t,e){var n=t.components,i=t.mdxType,r=t.originalType,p=t.parentName,s=c(t,["components","mdxType","originalType","parentName"]),l=u(n),h=i,m=l["".concat(p,".").concat(h)]||l[h]||d[h]||r;return n?a.createElement(m,o(o({ref:e},s),{},{components:n})):a.createElement(m,o({ref:e},s))}));function m(t,e){var n=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var r=n.length,o=new Array(r);o[0]=h;var c={};for(var p in e)hasOwnProperty.call(e,p)&&(c[p]=e[p]);c.originalType=t,c[l]="string"==typeof t?t:i,o[1]=c;for(var u=2;u{n.r(e),n.d(e,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var a=n(7462),i=(n(7294),n(3905));const r={id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication"]},o=void 0,c={unversionedId:"contributing/set-up-authentication",id:"contributing/set-up-authentication",title:"Set Up Authentication",description:"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.",source:"@site/docs/contributing/set-up-authentication.md",sourceDirName:"contributing",slug:"/contributing/set-up-authentication",permalink:"/contributing/set-up-authentication",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/set-up-authentication.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication"]},sidebar:"docs",previous:{title:"Triage Guide",permalink:"/contributing/triage-guide"},next:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/maintainers-guide"}},p={},u=[],s={toc:u},l="wrapper";function d(t){let{components:e,...r}=t;return(0,i.kt)(l,(0,a.Z)({},s,r,{components:e,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user."),(0,i.kt)("p",null,"The following steps outline how to obtain an authentication token from the ",(0,i.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza"},"hot.opensauced.pizza")," website:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Click on your avatar in the top right corner of the page. This will open a dropdown menu."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("img",{alt:"Avatar in top right corner of the page",src:n(7523).Z,width:"328",height:"87"}))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Click on the ",(0,i.kt)("strong",{parentName:"p"},"Print auth token")," option. Don't worry, this is a safe operation. The token is only printed to the console."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("img",{alt:"Print Auth Token",src:n(8231).Z,width:"326",height:"377"}))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Copy the token that is printed to the console."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("img",{alt:"Token printed to the console",src:n(545).Z,width:"1274",height:"408"}))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"You can now use this token to make authenticated requests to the OpenSauced public API by including it in the Authorization header of your requests. For example:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-javascript"},'const response = await fetch(\n "https://api.opensauced.pizza/v1/auth/session",\n {\n method: "GET",\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }\n);\n')))))}d.isMDXComponent=!0},7523:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/contributing-avatar-top-right-4063afad1b9c314a1e261c492a65447c.png"},8231:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/contributing-print-auth-token-e1370316da4c4747a853289f72842d56.png"},545:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/contributing-token-printed-to-console-0deb43e35d7b18560ccf573c6f0411cc.png"}}]); \ No newline at end of file diff --git a/assets/js/4c2521ce.ad5f5832.js b/assets/js/4c2521ce.ad5f5832.js new file mode 100644 index 00000000..786695bd --- /dev/null +++ b/assets/js/4c2521ce.ad5f5832.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4657],{3905:(t,e,o)=>{o.d(e,{Zo:()=>s,kt:()=>g});var i=o(7294);function n(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function r(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function a(t){for(var e=1;e=0||(n[o]=t[o]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var u=i.createContext({}),p=function(t){var e=i.useContext(u),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},s=function(t){var e=p(t.components);return i.createElement(u.Provider,{value:e},t.children)},c="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},d=i.forwardRef((function(t,e){var o=t.components,n=t.mdxType,r=t.originalType,u=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),c=p(o),d=n,g=c["".concat(u,".").concat(d)]||c[d]||h[d]||r;return o?i.createElement(g,a(a({ref:e},s),{},{components:o})):i.createElement(g,a({ref:e},s))}));function g(t,e){var o=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=o.length,a=new Array(r);a[0]=d;var l={};for(var u in e)hasOwnProperty.call(e,u)&&(l[u]=e[u]);l.originalType=t,l[c]="string"==typeof t?t:n,a[1]=l;for(var p=2;p{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var i=o(7462),n=(o(7294),o(3905));const r={id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub"]},a=void 0,l={unversionedId:"contributing/technical/setup-repo-with-git",id:"contributing/technical/setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",description:"Using the GitHub CLI",source:"@site/docs/contributing/technical/setup-repo-with-git.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/setup-repo-with-git",permalink:"/contributing/technical/setup-repo-with-git",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/setup-repo-with-git.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub"]},sidebar:"docs",previous:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/maintainers-guide"},next:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"}},u={},p=[{value:"Using the GitHub CLI",id:"using-the-github-cli",level:2},{value:"How to Install the GitHub CLI",id:"how-to-install-the-github-cli",level:3},{value:"How to Authenticate with the GitHub CLI",id:"how-to-authenticate-with-the-github-cli",level:3},{value:"How to Fork and Clone a Repository with the GitHub CLI",id:"how-to-fork-and-clone-a-repository-with-the-github-cli",level:3},{value:"How to Add a Remote Repository",id:"how-to-add-a-remote-repository",level:3},{value:"How to View the Remote Repositories Locally",id:"how-to-view-the-remote-repositories-locally",level:3},{value:"Using the GitHub Website and the Command Line",id:"using-the-github-website-and-the-command-line",level:2}],s={toc:p},c="wrapper";function h(t){let{components:e,...o}=t;return(0,n.kt)(c,(0,i.Z)({},s,o,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"using-the-github-cli"},"Using the GitHub CLI"),(0,n.kt)("h3",{id:"how-to-install-the-github-cli"},"How to Install the GitHub CLI"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{parentName:"p",href:"https://cli.github.com/"},"GitHub CLI")," allows you to fork repositories, create issues, pull requests, and more from the command line."),(0,n.kt)("p",null,"Follow these ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/cli/cli#installation"},"instructions to install GitHub CLI")," on Mac, Windows, or Linux."),(0,n.kt)("h3",{id:"how-to-authenticate-with-the-github-cli"},"How to Authenticate with the GitHub CLI"),(0,n.kt)("p",null,"From the terminal, you will need to authenticate with the GitHub CLI. You can do this by running the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"gh auth login\n")),(0,n.kt)("p",null,"Then, follow the prompts to authenticate with the GitHub CLI."),(0,n.kt)("h3",{id:"how-to-fork-and-clone-a-repository-with-the-github-cli"},"How to Fork and Clone a Repository with the GitHub CLI"),(0,n.kt)("p",null,"A fork is a remote copy of a repository, allowing you to experiment freely with changes without affecting the original project."),(0,n.kt)("p",null,"A clone is a local copy of a repository that includes all the files, branches and commits."),(0,n.kt)("p",null,"To fork and clone a repository with the GitHub CLI, run the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"gh repo fork open-sauced/\n")),(0,n.kt)("p",null,"The GitHub CLI will fork the project in your GitHub account and will ask you if you want to clone the repository on your local machine."),(0,n.kt)("h3",{id:"how-to-add-a-remote-repository"},"How to Add a Remote Repository"),(0,n.kt)("p",null,"Adding a remote repository allows you to pull in changes from the original repository and keep your forked copy of the repository up to date."),(0,n.kt)("p",null,"To add a remote repository, run the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream https://github.com/open-sauced/app.git\n")),(0,n.kt)("h3",{id:"how-to-view-the-remote-repositories-locally"},"How to View the Remote Repositories Locally"),(0,n.kt)("p",null,"To view the remote repositories that your local repository is connected to, run the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,n.kt)("p",null,"You should see the following output:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:YOUR_GITHUB_USERNAME/app.git (fetch)\norigin git@github.com:YOUR_GITHUB_USERNAME/app.git (push)\nupstream git@github.com:open-sauced/app.git (fetch)\nupstream git@github.com:open-sauced/app.git (push)\n")),(0,n.kt)("h2",{id:"using-the-github-website-and-the-command-line"},"Using the GitHub Website and the Command Line"),(0,n.kt)("p",null,"If you prefer to set up your repository using the GitHub website and the command line, follow this detailed guide from the ",(0,n.kt)("a",{parentName:"p",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"official GitHub documentation"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4c2521ce.c3e3f937.js b/assets/js/4c2521ce.c3e3f937.js deleted file mode 100644 index 5a0a782a..00000000 --- a/assets/js/4c2521ce.c3e3f937.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4657],{3905:(t,e,o)=>{o.d(e,{Zo:()=>p,kt:()=>g});var i=o(7294);function n(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function r(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function a(t){for(var e=1;e=0||(n[o]=t[o]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(n[o]=t[o])}return n}var u=i.createContext({}),c=function(t){var e=i.useContext(u),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},p=function(t){var e=c(t.components);return i.createElement(u.Provider,{value:e},t.children)},s="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},d=i.forwardRef((function(t,e){var o=t.components,n=t.mdxType,r=t.originalType,u=t.parentName,p=l(t,["components","mdxType","originalType","parentName"]),s=c(o),d=n,g=s["".concat(u,".").concat(d)]||s[d]||h[d]||r;return o?i.createElement(g,a(a({ref:e},p),{},{components:o})):i.createElement(g,a({ref:e},p))}));function g(t,e){var o=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=o.length,a=new Array(r);a[0]=d;var l={};for(var u in e)hasOwnProperty.call(e,u)&&(l[u]=e[u]);l.originalType=t,l[s]="string"==typeof t?t:n,a[1]=l;for(var c=2;c{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var i=o(7462),n=(o(7294),o(3905));const r={id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub"]},a=void 0,l={unversionedId:"contributing/technical/setup-repo-with-git",id:"contributing/technical/setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",description:"Using the GitHub CLI",source:"@site/docs/contributing/technical/setup-repo-with-git.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/setup-repo-with-git",permalink:"/contributing/technical/setup-repo-with-git",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/setup-repo-with-git.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub"]},sidebar:"docs",previous:{title:"Introduction to Storybook",permalink:"/contributing/technical/introduction-to-storybook"},next:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"}},u={},c=[{value:"Using the GitHub CLI",id:"using-the-github-cli",level:2},{value:"How to Install the GitHub CLI",id:"how-to-install-the-github-cli",level:3},{value:"How to Authenticate with the GitHub CLI",id:"how-to-authenticate-with-the-github-cli",level:3},{value:"How to Fork and Clone a Repository with the GitHub CLI",id:"how-to-fork-and-clone-a-repository-with-the-github-cli",level:3},{value:"How to Add a Remote Repository",id:"how-to-add-a-remote-repository",level:3},{value:"How to View the Remote Repositories Locally",id:"how-to-view-the-remote-repositories-locally",level:3},{value:"Using the GitHub Website and the Command Line",id:"using-the-github-website-and-the-command-line",level:2}],p={toc:c},s="wrapper";function h(t){let{components:e,...o}=t;return(0,n.kt)(s,(0,i.Z)({},p,o,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"using-the-github-cli"},"Using the GitHub CLI"),(0,n.kt)("h3",{id:"how-to-install-the-github-cli"},"How to Install the GitHub CLI"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{parentName:"p",href:"https://cli.github.com/"},"GitHub CLI")," allows you to fork repositories, create issues, pull requests, and more from the command line."),(0,n.kt)("p",null,"Follow these ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/cli/cli#installation"},"instructions to install GitHub CLI")," on Mac, Windows, or Linux."),(0,n.kt)("h3",{id:"how-to-authenticate-with-the-github-cli"},"How to Authenticate with the GitHub CLI"),(0,n.kt)("p",null,"From the terminal, you will need to authenticate with the GitHub CLI. You can do this by running the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"gh auth login\n")),(0,n.kt)("p",null,"Then, follow the prompts to authenticate with the GitHub CLI."),(0,n.kt)("h3",{id:"how-to-fork-and-clone-a-repository-with-the-github-cli"},"How to Fork and Clone a Repository with the GitHub CLI"),(0,n.kt)("p",null,"A fork is a remote copy of a repository, allowing you to experiment freely with changes without affecting the original project."),(0,n.kt)("p",null,"A clone is a local copy of a repository that includes all the files, branches and commits."),(0,n.kt)("p",null,"To fork and clone a repository with the GitHub CLI, run the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"gh repo fork open-sauced/\n")),(0,n.kt)("p",null,"The GitHub CLI will fork the project in your GitHub account and will ask you if you want to clone the repository on your local machine."),(0,n.kt)("h3",{id:"how-to-add-a-remote-repository"},"How to Add a Remote Repository"),(0,n.kt)("p",null,"Adding a remote repository allows you to pull in changes from the original repository and keep your forked copy of the repository up to date."),(0,n.kt)("p",null,"To add a remote repository, run the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream https://github.com/open-sauced/app.git\n")),(0,n.kt)("h3",{id:"how-to-view-the-remote-repositories-locally"},"How to View the Remote Repositories Locally"),(0,n.kt)("p",null,"To view the remote repositories that your local repository is connected to, run the following command:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,n.kt)("p",null,"You should see the following output:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:YOUR_GITHUB_USERNAME/app.git (fetch)\norigin git@github.com:YOUR_GITHUB_USERNAME/app.git (push)\nupstream git@github.com:open-sauced/app.git (fetch)\nupstream git@github.com:open-sauced/app.git (push)\n")),(0,n.kt)("h2",{id:"using-the-github-website-and-the-command-line"},"Using the GitHub Website and the Command Line"),(0,n.kt)("p",null,"If you prefer to set up your repository using the GitHub website and the command line, follow this detailed guide from the ",(0,n.kt)("a",{parentName:"p",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"official GitHub documentation"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4d1cfcdd.54c4a3bb.js b/assets/js/4d1cfcdd.54c4a3bb.js new file mode 100644 index 00000000..e9443c6a --- /dev/null +++ b/assets/js/4d1cfcdd.54c4a3bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4046],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},u=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},g=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,s=e.originalType,c=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),d=l(n),g=o,h=d["".concat(c,".").concat(g)]||d[g]||p[g]||s;return n?i.createElement(h,r(r({ref:t},u),{},{components:n})):i.createElement(h,r({ref:t},u))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var s=n.length,r=new Array(s);r[0]=g;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a[d]="string"==typeof e?e:o,r[1]=a;for(var l=2;l{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=n(7462),o=(n(7294),n(3905));const s={id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations"]},r=void 0,a={unversionedId:"tools/chrome-extension/viewing-insights-and-invitations",id:"tools/chrome-extension/viewing-insights-and-invitations",title:"Viewing Insights and Invitations",description:"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.",source:"@site/docs/tools/chrome-extension/viewing-insights-and-invitations.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/viewing-insights-and-invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/viewing-insights-and-invitations.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations"]},sidebar:"docs",previous:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"},next:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"}},c={},l=[{value:"Invite GitHub Users to Join OpenSauced With a Single Click",id:"invite-github-users-to-join-opensauced-with-a-single-click",level:2},{value:"View GitHub Users' OpenSauced Profiles and Connect With Them",id:"view-github-users-opensauced-profiles-and-connect-with-them",level:2}],u={toc:l},d="wrapper";function p(e){let{components:t,...s}=e;return(0,o.kt)(d,(0,i.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"GitHub Profile Insights",src:n(8467).Z,width:"450",height:"775"})),(0,o.kt)("h2",{id:"invite-github-users-to-join-opensauced-with-a-single-click"},"Invite GitHub Users to Join OpenSauced With a Single Click"),(0,o.kt)("p",null,"Invite other users to create an OpenSauced account to keep track of open source contributions when visiting their GitHub profile."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Invite GitHub Users",src:n(8194).Z,width:"410",height:"597"})),(0,o.kt)("h2",{id:"view-github-users-opensauced-profiles-and-connect-with-them"},"View GitHub Users' OpenSauced Profiles and Connect With Them"),(0,o.kt)("p",null,"View a user\u2019s OpenSauced profile when on their GitHub profile page."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"View OpenSauced Profiles",src:n(804).Z,width:"410",height:"597"})))}p.isMDXComponent=!0},8194:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/extension-invite-b7bf72c8cbdf9a9d68614971b05896c1.png"},8467:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/extension-popup-0c8898c6c29c0a9a694fc95d24ecdc94.png"},804:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/extension-view-18fe042acf7d3e3b94aad7476a6dfd83.png"}}]); \ No newline at end of file diff --git a/assets/js/4d1cfcdd.919c8f98.js b/assets/js/4d1cfcdd.919c8f98.js deleted file mode 100644 index 2237ab65..00000000 --- a/assets/js/4d1cfcdd.919c8f98.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4046],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>h});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function s(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=i.createContext({}),u=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},d=function(e){var t=u(e.components);return i.createElement(c.Provider,{value:t},e.children)},l="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},g=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,c=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),l=u(n),g=o,h=l["".concat(c,".").concat(g)]||l[g]||p[g]||r;return n?i.createElement(h,s(s({ref:t},d),{},{components:n})):i.createElement(h,s({ref:t},d))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,s=new Array(r);s[0]=g;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a[l]="string"==typeof e?e:o,s[1]=a;for(var u=2;u{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var i=n(7462),o=(n(7294),n(3905));const r={id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations"]},s=void 0,a={unversionedId:"tools/chrome-extension/viewing-insights-and-invitations",id:"tools/chrome-extension/viewing-insights-and-invitations",title:"Viewing Insights and Invitations",description:"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.",source:"@site/docs/tools/chrome-extension/viewing-insights-and-invitations.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/viewing-insights-and-invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/viewing-insights-and-invitations.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations"]},sidebar:"docs",previous:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"},next:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"}},c={},u=[{value:"Invite GitHub Users to Join OpenSauced With a Single Click",id:"invite-github-users-to-join-opensauced-with-a-single-click",level:2},{value:"View GitHub Users' OpenSauced Profiles and Connect With Them",id:"view-github-users-opensauced-profiles-and-connect-with-them",level:2}],d={toc:u},l="wrapper";function p(e){let{components:t,...r}=e;return(0,o.kt)(l,(0,i.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"GitHub Profile Insights",src:n(8467).Z,width:"450",height:"775"})),(0,o.kt)("h2",{id:"invite-github-users-to-join-opensauced-with-a-single-click"},"Invite GitHub Users to Join OpenSauced With a Single Click"),(0,o.kt)("p",null,"Invite other users to create an OpenSauced account to keep track of open source contributions when visiting their GitHub profile."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Invite GitHub Users",src:n(8194).Z,width:"410",height:"597"})),(0,o.kt)("h2",{id:"view-github-users-opensauced-profiles-and-connect-with-them"},"View GitHub Users' OpenSauced Profiles and Connect With Them"),(0,o.kt)("p",null,"View a user\u2019s OpenSauced profile when on their GitHub profile page."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"View OpenSauced Profiles",src:n(804).Z,width:"410",height:"597"})))}p.isMDXComponent=!0},8194:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/extension-invite-b7bf72c8cbdf9a9d68614971b05896c1.png"},8467:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/extension-popup-0c8898c6c29c0a9a694fc95d24ecdc94.png"},804:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/extension-view-18fe042acf7d3e3b94aad7476a6dfd83.png"}}]); \ No newline at end of file diff --git a/assets/js/51fe39eb.0b7bb09e.js b/assets/js/51fe39eb.0b7bb09e.js new file mode 100644 index 00000000..0f4ad56a --- /dev/null +++ b/assets/js/51fe39eb.0b7bb09e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5994],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>k});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=a.createContext({}),p=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=p(e.components);return a.createElement(c.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=p(t),g=i,k=d["".concat(c,".").concat(g)]||d[g]||u[g]||r;return t?a.createElement(k,o(o({ref:n},l),{},{components:t})):a.createElement(k,o({ref:n},l))}));function k(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=g;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:i,o[1]=s;for(var p=2;p{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const r={id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["@open-sauced/check-engines"]},o=void 0,s={unversionedId:"opensauced-packages/check-engines",id:"opensauced-packages/check-engines",title:"@open-sauced/check-engines",description:"Description",source:"@site/docs/opensauced-packages/check-engines.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/check-engines",permalink:"/opensauced-packages/check-engines",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/check-engines.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["@open-sauced/check-engines"]},sidebar:"docs",previous:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"},next:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"}},c={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Usage on an Older node and npm Versions",id:"usage-on-an-older-node-and-npm-versions",level:3},{value:"Why Not Use check-engines or engine-strict?",id:"why-not-use-check-engines-or-engine-strict",level:3},{value:"Library Usage",id:"library-usage",level:3},{value:"Contributing",id:"contributing",level:2}],l={toc:p},d="wrapper";function u(e){let{components:n,...t}=e;return(0,i.kt)(d,(0,a.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/check-engines")," is designed to help contributors install dependencies conforming to the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," property in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),"."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/npm/npm-install-checks"},"npm-install-checks"))),(0,i.kt)("h2",{id:"installation"},"Installation"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/check-engines\n")),(0,i.kt)("p",null,"Add the verification scripts to your ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "preinstall": "npx @open-sauced/check-engines"\n }\n}\n')),(0,i.kt)("p",null,"The reason why we provide ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations or trimmed dependency trees, where using ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,i.kt)("h2",{id:"usage"},"Usage"),(0,i.kt)("p",null,"Use your favorite package manager to install dependencies in your project or, if you set it as a global verification system:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "preinstall": "npm run check-engines",\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,i.kt)("p",null,"If you have an API or any other non-library type of application, you can decouple this package from any install scripts and just use it as a verification:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("p",null,"A more traditional approach not using ",(0,i.kt)("inlineCode",{parentName:"p"},"pre")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"post")," scripts, this example enables the check only for local machine development:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "start": "...",\n "dev": "npm run check-engines && npm start -- --watch"\n }\n}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"usage-on-an-older-node-and-npm-versions"},"Usage on an Older ",(0,i.kt)("inlineCode",{parentName:"h3"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Versions"),(0,i.kt)("p",null,"Older ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions won't be able to run this package; depending on the versions, the scripts section could be ignored completely."),(0,i.kt)("p",null,"If you have that use case, this package is only worth enabling for progressive contributors frequently missing the legacy support of the respective module and forcefully upgrading dependencies - them running newer versions will force the error message and explicitly disable."),(0,i.kt)("h3",{id:"why-not-use-check-engines-or-engine-strict"},"Why Not Use ",(0,i.kt)("inlineCode",{parentName:"h3"},"check-engines")," or ",(0,i.kt)("inlineCode",{parentName:"h3"},"engine-strict"),"?"),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v6/configuring-npm/package-json#enginestrict"},"engine-strict docs"),":"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Prior to npm 3.0.0, this feature was used to treat this package as if the user had set ",(0,i.kt)("inlineCode",{parentName:"p"},"engine-strict"),". It is no longer used.")),(0,i.kt)("p",null,"In ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," and later, this was re-introduced as a ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v7/using-npm/config#engine-strict"},"config flag"),"."),(0,i.kt)("p",null,"This package is designed with multiple legacy use cases in mind."),(0,i.kt)("h3",{id:"library-usage"},"Library Usage"),(0,i.kt)("p",null,"If you use this module in a library package, be advised that any ",(0,i.kt)("inlineCode",{parentName:"p"},"*install")," script will run in the parent module when installed."),(0,i.kt)("p",null,"For example, given a module ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," with a ",(0,i.kt)("inlineCode",{parentName:"p"},'preinstall: "npx @open-sauced/check-engines"')," script, running ",(0,i.kt)("inlineCode",{parentName:"p"},"npm install @demo-org/demo-package")," will require your locally installed ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions to match the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," section of your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),". If that is not set, nothing should happen, and this package is a stray dependency in either ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," or the module you are running this command in."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/check-engines"},"@open-sauced/check-engines"),". \u2764\ufe0f"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/51fe39eb.29417d15.js b/assets/js/51fe39eb.29417d15.js deleted file mode 100644 index 77f0b038..00000000 --- a/assets/js/51fe39eb.29417d15.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5994],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>k});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=a.createContext({}),p=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=p(e.components);return a.createElement(c.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=p(t),g=i,k=d["".concat(c,".").concat(g)]||d[g]||u[g]||r;return t?a.createElement(k,o(o({ref:n},l),{},{components:t})):a.createElement(k,o({ref:n},l))}));function k(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=g;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:i,o[1]=s;for(var p=2;p{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const r={id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["@open-sauced/check-engines"]},o=void 0,s={unversionedId:"opensauced-packages/check-engines",id:"opensauced-packages/check-engines",title:"@open-sauced/check-engines",description:"Description",source:"@site/docs/opensauced-packages/check-engines.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/check-engines",permalink:"/opensauced-packages/check-engines",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/check-engines.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["@open-sauced/check-engines"]},sidebar:"docs",previous:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"},next:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"}},c={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Usage on an Older node and npm Versions",id:"usage-on-an-older-node-and-npm-versions",level:3},{value:"Why Not Use check-engines or engine-strict?",id:"why-not-use-check-engines-or-engine-strict",level:3},{value:"Library Usage",id:"library-usage",level:3},{value:"Contributing",id:"contributing",level:2}],l={toc:p},d="wrapper";function u(e){let{components:n,...t}=e;return(0,i.kt)(d,(0,a.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/check-engines")," is designed to help contributors install dependencies conforming to the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," property in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),"."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/npm/npm-install-checks"},"npm-install-checks"))),(0,i.kt)("h2",{id:"installation"},"Installation"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/check-engines\n")),(0,i.kt)("p",null,"Add the verification scripts to your ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "preinstall": "npx @open-sauced/check-engines"\n }\n}\n')),(0,i.kt)("p",null,"The reason why we provide ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations or trimmed dependency trees, where using ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,i.kt)("h2",{id:"usage"},"Usage"),(0,i.kt)("p",null,"Use your favorite package manager to install dependencies in your project or, if you set it as a global verification system:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "preinstall": "npm run check-engines",\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,i.kt)("p",null,"If you have an API or any other non-library type of application, you can decouple this package from any install scripts and just use it as a verification:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("p",null,"A more traditional approach not using ",(0,i.kt)("inlineCode",{parentName:"p"},"pre")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"post")," scripts, this example enables the check only for local machine development:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "start": "...",\n "dev": "npm run check-engines && npm start -- --watch"\n }\n}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"usage-on-an-older-node-and-npm-versions"},"Usage on an Older ",(0,i.kt)("inlineCode",{parentName:"h3"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Versions"),(0,i.kt)("p",null,"Older ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions won't be able to run this package; depending on the versions, the scripts section could be ignored completely."),(0,i.kt)("p",null,"If you have that use case, this package is only worth enabling for progressive contributors frequently missing the legacy support of the respective module and forcefully upgrading dependencies - them running newer versions will force the error message and explicitly disable."),(0,i.kt)("h3",{id:"why-not-use-check-engines-or-engine-strict"},"Why Not Use ",(0,i.kt)("inlineCode",{parentName:"h3"},"check-engines")," or ",(0,i.kt)("inlineCode",{parentName:"h3"},"engine-strict"),"?"),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v6/configuring-npm/package-json#enginestrict"},"engine-strict docs"),":"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Prior to npm 3.0.0, this feature was used to treat this package as if the user had set ",(0,i.kt)("inlineCode",{parentName:"p"},"engine-strict"),". It is no longer used.")),(0,i.kt)("p",null,"In ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," and later, this was re-introduced as a ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v7/using-npm/config#engine-strict"},"config flag"),"."),(0,i.kt)("p",null,"This package is designed with multiple legacy use cases in mind."),(0,i.kt)("h3",{id:"library-usage"},"Library Usage"),(0,i.kt)("p",null,"If you use this module in a library package, be advised that any ",(0,i.kt)("inlineCode",{parentName:"p"},"*install")," script will run in the parent module when installed."),(0,i.kt)("p",null,"For example, given a module ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," with a ",(0,i.kt)("inlineCode",{parentName:"p"},'preinstall: "npx @open-sauced/check-engines"')," script, running ",(0,i.kt)("inlineCode",{parentName:"p"},"npm install @demo-org/demo-package")," will require your locally installed ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions to match the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," section of your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),". If that is not set, nothing should happen, and this package is a stray dependency in either ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," or the module you are running this command in."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/check-engines"},"@open-sauced/check-engines"),". \u2764\ufe0f"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/561e6817.8ab4bfa1.js b/assets/js/561e6817.8ab4bfa1.js deleted file mode 100644 index a2c710dd..00000000 --- a/assets/js/561e6817.8ab4bfa1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1161],{3905:(e,t,o)=>{o.d(t,{Zo:()=>s,kt:()=>h});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},s=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(o),d=r,h=p["".concat(c,".").concat(d)]||p[d]||m[d]||a;return o?n.createElement(h,i(i({ref:t},s),{},{components:o})):n.createElement(h,i({ref:t},s))}));function h(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=d;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u[p]="string"==typeof e?e:r,i[1]=u;for(var l=2;l{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>u,toc:()=>l});var n=o(7462),r=(o(7294),o(3905));const a={id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community"]},i=void 0,u={unversionedId:"community/welcome-to-the-community",id:"community/welcome-to-the-community",title:"Welcome to the OpenSauced Community",description:"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.",source:"@site/docs/community/welcome-to-the-community.md",sourceDirName:"community",slug:"/community/welcome-to-the-community",permalink:"/community/welcome-to-the-community",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/welcome-to-the-community.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community"]},sidebar:"docs",previous:{title:"Understanding Lists Data",permalink:"/maintainers/understanding-lists"},next:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"}},c={},l=[{value:"Community Guidelines",id:"community-guidelines",level:2},{value:"Keeping Up with OpenSauced",id:"keeping-up-with-opensauced",level:2},{value:"How to Get Involved",id:"how-to-get-involved",level:2},{value:"Resources on Getting Started with Open Source",id:"resources-on-getting-started-with-open-source",level:2}],s={toc:l},p="wrapper";function m(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,n.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open."),(0,r.kt)("h2",{id:"community-guidelines"},"Community Guidelines"),(0,r.kt)("p",null,"We pledge to create a welcoming and inclusive community for everyone at OpenSauced. We have a few guidelines to help us achieve this goal:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Be respectful and kind to others in the community."),(0,r.kt)("li",{parentName:"ul"},"Be patient with others and help them learn."),(0,r.kt)("li",{parentName:"ul"},"Be open to feedback and constructive criticism."),(0,r.kt)("li",{parentName:"ul"},"Adhere to the ",(0,r.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct"),".")),(0,r.kt)("h2",{id:"keeping-up-with-opensauced"},"Keeping Up with OpenSauced"),(0,r.kt)("p",null,"The OpenSauced community is a group of open source enthusiasts who are passionate about making open source more accessible to everyone. Here are some ways you can keep up with what we're doing:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Follow us on X ",(0,r.kt)("a",{parentName:"li",href:"https://twitter.com/saucedopen"},"@SaucedOpen")," for announcements and our frequent X Spaces."),(0,r.kt)("li",{parentName:"ul"},"Join our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord")," and hang out with us during our weekly office hours."),(0,r.kt)("li",{parentName:"ul"},"Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/@OpenSauced"},"YouTube channel")," for the latest updates and video content for OpenSauced."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcf0 Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://news.opensauced.pizza/#/portal/signup"},"newsletter")," for all things OpenSauced and open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\uddd3\ufe0f Check out the ",(0,r.kt)("a",{parentName:"li",href:"https://calendar.google.com/calendar/u/0?cid=Y19kYWRhODM2MjlhZDg4ZWM2M2IxZGFmMTE5MDIyMDg0MjU2ZmQ4NmNjNWNhYmMxMjk5MDhjMGUxOTY3NjY4ZTg0QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20"},"calendar")," for our next weekly community chat.")),(0,r.kt)("h2",{id:"how-to-get-involved"},"How to Get Involved"),(0,r.kt)("p",null,"You can get involved in the OpenSauced community in a few ways:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Share your contributions! We love to see what you're working on. Highlight your contributions on ",(0,r.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/feed"},"OpenSauced"),"."),(0,r.kt)("li",{parentName:"ul"},"Open an issue or ask to be assigned to an existing issue on any of our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"OpenSauced repositories"),"."),(0,r.kt)("li",{parentName:"ul"},"Share what you're working on, ask questions, or mentor new contributors in our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord"),"."),(0,r.kt)("li",{parentName:"ul"},"Provide feedback on our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),".")),(0,r.kt)("h2",{id:"resources-on-getting-started-with-open-source"},"Resources on Getting Started with Open Source"),(0,r.kt)("p",null,"Getting started with open source can be challenging, so we've put together some resources to help you get started."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcdd Check out our ",(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced"},"blog on Dev.to"),", where we provide resources for open source contributors."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcd6 Take our ",(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source Course")," to help you start with open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcc5 Join our ",(0,r.kt)("a",{parentName:"li",href:"/community/100-days-of-oss"},"#100DaysOfOSS Challenge")," to help you grow your skills and gain real-world experience in open source.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/561e6817.ef48a4f8.js b/assets/js/561e6817.ef48a4f8.js new file mode 100644 index 00000000..ce811ba2 --- /dev/null +++ b/assets/js/561e6817.ef48a4f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1161],{3905:(e,t,o)=>{o.d(t,{Zo:()=>s,kt:()=>h});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},s=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(o),d=r,h=p["".concat(c,".").concat(d)]||p[d]||m[d]||a;return o?n.createElement(h,i(i({ref:t},s),{},{components:o})):n.createElement(h,i({ref:t},s))}));function h(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=d;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u[p]="string"==typeof e?e:r,i[1]=u;for(var l=2;l{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>u,toc:()=>l});var n=o(7462),r=(o(7294),o(3905));const a={id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community"]},i=void 0,u={unversionedId:"community/welcome-to-the-community",id:"community/welcome-to-the-community",title:"Welcome to the OpenSauced Community",description:"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.",source:"@site/docs/community/welcome-to-the-community.md",sourceDirName:"community",slug:"/community/welcome-to-the-community",permalink:"/community/welcome-to-the-community",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/welcome-to-the-community.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community"]},sidebar:"docs",previous:{title:"Understanding Lists Data",permalink:"/maintainers/understanding-lists"},next:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"}},c={},l=[{value:"Community Guidelines",id:"community-guidelines",level:2},{value:"Keeping Up with OpenSauced",id:"keeping-up-with-opensauced",level:2},{value:"How to Get Involved",id:"how-to-get-involved",level:2},{value:"Resources on Getting Started with Open Source",id:"resources-on-getting-started-with-open-source",level:2}],s={toc:l},p="wrapper";function m(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,n.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open."),(0,r.kt)("h2",{id:"community-guidelines"},"Community Guidelines"),(0,r.kt)("p",null,"We pledge to create a welcoming and inclusive community for everyone at OpenSauced. We have a few guidelines to help us achieve this goal:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Be respectful and kind to others in the community."),(0,r.kt)("li",{parentName:"ul"},"Be patient with others and help them learn."),(0,r.kt)("li",{parentName:"ul"},"Be open to feedback and constructive criticism."),(0,r.kt)("li",{parentName:"ul"},"Adhere to the ",(0,r.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct"),".")),(0,r.kt)("h2",{id:"keeping-up-with-opensauced"},"Keeping Up with OpenSauced"),(0,r.kt)("p",null,"The OpenSauced community is a group of open source enthusiasts who are passionate about making open source more accessible to everyone. Here are some ways you can keep up with what we're doing:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Follow us on X ",(0,r.kt)("a",{parentName:"li",href:"https://twitter.com/saucedopen"},"@SaucedOpen")," for announcements and our frequent X Spaces."),(0,r.kt)("li",{parentName:"ul"},"Join our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord")," and hang out with us during our weekly office hours."),(0,r.kt)("li",{parentName:"ul"},"Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/@OpenSauced"},"YouTube channel")," for the latest updates and video content for OpenSauced."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcf0 Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://news.opensauced.pizza/#/portal/signup"},"newsletter")," for all things OpenSauced and open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\uddd3\ufe0f Check out the ",(0,r.kt)("a",{parentName:"li",href:"https://calendar.google.com/calendar/u/0?cid=Y19kYWRhODM2MjlhZDg4ZWM2M2IxZGFmMTE5MDIyMDg0MjU2ZmQ4NmNjNWNhYmMxMjk5MDhjMGUxOTY3NjY4ZTg0QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20"},"calendar")," for our next weekly community chat.")),(0,r.kt)("h2",{id:"how-to-get-involved"},"How to Get Involved"),(0,r.kt)("p",null,"You can get involved in the OpenSauced community in a few ways:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Share your contributions! We love to see what you're working on. Highlight your contributions on ",(0,r.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/feed"},"OpenSauced"),"."),(0,r.kt)("li",{parentName:"ul"},"Open an issue or ask to be assigned to an existing issue on any of our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"OpenSauced repositories"),"."),(0,r.kt)("li",{parentName:"ul"},"Share what you're working on, ask questions, or mentor new contributors in our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord"),"."),(0,r.kt)("li",{parentName:"ul"},"Provide feedback on our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),".")),(0,r.kt)("h2",{id:"resources-on-getting-started-with-open-source"},"Resources on Getting Started with Open Source"),(0,r.kt)("p",null,"Getting started with open source can be challenging, so we've put together some resources to help you get started."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcdd Check out our ",(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced"},"blog on Dev.to"),", where we provide resources for open source contributors."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcd6 Take our ",(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source Course")," to help you start with open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcc5 Join our ",(0,r.kt)("a",{parentName:"li",href:"/community/100-days-of-oss"},"#100DaysOfOSS Challenge")," to help you grow your skills and gain real-world experience in open source.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/580fd761.82d76efb.js b/assets/js/580fd761.82d76efb.js new file mode 100644 index 00000000..449eead1 --- /dev/null +++ b/assets/js/580fd761.82d76efb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7607],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=o,f=u["".concat(l,".").concat(m)]||u[m]||p[m]||i;return n?r.createElement(f,a(a({ref:t},d),{},{components:n})):r.createElement(f,a({ref:t},d))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:o,a[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const i={id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct"]},a=void 0,c={unversionedId:"contributing/code-of-conduct",id:"contributing/code-of-conduct",title:"Code of Conduct",description:"Our Pledge",source:"@site/docs/contributing/code-of-conduct.md",sourceDirName:"contributing",slug:"/contributing/code-of-conduct",permalink:"/contributing/code-of-conduct",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/code-of-conduct.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct"]},sidebar:"docs",previous:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"},next:{title:"Triage Guide",permalink:"/contributing/triage-guide"}},l={},s=[{value:"Our Pledge",id:"our-pledge",level:2},{value:"Our Standards",id:"our-standards",level:2},{value:"Our Responsibilities",id:"our-responsibilities",level:2},{value:"Scope",id:"scope",level:2},{value:"Enforcement",id:"enforcement",level:2},{value:"Attribution",id:"attribution",level:2}],d={toc:s},u="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(u,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"our-pledge"},"Our Pledge"),(0,o.kt)("p",null,"In the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation."),(0,o.kt)("h2",{id:"our-standards"},"Our Standards"),(0,o.kt)("p",null,"Examples of behavior that contributes to creating a positive environment\ninclude:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Using welcoming and inclusive language."),(0,o.kt)("li",{parentName:"ul"},"Being respectful of differing viewpoints and experiences."),(0,o.kt)("li",{parentName:"ul"},"Gracefully accepting constructive criticism."),(0,o.kt)("li",{parentName:"ul"},"Focusing on what is best for the community."),(0,o.kt)("li",{parentName:"ul"},"Showing empathy towards other community members.")),(0,o.kt)("p",null,"Examples of unacceptable behavior by participants include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The use of sexualized language or imagery and unwelcome sexual attention or advances."),(0,o.kt)("li",{parentName:"ul"},"Trolling, insulting/derogatory comments, and personal or political attacks."),(0,o.kt)("li",{parentName:"ul"},"Public or private harassment."),(0,o.kt)("li",{parentName:"ul"},"Publishing others' confidential information, such as a physical or electronic address, without explicit permission."),(0,o.kt)("li",{parentName:"ul"},"Other conduct that could reasonably be considered inappropriate in a professional setting.")),(0,o.kt)("h2",{id:"our-responsibilities"},"Our Responsibilities"),(0,o.kt)("p",null,"Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior."),(0,o.kt)("p",null,"Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful."),(0,o.kt)("h2",{id:"scope"},"Scope"),(0,o.kt)("p",null,"This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Using an official project e-mail address."),(0,o.kt)("li",{parentName:"ul"},"Posting via an official social media account."),(0,o.kt)("li",{parentName:"ul"},"Acting as an appointed representative at an online or offline event.")),(0,o.kt)("p",null,"Representation of a project may be further defined and clarified by project maintainers."),(0,o.kt)("h2",{id:"enforcement"},"Enforcement"),(0,o.kt)("p",null,"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ",(0,o.kt)("a",{parentName:"p",href:"mailto:hello@briandouglas.me."},"hello@briandouglas.me.")," All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately."),(0,o.kt)("p",null,"Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership."),(0,o.kt)("h2",{id:"attribution"},"Attribution"),(0,o.kt)("p",null,"This Code of Conduct is adapted from the ",(0,o.kt)("a",{parentName:"p",href:"https://contributor-covenant.org"},"Contributor Covenant")," version 1.4,\navailable at ",(0,o.kt)("a",{parentName:"p",href:"https://contributor-covenant.org/version/1/4/"},"https://contributor-covenant.org/version/1/4"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/580fd761.ddfe7e44.js b/assets/js/580fd761.ddfe7e44.js deleted file mode 100644 index 7466ee4f..00000000 --- a/assets/js/580fd761.ddfe7e44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7607],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=o,f=u["".concat(l,".").concat(m)]||u[m]||p[m]||i;return n?r.createElement(f,a(a({ref:t},d),{},{components:n})):r.createElement(f,a({ref:t},d))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:o,a[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const i={id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct"]},a=void 0,c={unversionedId:"contributing/code-of-conduct",id:"contributing/code-of-conduct",title:"Code of Conduct",description:"Our Pledge",source:"@site/docs/contributing/code-of-conduct.md",sourceDirName:"contributing",slug:"/contributing/code-of-conduct",permalink:"/contributing/code-of-conduct",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/code-of-conduct.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct"]},sidebar:"docs",previous:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"},next:{title:"Triage Guide",permalink:"/contributing/triage-guide"}},l={},s=[{value:"Our Pledge",id:"our-pledge",level:2},{value:"Our Standards",id:"our-standards",level:2},{value:"Our Responsibilities",id:"our-responsibilities",level:2},{value:"Scope",id:"scope",level:2},{value:"Enforcement",id:"enforcement",level:2},{value:"Attribution",id:"attribution",level:2}],d={toc:s},u="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(u,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"our-pledge"},"Our Pledge"),(0,o.kt)("p",null,"In the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation."),(0,o.kt)("h2",{id:"our-standards"},"Our Standards"),(0,o.kt)("p",null,"Examples of behavior that contributes to creating a positive environment\ninclude:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Using welcoming and inclusive language."),(0,o.kt)("li",{parentName:"ul"},"Being respectful of differing viewpoints and experiences."),(0,o.kt)("li",{parentName:"ul"},"Gracefully accepting constructive criticism."),(0,o.kt)("li",{parentName:"ul"},"Focusing on what is best for the community."),(0,o.kt)("li",{parentName:"ul"},"Showing empathy towards other community members.")),(0,o.kt)("p",null,"Examples of unacceptable behavior by participants include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The use of sexualized language or imagery and unwelcome sexual attention or advances."),(0,o.kt)("li",{parentName:"ul"},"Trolling, insulting/derogatory comments, and personal or political attacks."),(0,o.kt)("li",{parentName:"ul"},"Public or private harassment."),(0,o.kt)("li",{parentName:"ul"},"Publishing others' confidential information, such as a physical or electronic address, without explicit permission."),(0,o.kt)("li",{parentName:"ul"},"Other conduct that could reasonably be considered inappropriate in a professional setting.")),(0,o.kt)("h2",{id:"our-responsibilities"},"Our Responsibilities"),(0,o.kt)("p",null,"Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior."),(0,o.kt)("p",null,"Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful."),(0,o.kt)("h2",{id:"scope"},"Scope"),(0,o.kt)("p",null,"This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Using an official project e-mail address."),(0,o.kt)("li",{parentName:"ul"},"Posting via an official social media account."),(0,o.kt)("li",{parentName:"ul"},"Acting as an appointed representative at an online or offline event.")),(0,o.kt)("p",null,"Representation of a project may be further defined and clarified by project maintainers."),(0,o.kt)("h2",{id:"enforcement"},"Enforcement"),(0,o.kt)("p",null,"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ",(0,o.kt)("a",{parentName:"p",href:"mailto:hello@briandouglas.me."},"hello@briandouglas.me.")," All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately."),(0,o.kt)("p",null,"Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership."),(0,o.kt)("h2",{id:"attribution"},"Attribution"),(0,o.kt)("p",null,"This Code of Conduct is adapted from the ",(0,o.kt)("a",{parentName:"p",href:"https://contributor-covenant.org"},"Contributor Covenant")," version 1.4,\navailable at ",(0,o.kt)("a",{parentName:"p",href:"https://contributor-covenant.org/version/1/4/"},"https://contributor-covenant.org/version/1/4"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5a367a69.2f73f06c.js b/assets/js/5a367a69.2f73f06c.js new file mode 100644 index 00000000..38249dd3 --- /dev/null +++ b/assets/js/5a367a69.2f73f06c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[216],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(n),g=i,m=u["".concat(s,".").concat(g)]||u[g]||d[g]||r;return n?a.createElement(m,l(l({ref:t},p),{},{components:n})):a.createElement(m,l({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=g;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=n(7462),i=(n(7294),n(3905));const r={id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts"]},l=void 0,o={unversionedId:"contributing/technical/resolve-merge-conflicts",id:"contributing/technical/resolve-merge-conflicts",title:"Resolve Merge Conflicts",description:"You'll likely encounter merge conflicts when opening a pull request, as the release process generally updates npm-shrinkwrap.json.",source:"@site/docs/contributing/technical/resolve-merge-conflicts.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/resolve-merge-conflicts",permalink:"/contributing/technical/resolve-merge-conflicts",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/resolve-merge-conflicts.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts"]},sidebar:"docs",previous:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"},next:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"}},s={},c=[{value:"Repository Setup",id:"repository-setup",level:2},{value:"Update",id:"update",level:2},{value:"Merge with upstream",id:"merge-with-upstream",level:2},{value:"Review Changes",id:"review-changes",level:2},{value:"Resolve Conflicts",id:"resolve-conflicts",level:2},{value:"Commit Changes",id:"commit-changes",level:2},{value:"Push Changes",id:"push-changes",level:2},{value:"Review Your Pull Request",id:"review-your-pull-request",level:2},{value:"Dependency Updates",id:"dependency-updates",level:2}],p={toc:c},u="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(u,(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You'll likely encounter merge conflicts when opening a pull request, as the release process generally updates ",(0,i.kt)("inlineCode",{parentName:"p"},"npm-shrinkwrap.json"),"."),(0,i.kt)("p",null,"To better illustrate the commands listed here, we will use commits and screenshots from ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/pull/1078"},"open-sauced#1078"),"."),(0,i.kt)("h2",{id:"repository-setup"},"Repository Setup"),(0,i.kt)("p",null,"Fork and clone the project using the ",(0,i.kt)("inlineCode",{parentName:"p"},"gh")," command line interface:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"gh repo clone 0-vortex/open-sauced\n")),(0,i.kt)("p",null,"Running ",(0,i.kt)("inlineCode",{parentName:"p"},"git remote -v")," will output:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:0-vortex/open-sauced.git (fetch)\norigin git@github.com:0-vortex/open-sauced.git (push)\nupstream git@github.com:open-sauced/open-sauced.git (fetch)\nupstream git@github.com:open-sauced/open-sauced.git (push)\n")),(0,i.kt)("p",null,"Fork and clone the project using the ",(0,i.kt)("inlineCode",{parentName:"p"},"git")," command line interface:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:0-vortex/open-sauced.git\n")),(0,i.kt)("p",null,"Running ",(0,i.kt)("inlineCode",{parentName:"p"},"git remote -v")," will output:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:0-vortex/open-sauced.git (fetch)\norigin git@github.com:0-vortex/open-sauced.git (push)\n")),(0,i.kt)("p",null,"As an additional step for this tutorial, we need to add the ",(0,i.kt)("inlineCode",{parentName:"p"},"upstream")," remote:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream git@github.com:open-sauced/open-sauced.git\n")),(0,i.kt)("h2",{id:"update"},"Update"),(0,i.kt)("p",null,"First, get the default branch changes:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git fetch origin --recurse-submodules=no --progress --prune\ngit checkout main --\ngit fetch upstream --recurse-submodules=no --progress --prune\ngit merge upstream/main --no-stat -v\n")),(0,i.kt)("h2",{id:"merge-with-upstream"},"Merge with ",(0,i.kt)("inlineCode",{parentName:"h2"},"upstream")),(0,i.kt)("p",null,"Then merge with the forked up-to-date ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," (default branch):"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git merge origin/main --no-ff -v\n")),(0,i.kt)("p",null,"You will see something similar to:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"proper merge but results in conflicts",src:n(5396).Z,width:"1154",height:"958"})),(0,i.kt)("h2",{id:"review-changes"},"Review Changes"),(0,i.kt)("p",null,"To see what the changes are, run the command below:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git diff package.json\n")),(0,i.kt)("p",null,"It will look like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"review merge conflicts",src:n(3032).Z,width:"1236",height:"766"})),(0,i.kt)("h2",{id:"resolve-conflicts"},"Resolve Conflicts"),(0,i.kt)("p",null,"Since this pull request does not modify the ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," file, it is safe to fast-forward the changes from ",(0,i.kt)("inlineCode",{parentName:"p"},"origin/main"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# overwrite with origin/main changes\ngit show :3:package.json > package.json\n")),(0,i.kt)("p",null,"A more traditional way of doing the same thing is:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# make a local copy of all changes and use --theirs\n# --theirs strategy overwrite with origin/main changes\ngit show :1:package.json > base.package.json\ngit show :2:package.json > branch.package.json\ngit show :3:package.json > head.package.json\ngit merge-file -p --theirs \\\n branch.package.json base.package.json head.package.json > package.json\n")),(0,i.kt)("h2",{id:"commit-changes"},"Commit Changes"),(0,i.kt)("p",null,"Not making any assumptions about editor preferences, running this will open the configured editor with a default commit message:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git commit\n")),(0,i.kt)("p",null,"That should look like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"commit merge message",src:n(7140).Z,width:"1286",height:"1734"})),(0,i.kt)("h2",{id:"push-changes"},"Push Changes"),(0,i.kt)("p",null,"One more security check to make sure your branch has not diverged and push:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git status\ngit push\n")),(0,i.kt)("p",null,"It should look something like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"push updated pr",src:n(1319).Z,width:"1350",height:"980"})),(0,i.kt)("h2",{id:"review-your-pull-request"},"Review Your Pull Request"),(0,i.kt)("p",null,"The result of the above commands can be viewed at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/pull/1078/commits/283ff8cd788c550309ff0d1d5a9a5a97ec0731b2"},"283ff8cd788c550309ff0d1d5a9a5a97ec0731b2"),"."),(0,i.kt)("p",null,"GitHub will conveniently display only your merge conflict changes:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"view merge commit",src:n(3497).Z,width:"2436",height:"1150"})),(0,i.kt)("p",null,"And it's ready to merge:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"ready to merge",src:n(70).Z,width:"1696",height:"884"})),(0,i.kt)("h2",{id:"dependency-updates"},"Dependency Updates"),(0,i.kt)("p",null,"When dealing with dependency and lock file updates, there are multiple use cases to consider; however, as a baseline, the OpenSauced triage team will not prioritize parallel main features as seen in the roadmap."),(0,i.kt)("p",null,"However when that happens, it is advised to:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"fast-forward ",(0,i.kt)("inlineCode",{parentName:"li"},"npm-shrinkwrap.json")),(0,i.kt)("li",{parentName:"ul"},"fast-forward deleted and modified ",(0,i.kt)("inlineCode",{parentName:"li"},"upstream/beta")," changes to ",(0,i.kt)("inlineCode",{parentName:"li"},"package.json")),(0,i.kt)("li",{parentName:"ul"},"fast-forward your added lines to ",(0,i.kt)("inlineCode",{parentName:"li"},"package.json")),(0,i.kt)("li",{parentName:"ul"},"run ",(0,i.kt)("inlineCode",{parentName:"li"},"npm ci")," to delete local modules and create dependency resolution from ",(0,i.kt)("inlineCode",{parentName:"li"},"upstream/beta"))),(0,i.kt)("p",null,"Visual diffing is advised; however, not following the git commit history procedure will result in a rogue pull request that creeps into dependency updates."),(0,i.kt)("p",null,"Generally speaking, just adding things to a lock file will not be troublesome, and since this is a licensed project, we should be careful when adding dependencies."))}d.isMDXComponent=!0},7140:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-commit-message-2b517ccf8811b09d5091cb9c300c4993.png"},5396:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-merge-conflicts-41673d73e41a1d513254f5274231c03a.png"},1319:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-merge-success-4ba32cb94dddea19d9691bccbef974b9.png"},70:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-ready-to-merge-c0f138669dee46efafb0d584c170020e.png"},3032:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-review-conflicts-5df5a5e4934e39d9e07bcd96e53d7c3f.png"},3497:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-view-merge-commit-1c4055497fd56038e1ba46a6ae1886ab.png"}}]); \ No newline at end of file diff --git a/assets/js/5a367a69.b219f1ed.js b/assets/js/5a367a69.b219f1ed.js deleted file mode 100644 index 39f1f7b6..00000000 --- a/assets/js/5a367a69.b219f1ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[216],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(n),g=i,m=u["".concat(s,".").concat(g)]||u[g]||d[g]||r;return n?a.createElement(m,l(l({ref:t},p),{},{components:n})):a.createElement(m,l({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=g;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=n(7462),i=(n(7294),n(3905));const r={id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts"]},l=void 0,o={unversionedId:"contributing/technical/resolve-merge-conflicts",id:"contributing/technical/resolve-merge-conflicts",title:"Resolve Merge Conflicts",description:"You'll likely encounter merge conflicts when opening a pull request, as the release process generally updates npm-shrinkwrap.json.",source:"@site/docs/contributing/technical/resolve-merge-conflicts.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/resolve-merge-conflicts",permalink:"/contributing/technical/resolve-merge-conflicts",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/resolve-merge-conflicts.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts"]},sidebar:"docs",previous:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"},next:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"}},s={},c=[{value:"Repository Setup",id:"repository-setup",level:2},{value:"Update",id:"update",level:2},{value:"Merge with upstream",id:"merge-with-upstream",level:2},{value:"Review Changes",id:"review-changes",level:2},{value:"Resolve Conflicts",id:"resolve-conflicts",level:2},{value:"Commit Changes",id:"commit-changes",level:2},{value:"Push Changes",id:"push-changes",level:2},{value:"Review Your Pull Request",id:"review-your-pull-request",level:2},{value:"Dependency Updates",id:"dependency-updates",level:2}],p={toc:c},u="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(u,(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You'll likely encounter merge conflicts when opening a pull request, as the release process generally updates ",(0,i.kt)("inlineCode",{parentName:"p"},"npm-shrinkwrap.json"),"."),(0,i.kt)("p",null,"To better illustrate the commands listed here, we will use commits and screenshots from ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/pull/1078"},"open-sauced#1078"),"."),(0,i.kt)("h2",{id:"repository-setup"},"Repository Setup"),(0,i.kt)("p",null,"Fork and clone the project using the ",(0,i.kt)("inlineCode",{parentName:"p"},"gh")," command line interface:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"gh repo clone 0-vortex/open-sauced\n")),(0,i.kt)("p",null,"Running ",(0,i.kt)("inlineCode",{parentName:"p"},"git remote -v")," will output:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:0-vortex/open-sauced.git (fetch)\norigin git@github.com:0-vortex/open-sauced.git (push)\nupstream git@github.com:open-sauced/open-sauced.git (fetch)\nupstream git@github.com:open-sauced/open-sauced.git (push)\n")),(0,i.kt)("p",null,"Fork and clone the project using the ",(0,i.kt)("inlineCode",{parentName:"p"},"git")," command line interface:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:0-vortex/open-sauced.git\n")),(0,i.kt)("p",null,"Running ",(0,i.kt)("inlineCode",{parentName:"p"},"git remote -v")," will output:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:0-vortex/open-sauced.git (fetch)\norigin git@github.com:0-vortex/open-sauced.git (push)\n")),(0,i.kt)("p",null,"As an additional step for this tutorial, we need to add the ",(0,i.kt)("inlineCode",{parentName:"p"},"upstream")," remote:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream git@github.com:open-sauced/open-sauced.git\n")),(0,i.kt)("h2",{id:"update"},"Update"),(0,i.kt)("p",null,"First, get the default branch changes:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git fetch origin --recurse-submodules=no --progress --prune\ngit checkout main --\ngit fetch upstream --recurse-submodules=no --progress --prune\ngit merge upstream/main --no-stat -v\n")),(0,i.kt)("h2",{id:"merge-with-upstream"},"Merge with ",(0,i.kt)("inlineCode",{parentName:"h2"},"upstream")),(0,i.kt)("p",null,"Then merge with the forked up-to-date ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," (default branch):"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git merge origin/main --no-ff -v\n")),(0,i.kt)("p",null,"You will see something similar to:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"proper merge but results in conflicts",src:n(5396).Z,width:"1154",height:"958"})),(0,i.kt)("h2",{id:"review-changes"},"Review Changes"),(0,i.kt)("p",null,"To see what the changes are, run the command below:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git diff package.json\n")),(0,i.kt)("p",null,"It will look like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"review merge conflicts",src:n(3032).Z,width:"1236",height:"766"})),(0,i.kt)("h2",{id:"resolve-conflicts"},"Resolve Conflicts"),(0,i.kt)("p",null,"Since this pull request does not modify the ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," file, it is safe to fast-forward the changes from ",(0,i.kt)("inlineCode",{parentName:"p"},"origin/main"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# overwrite with origin/main changes\ngit show :3:package.json > package.json\n")),(0,i.kt)("p",null,"A more traditional way of doing the same thing is:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# make a local copy of all changes and use --theirs\n# --theirs strategy overwrite with origin/main changes\ngit show :1:package.json > base.package.json\ngit show :2:package.json > branch.package.json\ngit show :3:package.json > head.package.json\ngit merge-file -p --theirs \\\n branch.package.json base.package.json head.package.json > package.json\n")),(0,i.kt)("h2",{id:"commit-changes"},"Commit Changes"),(0,i.kt)("p",null,"Not making any assumptions about editor preferences, running this will open the configured editor with a default commit message:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git commit\n")),(0,i.kt)("p",null,"That should look like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"commit merge message",src:n(7140).Z,width:"1286",height:"1734"})),(0,i.kt)("h2",{id:"push-changes"},"Push Changes"),(0,i.kt)("p",null,"One more security check to make sure your branch has not diverged and push:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git status\ngit push\n")),(0,i.kt)("p",null,"It should look something like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"push updated pr",src:n(1319).Z,width:"1350",height:"980"})),(0,i.kt)("h2",{id:"review-your-pull-request"},"Review Your Pull Request"),(0,i.kt)("p",null,"The result of the above commands can be viewed at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/pull/1078/commits/283ff8cd788c550309ff0d1d5a9a5a97ec0731b2"},"283ff8cd788c550309ff0d1d5a9a5a97ec0731b2"),"."),(0,i.kt)("p",null,"GitHub will conveniently display only your merge conflict changes:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"view merge commit",src:n(3497).Z,width:"2436",height:"1150"})),(0,i.kt)("p",null,"And it's ready to merge:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"ready to merge",src:n(70).Z,width:"1696",height:"884"})),(0,i.kt)("h2",{id:"dependency-updates"},"Dependency Updates"),(0,i.kt)("p",null,"When dealing with dependency and lock file updates, there are multiple use cases to consider; however, as a baseline, the OpenSauced triage team will not prioritize parallel main features as seen in the roadmap."),(0,i.kt)("p",null,"However when that happens, it is advised to:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"fast-forward ",(0,i.kt)("inlineCode",{parentName:"li"},"npm-shrinkwrap.json")),(0,i.kt)("li",{parentName:"ul"},"fast-forward deleted and modified ",(0,i.kt)("inlineCode",{parentName:"li"},"upstream/beta")," changes to ",(0,i.kt)("inlineCode",{parentName:"li"},"package.json")),(0,i.kt)("li",{parentName:"ul"},"fast-forward your added lines to ",(0,i.kt)("inlineCode",{parentName:"li"},"package.json")),(0,i.kt)("li",{parentName:"ul"},"run ",(0,i.kt)("inlineCode",{parentName:"li"},"npm ci")," to delete local modules and create dependency resolution from ",(0,i.kt)("inlineCode",{parentName:"li"},"upstream/beta"))),(0,i.kt)("p",null,"Visual diffing is advised; however, not following the git commit history procedure will result in a rogue pull request that creeps into dependency updates."),(0,i.kt)("p",null,"Generally speaking, just adding things to a lock file will not be troublesome, and since this is a licensed project, we should be careful when adding dependencies."))}d.isMDXComponent=!0},7140:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-commit-message-2b517ccf8811b09d5091cb9c300c4993.png"},5396:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-merge-conflicts-41673d73e41a1d513254f5274231c03a.png"},1319:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-merge-success-4ba32cb94dddea19d9691bccbef974b9.png"},70:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-ready-to-merge-c0f138669dee46efafb0d584c170020e.png"},3032:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-review-conflicts-5df5a5e4934e39d9e07bcd96e53d7c3f.png"},3497:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/contributing-resolve-merge-conflicts-view-merge-commit-1c4055497fd56038e1ba46a6ae1886ab.png"}}]); \ No newline at end of file diff --git a/assets/js/5c57b204.c71f0f4c.js b/assets/js/5c57b204.0430d396.js similarity index 56% rename from assets/js/5c57b204.c71f0f4c.js rename to assets/js/5c57b204.0430d396.js index 5278a4bd..64cf6b2d 100644 --- a/assets/js/5c57b204.c71f0f4c.js +++ b/assets/js/5c57b204.0430d396.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4782],{3905:(e,t,o)=>{o.d(t,{Zo:()=>i,kt:()=>h});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function c(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=r.createContext({}),u=function(e){var t=r.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):c(c({},t),e)),o},i=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,i=p(e,["components","mdxType","originalType","parentName"]),l=u(o),f=n,h=l["".concat(s,".").concat(f)]||l[f]||d[f]||a;return o?r.createElement(h,c(c({ref:t},i),{},{components:o})):r.createElement(h,c({ref:t},i))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,c=new Array(a);c[0]=f;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[l]="string"==typeof e?e:n,c[1]=p;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>a,metadata:()=>p,toc:()=>u});var r=o(7462),n=(o(7294),o(3905));const a={id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project"]},c=void 0,p={unversionedId:"tools/hot-opensauced",id:"tools/hot-opensauced",title:"Hot OpenSauced Project",description:"Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.",source:"@site/docs/tools/hot-opensauced.md",sourceDirName:"tools",slug:"/tools/hot-opensauced",permalink:"/tools/hot-opensauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/hot-opensauced.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project"]},sidebar:"docs",previous:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"},next:{title:"Pizza CLI",permalink:"/tools/pizza-cli"}},s={},u=[{value:"How to Find Hot Open Source Projects to Contribute to?",id:"how-to-find-hot-open-source-projects-to-contribute-to",level:2},{value:"How to Vote for Your Favorite Open Source Projects?",id:"how-to-vote-for-your-favorite-open-source-projects",level:2}],i={toc:u},l="wrapper";function d(e){let{components:t,...a}=e;return(0,n.kt)(l,(0,r.Z)({},i,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects."),(0,n.kt)("h2",{id:"how-to-find-hot-open-source-projects-to-contribute-to"},"How to Find Hot Open Source Projects to Contribute to?"),(0,n.kt)("p",null,"When you visit the ",(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," site, you will see a list of open source projects that are currently trending on GitHub. You can sign in with your GitHub account and search for the most upvoted, recent, and popular projects."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced upvoted repos",src:o(1260).Z,width:"2734",height:"1450"})),(0,n.kt)("h2",{id:"how-to-vote-for-your-favorite-open-source-projects"},"How to Vote for Your Favorite Open Source Projects?"),(0,n.kt)("p",null,"You can vote for your favorite open source project by clicking on the upvote button. You can view all of your upvoted projects under the My Votes tab."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced popular repos",src:o(3167).Z,width:"2704",height:"1456"})))}d.isMDXComponent=!0},3167:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/popular-repos-hot-opensauced-05f55b2302e73e41e51817408de73de9.png"},1260:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/upvoted-repos-hot-opensauced-7b2cb4c0ada4836c56ad7b8e0484f907.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4782],{3905:(e,t,o)=>{o.d(t,{Zo:()=>i,kt:()=>h});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function c(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=r.createContext({}),u=function(e){var t=r.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):c(c({},t),e)),o},i=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,i=p(e,["components","mdxType","originalType","parentName"]),l=u(o),f=n,h=l["".concat(s,".").concat(f)]||l[f]||d[f]||a;return o?r.createElement(h,c(c({ref:t},i),{},{components:o})):r.createElement(h,c({ref:t},i))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,c=new Array(a);c[0]=f;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[l]="string"==typeof e?e:n,c[1]=p;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>a,metadata:()=>p,toc:()=>u});var r=o(7462),n=(o(7294),o(3905));const a={id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project"]},c=void 0,p={unversionedId:"tools/hot-opensauced",id:"tools/hot-opensauced",title:"Hot OpenSauced Project",description:"Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.",source:"@site/docs/tools/hot-opensauced.md",sourceDirName:"tools",slug:"/tools/hot-opensauced",permalink:"/tools/hot-opensauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/hot-opensauced.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project"]},sidebar:"docs",previous:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"},next:{title:"Pizza CLI",permalink:"/tools/pizza-cli"}},s={},u=[{value:"How to Find Hot Open Source Projects to Contribute to?",id:"how-to-find-hot-open-source-projects-to-contribute-to",level:2},{value:"How to Vote for Your Favorite Open Source Projects?",id:"how-to-vote-for-your-favorite-open-source-projects",level:2}],i={toc:u},l="wrapper";function d(e){let{components:t,...a}=e;return(0,n.kt)(l,(0,r.Z)({},i,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects."),(0,n.kt)("h2",{id:"how-to-find-hot-open-source-projects-to-contribute-to"},"How to Find Hot Open Source Projects to Contribute to?"),(0,n.kt)("p",null,"When you visit the ",(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," site, you will see a list of open source projects that are currently trending on GitHub. You can sign in with your GitHub account and search for the most upvoted, recent, and popular projects."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced upvoted repos",src:o(1260).Z,width:"2734",height:"1450"})),(0,n.kt)("h2",{id:"how-to-vote-for-your-favorite-open-source-projects"},"How to Vote for Your Favorite Open Source Projects?"),(0,n.kt)("p",null,"You can vote for your favorite open source project by clicking on the upvote button. You can view all of your upvoted projects under the My Votes tab."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced popular repos",src:o(3167).Z,width:"2704",height:"1456"})))}d.isMDXComponent=!0},3167:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/popular-repos-hot-opensauced-05f55b2302e73e41e51817408de73de9.png"},1260:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/upvoted-repos-hot-opensauced-7b2cb4c0ada4836c56ad7b8e0484f907.png"}}]); \ No newline at end of file diff --git a/assets/js/6308756d.25dfc04f.js b/assets/js/6308756d.25dfc04f.js deleted file mode 100644 index 6eda9379..00000000 --- a/assets/js/6308756d.25dfc04f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1461],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=o.createContext({}),u=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=u(e.components);return o.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=u(n),m=i,h=c["".concat(s,".").concat(m)]||c[m]||d[m]||r;return n?o.createElement(h,a(a({ref:t},p),{},{components:n})):o.createElement(h,a({ref:t},p))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var o=n(7462),i=(n(7294),n(3905));const r={id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing"]},a=void 0,l={unversionedId:"contributing/introduction-to-contributing",id:"contributing/introduction-to-contributing",title:"Introduction to Contributing",description:"Contributions are always welcome, no matter how large or small. Before contributing,",source:"@site/docs/contributing/introduction-to-contributing.md",sourceDirName:"contributing",slug:"/contributing/introduction-to-contributing",permalink:"/contributing/introduction-to-contributing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/introduction-to-contributing.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing"]},sidebar:"docs",previous:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"},next:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"}},s={},u=[{value:"Recommended Communication Style",id:"recommended-communication-style",level:2},{value:"Setup",id:"setup",level:2},{value:"Building",id:"building",level:2},{value:"Testing",id:"testing",level:2},{value:"Applying Lint Styleguide",id:"applying-lint-styleguide",level:2},{value:"Pull Requests (PR)",id:"pull-requests-pr",level:2},{value:"PR Validation",id:"pr-validation",level:3},{value:"Work in Progress",id:"work-in-progress",level:3},{value:"Additional Resources",id:"additional-resources",level:3},{value:"Commits",id:"commits",level:2},{value:"Issues",id:"issues",level:2},{value:"Triage Team",id:"triage-team",level:2},{value:"Funding",id:"funding",level:2},{value:"Community",id:"community",level:2},{value:"Coding Tips",id:"coding-tips",level:2},{value:"License",id:"license",level:2}],p={toc:u},c="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(c,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Contributions are always welcome, no matter how large or small. Before contributing,\nplease read the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"code of conduct")," and follow the directions below:"),(0,i.kt)("h2",{id:"recommended-communication-style"},"Recommended Communication Style"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Always leave screenshots for visual changes."),(0,i.kt)("li",{parentName:"ol"},"Always leave a detailed description in the pull request. Leave nothing ambiguous for the reviewer."),(0,i.kt)("li",{parentName:"ol"},"Always review your code first. Run the project locally and test it before requesting a review."),(0,i.kt)("li",{parentName:"ol"},"Always communicate in the GitHub repository. Whether in the issue or the pull request, keeping the lines of communication open and visible to everyone on the team helps everyone around you.")),(0,i.kt)("h2",{id:"setup"},"Setup"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"Fork")," the repository you're working on from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"github/open-sauced")," to your own GitHub account."),(0,i.kt)("li",{parentName:"ol"},"Clone the forked repository to your local machine."),(0,i.kt)("li",{parentName:"ol"},"Check the project's README to determine how to run the project locally.")),(0,i.kt)("p",null,"For many of our repositories, you'll find the directions below work for running the project locally:"),(0,i.kt)("p",null,"Run ",(0,i.kt)("inlineCode",{parentName:"p"},"npm ci")," to install the dependencies and set up the project."),(0,i.kt)("p",null,"You can also use the shell commands below to get started once you have forked the repository:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com//.git\ncd \nnpm ci\n")),(0,i.kt)("p",null,"Make sure to replace ",(0,i.kt)("inlineCode",{parentName:"p"},"")," with your GitHub username."),(0,i.kt)("h2",{id:"building"},"Building"),(0,i.kt)("p",null,"To generate a production-ready version of your code, run:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run build\n")),(0,i.kt)("h2",{id:"testing"},"Testing"),(0,i.kt)("p",null,"For running the test suite, use the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# the tests will run in watch mode by default\nnpm test\n")),(0,i.kt)("p",null,"Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to ",(0,i.kt)("a",{parentName:"p",href:"https://facebook.github.io/watchman/docs/install.html"},"install Watchman"),"."),(0,i.kt)("p",null,"Check out this course, ",(0,i.kt)("a",{parentName:"p",href:"https://testingjavascript.com/"},"Testing JavaScript"),", for more info on testing React and JavaScript."),(0,i.kt)("h2",{id:"applying-lint-styleguide"},"Applying Lint Styleguide"),(0,i.kt)("p",null,"To check the code for formatting and linting errors, run the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run lint\n")),(0,i.kt)("p",null,"These errors will also be displayed during development but won't prevent the code from compiling."),(0,i.kt)("p",null,"To fix the formatting and linting errors, run the following command instead:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run format\n")),(0,i.kt)("p",null,"These commands use ",(0,i.kt)("a",{parentName:"p",href:"https://eslint.org/"},"ESLint")," to check and fix the code."),(0,i.kt)("p",null,"If you forget to run this command, automated PR checks will also run these commands, but the PR will be blocked if there are any errors."),(0,i.kt)("h2",{id:"pull-requests-pr"},"Pull Requests (PR)"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},(0,i.kt)("em",{parentName:"strong"},"We actively welcome your pull requests. However, you must link your work to an existing issue."))),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Fork the repo and create your branch from the default branch.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Name your branch to something descriptive of your work, i.e., ",(0,i.kt)("inlineCode",{parentName:"p"},"add-navbar")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-style"),".")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've added code that should be tested, add tests.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've changed APIs, update the documentation.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you make visual changes, screenshots are required.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Ensure the test suite passes.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Make sure you address any lint warnings.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you improve the existing code, please let us know in your PR description.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Completing the PR form is required. Make sure to fill in the PR title, description, ",(0,i.kt)("a",{parentName:"p",href:"https://help.github.com/en/github/writing-on-github/autolinked-references-and-urls"},"link to an issue"),", and all the necessary areas."),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},'The title is required to begin with "feat:" or "fix:"'),(0,i.kt)("li",{parentName:"ul"},"Unsolicited code is welcomed, but an issue is required to announce your intentions. ",(0,i.kt)("strong",{parentName:"li"},(0,i.kt)("em",{parentName:"strong"},"PRs without a linked issue will be marked invalid and closed")),".")))),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note for maintainers"),": All PRs need a label to assist automation. See ",(0,i.kt)("a",{parentName:"em",href:"/contributing/triage-guide#adding-issue-and-pr-labels"},"this guide")," to determine which labels to use."))),(0,i.kt)("h3",{id:"pr-validation"},"PR Validation"),(0,i.kt)("p",null,"Examples of valid PR titles:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"fix: Correct typo."),(0,i.kt)("li",{parentName:"ul"},"feat: Add support for Node 12."),(0,i.kt)("li",{parentName:"ul"},"refactor!: Drop support for Node 6.")),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note"),": For any breaking changes, you have to use the ",(0,i.kt)("inlineCode",{parentName:"em"},"!")," syntax.")),(0,i.kt)("h3",{id:"work-in-progress"},"Work in Progress"),(0,i.kt)("p",null,"GitHub supports ",(0,i.kt)("a",{parentName:"p",href:"https://github.blog/2019-02-14-introducing-draft-pull-requests/"},"draft pull requests"),", which will disable the merge button until the PR is marked as ready for merge."),(0,i.kt)("h3",{id:"additional-resources"},"Additional Resources"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("em",{parentName:"li"},(0,i.kt)("a",{parentName:"em",href:"https://youtu.be/cuMeC-eZJJ4"},"3 tips for getting your Pull Request reviewed on GitHub")))),(0,i.kt)("h2",{id:"commits"},"Commits"),(0,i.kt)("p",null,"When contributing to OpenSauced projects, you can use this command to follow our conventional commits:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run push\n")),(0,i.kt)("p",null,"Using the ",(0,i.kt)("inlineCode",{parentName:"p"},"npm run push")," command is an interactive replacement for ",(0,i.kt)("inlineCode",{parentName:"p"},"git commit"),". It enforces the conventional commit specification for writing commit messages, making it easier for developers and maintainers to understand the changes made in a particular commit."),(0,i.kt)("p",null,"Assuming you are dealing with code changes and you add them using ",(0,i.kt)("inlineCode",{parentName:"p"},"git add"),", once you are ready to commit, there are two ways we can proceed: ",(0,i.kt)("inlineCode",{parentName:"p"},"git commit")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"npm run push"),". The second method is preferred, as doing a subsequent ",(0,i.kt)("inlineCode",{parentName:"p"},"git push")," and opening a PR would ensure the title conforms to our standards."),(0,i.kt)("p",null,"See ",(0,i.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"Conventional Commits")," for more examples."),(0,i.kt)("h2",{id:"issues"},"Issues"),(0,i.kt)("p",null,"If you wish to work on an open issue, please comment on the issue with ",(0,i.kt)("inlineCode",{parentName:"p"},".take"),", and it will be assigned to you. If an issue is not assigned, it is assumed to be available for anyone to work on. Please assign yourself to an issue before working on it to avoid conflicts."),(0,i.kt)("p",null,"If you contribute to the project for the first time, you can search for issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"good first issue")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"bug")," labels in the repository."),(0,i.kt)("p",null,"In case you get stuck, feel free to ask for help in the ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord")," server or ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),"."),(0,i.kt)("p",null,"Please follow our ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"code of conduct")," in all your interactions with the project and its contributors."),(0,i.kt)("h2",{id:"triage-team"},"Triage Team"),(0,i.kt)("p",null,"The Triage team is inspired by ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/expressjs/express/blob/HEAD/Triager-Guide.md"},"expressjs/express"),". This team exists to create a path for making contributions to this project and open source. All Triage Team members are expected to follow the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/triage-guide"},"Triage Guide"),"."),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("strong",{parentName:"p"},"There are no minimum requirements to become a member of the Triage Team."))),(0,i.kt)("p",null,"For those interested in getting involved in the project or just open source in general and wanting to join the Triage Team, please comment in the ",(0,i.kt)("inlineCode",{parentName:"p"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"funding"},"Funding"),(0,i.kt)("p",null,"OpenSauced is a part of GitHub Sponsors. If you would like to contribute, please note the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/sponsors/open-sauced"},"sponsor page")," for details on how funds are distributed. If you have made any contributions to the project directly or indirectly, please consider adding your profile to the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/.github/blob/main/FUNDING.yml"},(0,i.kt)("inlineCode",{parentName:"a"},"FUNDING.yml"))," file."),(0,i.kt)("h2",{id:"community"},"Community"),(0,i.kt)("p",null,"Do you have questions? Join the conversation in our ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"coding-tips"},"Coding Tips"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ask questions if you are stuck."),(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"},"CSS variables.")),(0,i.kt)("li",{parentName:"ul"},"Always use ",(0,i.kt)("a",{parentName:"li",href:"https://web.dev/external-anchors-use-rel-noopener/"},'rel="noreferrer" on all target="',"_",'blank" links'),".")),(0,i.kt)("h2",{id:"license"},"License"),(0,i.kt)("p",null,"By contributing to the OpenSauced project, you agree that your contributions will be licensed\nby a specific License. You can find this information in the ",(0,i.kt)("inlineCode",{parentName:"p"},"LICENSE")," file of the repo you are contributing to."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6308756d.9fb154b2.js b/assets/js/6308756d.9fb154b2.js new file mode 100644 index 00000000..239bf581 --- /dev/null +++ b/assets/js/6308756d.9fb154b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1461],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=o.createContext({}),u=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=u(e.components);return o.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=u(n),m=i,h=c["".concat(s,".").concat(m)]||c[m]||d[m]||r;return n?o.createElement(h,a(a({ref:t},p),{},{components:n})):o.createElement(h,a({ref:t},p))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var o=n(7462),i=(n(7294),n(3905));const r={id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing"]},a=void 0,l={unversionedId:"contributing/introduction-to-contributing",id:"contributing/introduction-to-contributing",title:"Introduction to Contributing",description:"Contributions are always welcome, no matter how large or small. Before contributing,",source:"@site/docs/contributing/introduction-to-contributing.md",sourceDirName:"contributing",slug:"/contributing/introduction-to-contributing",permalink:"/contributing/introduction-to-contributing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/introduction-to-contributing.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing"]},sidebar:"docs",previous:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"},next:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"}},s={},u=[{value:"Recommended Communication Style",id:"recommended-communication-style",level:2},{value:"Setup",id:"setup",level:2},{value:"Building",id:"building",level:2},{value:"Testing",id:"testing",level:2},{value:"Applying Lint Styleguide",id:"applying-lint-styleguide",level:2},{value:"Pull Requests (PR)",id:"pull-requests-pr",level:2},{value:"PR Validation",id:"pr-validation",level:3},{value:"Work in Progress",id:"work-in-progress",level:3},{value:"Additional Resources",id:"additional-resources",level:3},{value:"Commits",id:"commits",level:2},{value:"Issues",id:"issues",level:2},{value:"Triage Team",id:"triage-team",level:2},{value:"Funding",id:"funding",level:2},{value:"Community",id:"community",level:2},{value:"Coding Tips",id:"coding-tips",level:2},{value:"License",id:"license",level:2}],p={toc:u},c="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(c,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Contributions are always welcome, no matter how large or small. Before contributing,\nplease read the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"code of conduct")," and follow the directions below:"),(0,i.kt)("h2",{id:"recommended-communication-style"},"Recommended Communication Style"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Always leave screenshots for visual changes."),(0,i.kt)("li",{parentName:"ol"},"Always leave a detailed description in the pull request. Leave nothing ambiguous for the reviewer."),(0,i.kt)("li",{parentName:"ol"},"Always review your code first. Run the project locally and test it before requesting a review."),(0,i.kt)("li",{parentName:"ol"},"Always communicate in the GitHub repository. Whether in the issue or the pull request, keeping the lines of communication open and visible to everyone on the team helps everyone around you.")),(0,i.kt)("h2",{id:"setup"},"Setup"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"Fork")," the repository you're working on from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"github/open-sauced")," to your own GitHub account."),(0,i.kt)("li",{parentName:"ol"},"Clone the forked repository to your local machine."),(0,i.kt)("li",{parentName:"ol"},"Check the project's README to determine how to run the project locally.")),(0,i.kt)("p",null,"For many of our repositories, you'll find the directions below work for running the project locally:"),(0,i.kt)("p",null,"Run ",(0,i.kt)("inlineCode",{parentName:"p"},"npm ci")," to install the dependencies and set up the project."),(0,i.kt)("p",null,"You can also use the shell commands below to get started once you have forked the repository:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com//.git\ncd \nnpm ci\n")),(0,i.kt)("p",null,"Make sure to replace ",(0,i.kt)("inlineCode",{parentName:"p"},"")," with your GitHub username."),(0,i.kt)("h2",{id:"building"},"Building"),(0,i.kt)("p",null,"To generate a production-ready version of your code, run:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run build\n")),(0,i.kt)("h2",{id:"testing"},"Testing"),(0,i.kt)("p",null,"For running the test suite, use the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# the tests will run in watch mode by default\nnpm test\n")),(0,i.kt)("p",null,"Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to ",(0,i.kt)("a",{parentName:"p",href:"https://facebook.github.io/watchman/docs/install.html"},"install Watchman"),"."),(0,i.kt)("p",null,"Check out this course, ",(0,i.kt)("a",{parentName:"p",href:"https://testingjavascript.com/"},"Testing JavaScript"),", for more info on testing React and JavaScript."),(0,i.kt)("h2",{id:"applying-lint-styleguide"},"Applying Lint Styleguide"),(0,i.kt)("p",null,"To check the code for formatting and linting errors, run the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run lint\n")),(0,i.kt)("p",null,"These errors will also be displayed during development but won't prevent the code from compiling."),(0,i.kt)("p",null,"To fix the formatting and linting errors, run the following command instead:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run format\n")),(0,i.kt)("p",null,"These commands use ",(0,i.kt)("a",{parentName:"p",href:"https://eslint.org/"},"ESLint")," to check and fix the code."),(0,i.kt)("p",null,"If you forget to run this command, automated PR checks will also run these commands, but the PR will be blocked if there are any errors."),(0,i.kt)("h2",{id:"pull-requests-pr"},"Pull Requests (PR)"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},(0,i.kt)("em",{parentName:"strong"},"We actively welcome your pull requests. However, you must link your work to an existing issue."))),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Fork the repo and create your branch from the default branch.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Name your branch to something descriptive of your work, i.e., ",(0,i.kt)("inlineCode",{parentName:"p"},"add-navbar")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-style"),".")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've added code that should be tested, add tests.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've changed APIs, update the documentation.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you make visual changes, screenshots are required.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Ensure the test suite passes.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Make sure you address any lint warnings.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you improve the existing code, please let us know in your PR description.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Completing the PR form is required. Make sure to fill in the PR title, description, ",(0,i.kt)("a",{parentName:"p",href:"https://help.github.com/en/github/writing-on-github/autolinked-references-and-urls"},"link to an issue"),", and all the necessary areas."),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},'The title is required to begin with "feat:" or "fix:"'),(0,i.kt)("li",{parentName:"ul"},"Unsolicited code is welcomed, but an issue is required to announce your intentions. ",(0,i.kt)("strong",{parentName:"li"},(0,i.kt)("em",{parentName:"strong"},"PRs without a linked issue will be marked invalid and closed")),".")))),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note for maintainers"),": All PRs need a label to assist automation. See ",(0,i.kt)("a",{parentName:"em",href:"/contributing/triage-guide#adding-issue-and-pr-labels"},"this guide")," to determine which labels to use."))),(0,i.kt)("h3",{id:"pr-validation"},"PR Validation"),(0,i.kt)("p",null,"Examples of valid PR titles:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"fix: Correct typo."),(0,i.kt)("li",{parentName:"ul"},"feat: Add support for Node 12."),(0,i.kt)("li",{parentName:"ul"},"refactor!: Drop support for Node 6.")),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note"),": For any breaking changes, you have to use the ",(0,i.kt)("inlineCode",{parentName:"em"},"!")," syntax.")),(0,i.kt)("h3",{id:"work-in-progress"},"Work in Progress"),(0,i.kt)("p",null,"GitHub supports ",(0,i.kt)("a",{parentName:"p",href:"https://github.blog/2019-02-14-introducing-draft-pull-requests/"},"draft pull requests"),", which will disable the merge button until the PR is marked as ready for merge."),(0,i.kt)("h3",{id:"additional-resources"},"Additional Resources"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("em",{parentName:"li"},(0,i.kt)("a",{parentName:"em",href:"https://youtu.be/cuMeC-eZJJ4"},"3 tips for getting your Pull Request reviewed on GitHub")))),(0,i.kt)("h2",{id:"commits"},"Commits"),(0,i.kt)("p",null,"When contributing to OpenSauced projects, you can use this command to follow our conventional commits:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run push\n")),(0,i.kt)("p",null,"Using the ",(0,i.kt)("inlineCode",{parentName:"p"},"npm run push")," command is an interactive replacement for ",(0,i.kt)("inlineCode",{parentName:"p"},"git commit"),". It enforces the conventional commit specification for writing commit messages, making it easier for developers and maintainers to understand the changes made in a particular commit."),(0,i.kt)("p",null,"Assuming you are dealing with code changes and you add them using ",(0,i.kt)("inlineCode",{parentName:"p"},"git add"),", once you are ready to commit, there are two ways we can proceed: ",(0,i.kt)("inlineCode",{parentName:"p"},"git commit")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"npm run push"),". The second method is preferred, as doing a subsequent ",(0,i.kt)("inlineCode",{parentName:"p"},"git push")," and opening a PR would ensure the title conforms to our standards."),(0,i.kt)("p",null,"See ",(0,i.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"Conventional Commits")," for more examples."),(0,i.kt)("h2",{id:"issues"},"Issues"),(0,i.kt)("p",null,"If you wish to work on an open issue, please comment on the issue with ",(0,i.kt)("inlineCode",{parentName:"p"},".take"),", and it will be assigned to you. If an issue is not assigned, it is assumed to be available for anyone to work on. Please assign yourself to an issue before working on it to avoid conflicts."),(0,i.kt)("p",null,"If you contribute to the project for the first time, you can search for issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"good first issue")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"bug")," labels in the repository."),(0,i.kt)("p",null,"In case you get stuck, feel free to ask for help in the ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord")," server or ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),"."),(0,i.kt)("p",null,"Please follow our ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"code of conduct")," in all your interactions with the project and its contributors."),(0,i.kt)("h2",{id:"triage-team"},"Triage Team"),(0,i.kt)("p",null,"The Triage team is inspired by ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/expressjs/express/blob/HEAD/Triager-Guide.md"},"expressjs/express"),". This team exists to create a path for making contributions to this project and open source. All Triage Team members are expected to follow the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/triage-guide"},"Triage Guide"),"."),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("strong",{parentName:"p"},"There are no minimum requirements to become a member of the Triage Team."))),(0,i.kt)("p",null,"For those interested in getting involved in the project or just open source in general and wanting to join the Triage Team, please comment in the ",(0,i.kt)("inlineCode",{parentName:"p"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"funding"},"Funding"),(0,i.kt)("p",null,"OpenSauced is a part of GitHub Sponsors. If you would like to contribute, please note the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/sponsors/open-sauced"},"sponsor page")," for details on how funds are distributed. If you have made any contributions to the project directly or indirectly, please consider adding your profile to the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/.github/blob/main/FUNDING.yml"},(0,i.kt)("inlineCode",{parentName:"a"},"FUNDING.yml"))," file."),(0,i.kt)("h2",{id:"community"},"Community"),(0,i.kt)("p",null,"Do you have questions? Join the conversation in our ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"coding-tips"},"Coding Tips"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ask questions if you are stuck."),(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"},"CSS variables.")),(0,i.kt)("li",{parentName:"ul"},"Always use ",(0,i.kt)("a",{parentName:"li",href:"https://web.dev/external-anchors-use-rel-noopener/"},'rel="noreferrer" on all target="',"_",'blank" links'),".")),(0,i.kt)("h2",{id:"license"},"License"),(0,i.kt)("p",null,"By contributing to the OpenSauced project, you agree that your contributions will be licensed\nby a specific License. You can find this information in the ",(0,i.kt)("inlineCode",{parentName:"p"},"LICENSE")," file of the repo you are contributing to."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6b56021b.c430e7fd.js b/assets/js/6b56021b.c430e7fd.js new file mode 100644 index 00000000..30cda966 --- /dev/null +++ b/assets/js/6b56021b.c430e7fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5101],{3905:(t,e,n)=>{n.d(e,{Zo:()=>c,kt:()=>m});var i=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var d=i.createContext({}),l=function(t){var e=i.useContext(d),n=e;return t&&(n="function"==typeof t?t(e):a(a({},e),t)),n},c=function(t){var e=l(t.components);return i.createElement(d.Provider,{value:e},t.children)},u="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},g=i.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,d=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),u=l(n),g=r,m=u["".concat(d,".").concat(g)]||u[g]||p[g]||o;return n?i.createElement(m,a(a({ref:e},c),{},{components:n})):i.createElement(m,a({ref:e},c))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,a=new Array(o);a[0]=g;var s={};for(var d in e)hasOwnProperty.call(e,d)&&(s[d]=e[d]);s.originalType=t,s[u]="string"==typeof t?t:r,a[1]=s;for(var l=2;l{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var i=n(7462),r=(n(7294),n(3905));const o={id:"understanding-lists",title:"Understanding Lists Data",sidebar_label:"Understanding Lists Data",keywords:["maintainers","guides"]},a=void 0,s={unversionedId:"maintainers/understanding-lists",id:"maintainers/understanding-lists",title:"Understanding Lists Data",description:"Once you've created your list of contributors, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-lists-data.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-lists",permalink:"/maintainers/understanding-lists",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-lists-data.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"understanding-lists",title:"Understanding Lists Data",sidebar_label:"Understanding Lists Data",keywords:["maintainers","guides"]},sidebar:"docs",previous:{title:"Understanding Insights Data",permalink:"/maintainers/understanding-insights"},next:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"}},d={},l=[{value:"Understanding Lists Contributor Data",id:"understanding-lists-contributor-data",level:2},{value:"Interpreting Total Commits in the Last 30 Days",id:"interpreting-total-commits-in-the-last-30-days",level:3},{value:"Monitoring Active Contributors",id:"monitoring-active-contributors",level:3},{value:"Understanding Types of Contributors",id:"understanding-types-of-contributors",level:3},{value:"New Contributors",id:"new-contributors",level:4},{value:"Alumni Contributors",id:"alumni-contributors",level:4},{value:"Most Active Contributors",id:"most-active-contributors",level:4},{value:"Activity Across Other Repositories",id:"activity-across-other-repositories",level:3}],c={toc:l},u="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(u,(0,i.Z)({},c,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once you've created your list of contributors, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-lists-contributor-data"},"Understanding Lists Contributor Data"),(0,r.kt)("h3",{id:"interpreting-total-commits-in-the-last-30-days"},"Interpreting Total Commits in the Last 30 Days"),(0,r.kt)("p",null,"Understanding the commits over the last 30 days helps in gauging the overall activity and productivity of the group."),(0,r.kt)("p",null,"High commit volume might indicate a highly active and engaged team. A sudden drop could signal potential issues or a need for additional support or motivation."),(0,r.kt)("h3",{id:"monitoring-active-contributors"},"Monitoring Active Contributors"),(0,r.kt)("p",null,"Identifying active contributors helps in recognizing reliable team members and planning future tasks."),(0,r.kt)("p",null,"Trends in active contributor numbers can indicate the health of the project community and the effectiveness of engagement strategies. Notice the ebbs and flows in individual contributors\u2019 activity."),(0,r.kt)("p",null,"A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"understanding-types-of-contributors"},"Understanding Types of Contributors"),(0,r.kt)("h4",{id:"new-contributors"},"New Contributors"),(0,r.kt)("p",null,"Tracking new contributors is key to understanding the growth and influx of new talent."),(0,r.kt)("p",null,"An influx of new contributors might be a positive sign of project popularity, successful outreach efforts, or the community health of your project. However, it could also indicate a need for more support and guidance for new contributors."),(0,r.kt)("h4",{id:"alumni-contributors"},"Alumni Contributors"),(0,r.kt)("p",null,"Alumni contributors are contributors who haven't been active in the last 30 days. Identifying contributors who have stopped contributing helps in assessing potential issues or dissatisfaction."),(0,r.kt)("p",null,"High churn rates could signal deeper problems within the project environment or community management."),(0,r.kt)("h4",{id:"most-active-contributors"},"Most Active Contributors"),(0,r.kt)("p",null,"Identifying key contributors and potential leaders is important for project health and growth. It can help with delegation of responsibilities and recognition of top performers. It can also identify potential mentors for new contributors and help in planning for succession."),(0,r.kt)("p",null,"If you see that a few active contributors are doing most of the work, it might be a sign that the project needs more support or that the workload needs to be better distributed."),(0,r.kt)("h3",{id:"activity-across-other-repositories"},"Activity Across Other Repositories"),(0,r.kt)("p",null,"Understanding the range of repositories to which contributors in a list have recently contributed shows the broader interests and skills of the community. It reveals contributors' engagement levels and potential specializations, which allows for effective task allocation and identifying mentorship or leadership candidates."),(0,r.kt)("p",null,"Additionally, it opens paths for potential cross-project collaborations and strategic project planning, aligning the project\u2019s goals with trends and interests in the open source ecosystem."),(0,r.kt)("p",null,"Understanding the recent history of each contributor's engagement assists in tracking individual contribution patterns and identifying potentially cooling interests."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6b56021b.d7313ba7.js b/assets/js/6b56021b.d7313ba7.js deleted file mode 100644 index 93b2dba7..00000000 --- a/assets/js/6b56021b.d7313ba7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5101],{3905:(t,e,n)=>{n.d(e,{Zo:()=>c,kt:()=>m});var i=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var d=i.createContext({}),l=function(t){var e=i.useContext(d),n=e;return t&&(n="function"==typeof t?t(e):a(a({},e),t)),n},c=function(t){var e=l(t.components);return i.createElement(d.Provider,{value:e},t.children)},u="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},g=i.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,d=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),u=l(n),g=r,m=u["".concat(d,".").concat(g)]||u[g]||p[g]||o;return n?i.createElement(m,a(a({ref:e},c),{},{components:n})):i.createElement(m,a({ref:e},c))}));function m(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,a=new Array(o);a[0]=g;var s={};for(var d in e)hasOwnProperty.call(e,d)&&(s[d]=e[d]);s.originalType=t,s[u]="string"==typeof t?t:r,a[1]=s;for(var l=2;l{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var i=n(7462),r=(n(7294),n(3905));const o={id:"understanding-lists",title:"Understanding Lists Data",sidebar_label:"Understanding Lists Data",keywords:["maintainers","guides"]},a=void 0,s={unversionedId:"maintainers/understanding-lists",id:"maintainers/understanding-lists",title:"Understanding Lists Data",description:"Once you've created your list of contributors, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-lists-data.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-lists",permalink:"/maintainers/understanding-lists",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-lists-data.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"understanding-lists",title:"Understanding Lists Data",sidebar_label:"Understanding Lists Data",keywords:["maintainers","guides"]},sidebar:"docs",previous:{title:"Understanding Insights Data",permalink:"/maintainers/understanding-insights"},next:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"}},d={},l=[{value:"Understanding Lists Contributor Data",id:"understanding-lists-contributor-data",level:2},{value:"Interpreting Total Commits in the Last 30 Days",id:"interpreting-total-commits-in-the-last-30-days",level:3},{value:"Monitoring Active Contributors",id:"monitoring-active-contributors",level:3},{value:"Understanding Types of Contributors",id:"understanding-types-of-contributors",level:3},{value:"New Contributors",id:"new-contributors",level:4},{value:"Alumni Contributors",id:"alumni-contributors",level:4},{value:"Most Active Contributors",id:"most-active-contributors",level:4},{value:"Activity Across Other Repositories",id:"activity-across-other-repositories",level:3}],c={toc:l},u="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(u,(0,i.Z)({},c,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once you've created your list of contributors, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-lists-contributor-data"},"Understanding Lists Contributor Data"),(0,r.kt)("h3",{id:"interpreting-total-commits-in-the-last-30-days"},"Interpreting Total Commits in the Last 30 Days"),(0,r.kt)("p",null,"Understanding the commits over the last 30 days helps in gauging the overall activity and productivity of the group."),(0,r.kt)("p",null,"High commit volume might indicate a highly active and engaged team. A sudden drop could signal potential issues or a need for additional support or motivation."),(0,r.kt)("h3",{id:"monitoring-active-contributors"},"Monitoring Active Contributors"),(0,r.kt)("p",null,"Identifying active contributors helps in recognizing reliable team members and planning future tasks."),(0,r.kt)("p",null,"Trends in active contributor numbers can indicate the health of the project community and the effectiveness of engagement strategies. Notice the ebbs and flows in individual contributors\u2019 activity."),(0,r.kt)("p",null,"A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"understanding-types-of-contributors"},"Understanding Types of Contributors"),(0,r.kt)("h4",{id:"new-contributors"},"New Contributors"),(0,r.kt)("p",null,"Tracking new contributors is key to understanding the growth and influx of new talent."),(0,r.kt)("p",null,"An influx of new contributors might be a positive sign of project popularity, successful outreach efforts, or the community health of your project. However, it could also indicate a need for more support and guidance for new contributors."),(0,r.kt)("h4",{id:"alumni-contributors"},"Alumni Contributors"),(0,r.kt)("p",null,"Alumni contributors are contributors who haven't been active in the last 30 days. Identifying contributors who have stopped contributing helps in assessing potential issues or dissatisfaction."),(0,r.kt)("p",null,"High churn rates could signal deeper problems within the project environment or community management."),(0,r.kt)("h4",{id:"most-active-contributors"},"Most Active Contributors"),(0,r.kt)("p",null,"Identifying key contributors and potential leaders is important for project health and growth. It can help with delegation of responsibilities and recognition of top performers. It can also identify potential mentors for new contributors and help in planning for succession."),(0,r.kt)("p",null,"If you see that a few active contributors are doing most of the work, it might be a sign that the project needs more support or that the workload needs to be better distributed."),(0,r.kt)("h3",{id:"activity-across-other-repositories"},"Activity Across Other Repositories"),(0,r.kt)("p",null,"Understanding the range of repositories to which contributors in a list have recently contributed shows the broader interests and skills of the community. It reveals contributors' engagement levels and potential specializations, which allows for effective task allocation and identifying mentorship or leadership candidates."),(0,r.kt)("p",null,"Additionally, it opens paths for potential cross-project collaborations and strategic project planning, aligning the project\u2019s goals with trends and interests in the open source ecosystem."),(0,r.kt)("p",null,"Understanding the recent history of each contributor's engagement assists in tracking individual contribution patterns and identifying potentially cooling interests."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/74acad06.832357ce.js b/assets/js/74acad06.b66cab72.js similarity index 53% rename from assets/js/74acad06.832357ce.js rename to assets/js/74acad06.b66cab72.js index f9dc3fb4..2a4305b8 100644 --- a/assets/js/74acad06.832357ce.js +++ b/assets/js/74acad06.b66cab72.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[817],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(r),f=o,m=p["".concat(l,".").concat(f)]||p[f]||d[f]||a;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,i[1]=s;for(var c=2;c{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const a={id:"lists",title:"Organize and Monitor Your Contributors",sidebar_label:"Lists",keywords:["lists"]},i=void 0,s={unversionedId:"features/lists",id:"features/lists",title:"Organize and Monitor Your Contributors",description:"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor's activity and contributions.",source:"@site/docs/features/lists.md",sourceDirName:"features",slug:"/features/lists",permalink:"/features/lists",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/lists.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"lists",title:"Organize and Monitor Your Contributors",sidebar_label:"Lists",keywords:["lists"]},sidebar:"docs",previous:{title:"Dev Card",permalink:"/features/dev-card"},next:{title:"Connections",permalink:"/features/connections"}},l={},c=[{value:"How to Create a List",id:"how-to-create-a-list",level:2}],u={toc:c},p="wrapper";function d(e){let{components:t,...a}=e;return(0,o.kt)(p,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor's activity and contributions."),(0,o.kt)("p",null,"Monitor individual commit histories, track who is actively engaged, identify alumni or new contributors, and even compare the performance of contributors against each other. This encompasses a wide range of metrics such as code commits, created and reviewed Pull Requests (PRs), as well as issue creation and commenting."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"lists-page",src:r(6008).Z,width:"1440",height:"1124"})),(0,o.kt)("h2",{id:"how-to-create-a-list"},"How to Create a List"),(0,o.kt)("p",null,"After logging in, navigate to your ",(0,o.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/hub/lists/"},"Lists Page"),"."),(0,o.kt)("p",null,"There are three ways to add a list:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Explore Contributors"),": Use our explore tool to find contributors and create your list."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Sync your GitHub Team"),": Connect to your GitHub to create a list from a team in your organization."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import your GitHub Following"),":\nConnect to your GitHub to create a list with all the contributors you follow.")),(0,o.kt)("p",null,"Once your list is created, you'll be able to see an overview of all the contributors in your list, a graph of their activity, and a detailed breakdown of the contributors."),(0,o.kt)("p",null,"If you're having trouble syncing your Organization or Team, check out our ",(0,o.kt)("a",{parentName:"p",href:"/welcome/faqs#sync-your-github-team"},"Sync Your GitHub Team in our FAQs"),"."))}d.isMDXComponent=!0},6008:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[817],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(r),f=o,m=p["".concat(l,".").concat(f)]||p[f]||d[f]||a;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,i[1]=s;for(var c=2;c{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const a={id:"lists",title:"Organize and Monitor Your Contributors",sidebar_label:"Lists",keywords:["lists"]},i=void 0,s={unversionedId:"features/lists",id:"features/lists",title:"Organize and Monitor Your Contributors",description:"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor's activity and contributions.",source:"@site/docs/features/lists.md",sourceDirName:"features",slug:"/features/lists",permalink:"/features/lists",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/lists.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"lists",title:"Organize and Monitor Your Contributors",sidebar_label:"Lists",keywords:["lists"]},sidebar:"docs",previous:{title:"Dev Card",permalink:"/features/dev-card"},next:{title:"Connections",permalink:"/features/connections"}},l={},c=[{value:"How to Create a List",id:"how-to-create-a-list",level:2}],u={toc:c},p="wrapper";function d(e){let{components:t,...a}=e;return(0,o.kt)(p,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor's activity and contributions."),(0,o.kt)("p",null,"Monitor individual commit histories, track who is actively engaged, identify alumni or new contributors, and even compare the performance of contributors against each other. This encompasses a wide range of metrics such as code commits, created and reviewed Pull Requests (PRs), as well as issue creation and commenting."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"lists-page",src:r(6008).Z,width:"1440",height:"1124"})),(0,o.kt)("h2",{id:"how-to-create-a-list"},"How to Create a List"),(0,o.kt)("p",null,"After logging in, navigate to your ",(0,o.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/hub/lists/"},"Lists Page"),"."),(0,o.kt)("p",null,"There are three ways to add a list:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Explore Contributors"),": Use our explore tool to find contributors and create your list."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Sync your GitHub Team"),": Connect to your GitHub to create a list from a team in your organization."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import your GitHub Following"),":\nConnect to your GitHub to create a list with all the contributors you follow.")),(0,o.kt)("p",null,"Once your list is created, you'll be able to see an overview of all the contributors in your list, a graph of their activity, and a detailed breakdown of the contributors."),(0,o.kt)("p",null,"If you're having trouble syncing your Organization or Team, check out our ",(0,o.kt)("a",{parentName:"p",href:"/welcome/faqs#sync-your-github-team"},"Sync Your GitHub Team in our FAQs"),"."))}d.isMDXComponent=!0},6008:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"}}]); \ No newline at end of file diff --git a/assets/js/88e6cb4a.21ac64f8.js b/assets/js/88e6cb4a.21ac64f8.js deleted file mode 100644 index 78264b6a..00000000 --- a/assets/js/88e6cb4a.21ac64f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8710],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=i.createContext({}),u=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=u(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=u(n),m=a,g=d["".concat(l,".").concat(m)]||d[m]||c[m]||r;return n?i.createElement(g,o(o({ref:t},p),{},{components:n})):i.createElement(g,o({ref:t},p))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:a,o[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var i=n(7462),a=(n(7294),n(3905));const r={id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide"]},o=void 0,s={unversionedId:"contributing/triage-guide",id:"contributing/triage-guide",title:"Triage Guide",description:"How to Join the Triage Team",source:"@site/docs/contributing/triage-guide.md",sourceDirName:"contributing",slug:"/contributing/triage-guide",permalink:"/contributing/triage-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/triage-guide.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide"]},sidebar:"docs",previous:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"},next:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"}},l={},u=[{value:"How to Join the Triage Team",id:"how-to-join-the-triage-team",level:2},{value:"Triage Process",id:"triage-process",level:2},{value:"Adding Issue and PR Labels",id:"adding-issue-and-pr-labels",level:3},{value:"Labeling good first issue",id:"labeling-good-first-issue",level:3},{value:"Approaches and Best Practices for Getting Into Triage Contributions",id:"approaches-and-best-practices-for-getting-into-triage-contributions",level:2},{value:"Removal of Triage Role",id:"removal-of-triage-role",level:2},{value:"Helpful Hints",id:"helpful-hints",level:2}],p={toc:u},d="wrapper";function c(e){let{components:t,...n}=e;return(0,a.kt)(d,(0,i.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"how-to-join-the-triage-team"},"How to Join the Triage Team"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ol"},"Leave a comment in the ",(0,a.kt)("inlineCode",{parentName:"li"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,a.kt)("a",{parentName:"li",href:"https://discord.com/channels/714698561081704529/928693344358514698"},"Discord"),".")),(0,a.kt)("h2",{id:"triage-process"},"Triage Process"),(0,a.kt)("p",null,"When a new issue or pull request (PR) is opened, the issue will be labeled with ",(0,a.kt)("inlineCode",{parentName:"p"},"needs triage"),". If a triage team member is available, they can help ensure all the required information is provided."),(0,a.kt)("h3",{id:"adding-issue-and-pr-labels"},"Adding Issue and PR Labels"),(0,a.kt)("p",null,"Depending on the issue or PR, there are several labels the triage team can add for further classification, as follows:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"needs triage"),": This can be kept if the triager is unsure which next steps to take."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"awaiting more info"),": If more information has been requested from the author, apply this label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"question"),": User questions that do not appear to be bugs or enhancements."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"discuss"),": Topics for discussion. It might end in an ",(0,a.kt)("inlineCode",{parentName:"li"},"enhancement")," or ",(0,a.kt)("inlineCode",{parentName:"li"},"question")," label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"bug"),": Issues that present reasonable conviction there is a reproducible bug."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"enhancement"),": Issues that are found to be a reasonable candidate feature additions."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"style"),": Minor CSS or visual changes.")),(0,a.kt)("p",null,"In all cases, maintainers may close issues if they don't receive a timely response when further information is sought or when additional questions are asked."),(0,a.kt)("h3",{id:"labeling-good-first-issue"},"Labeling ",(0,a.kt)("inlineCode",{parentName:"h3"},"good first issue")),(0,a.kt)("p",null,"Issues labeled as ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," represent a curated list of easy contributions for new contributors. These issues are meant to help folks make their first contribution to open source and should not require excessive research or triaging on the contributor's part."),(0,a.kt)("p",null,"All ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," should include one or more of the following:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"A solution."),(0,a.kt)("li",{parentName:"ul"},"A suggestion for a solution."),(0,a.kt)("li",{parentName:"ul"},"Links to components or in which issue occurs.")),(0,a.kt)("p",null,"Please be noted:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Issues that ",(0,a.kt)("inlineCode",{parentName:"li"},"needs triage")," cannot be labeled as ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issues"),"."),(0,a.kt)("li",{parentName:"ul"},"It is better to have no ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," labeled issues than to have a ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," confusing enough to deter a contributor from contributing.")),(0,a.kt)("h2",{id:"approaches-and-best-practices-for-getting-into-triage-contributions"},"Approaches and Best Practices for Getting Into Triage Contributions"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the project's Contribution Guidelines if they are present. In a nutshell, commit to the community's standards and values.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the documentation; for most projects, it is just the ",(0,a.kt)("inlineCode",{parentName:"p"},"README.md"),". Ensure you understand the key APIs, semantics, configurations, and use cases.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Writing your own test apps to reaffirm your understanding of the key functions might be helpful. This may identify some gaps in documentation; record those as they might be good PRs to open.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Skim through the issues backlog; identify low-hanging and mostly new issues. From those, attempt to recreate issues based on the OP (Original Poster) description and ask questions if required. No question is a bad question!"))),(0,a.kt)("h2",{id:"removal-of-triage-role"},"Removal of Triage Role"),(0,a.kt)("p",null,"There are a few cases where members can be removed from the triage role:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Breaking the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," or ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"project contributor guidelines"),"."),(0,a.kt)("li",{parentName:"ul"},"Abuse or misuse of the role as deemed by the Triage Team."),(0,a.kt)("li",{parentName:"ul"},"Lack of participation for more than six months.")),(0,a.kt)("p",null,"If any of these happen, we will discuss them as a part of the triage portion of the regular Triage Team meetings. If you have questions, feel free to contact any Triage Team members."),(0,a.kt)("h2",{id:"helpful-hints"},"Helpful Hints"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"When reviewing the list of open issues, there are some common types and suggested actions:",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"New/unattended issues or simple questions"),": A good place to start."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Hard bugs & ongoing discussions"),": Feel free to chime in and help."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Issues that imply gaps in the documentation"),": Open PRs with changes or help the user to do so."))),(0,a.kt)("li",{parentName:"ul"},"For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo)."),(0,a.kt)("li",{parentName:"ul"},"Review and identify the maintainers. If necessary, mention one or more of them with ",(0,a.kt)("inlineCode",{parentName:"li"},"@")," if you are unsure what to do."),(0,a.kt)("li",{parentName:"ul"},"Ensure all your interactions are professional, welcoming, and respectful to the parties involved.")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/88e6cb4a.362a1d21.js b/assets/js/88e6cb4a.362a1d21.js new file mode 100644 index 00000000..6c11c9f6 --- /dev/null +++ b/assets/js/88e6cb4a.362a1d21.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8710],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=i.createContext({}),u=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=u(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=u(n),m=a,g=d["".concat(l,".").concat(m)]||d[m]||c[m]||r;return n?i.createElement(g,o(o({ref:t},p),{},{components:n})):i.createElement(g,o({ref:t},p))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:a,o[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var i=n(7462),a=(n(7294),n(3905));const r={id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide"]},o=void 0,s={unversionedId:"contributing/triage-guide",id:"contributing/triage-guide",title:"Triage Guide",description:"How to Join the Triage Team",source:"@site/docs/contributing/triage-guide.md",sourceDirName:"contributing",slug:"/contributing/triage-guide",permalink:"/contributing/triage-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/triage-guide.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide"]},sidebar:"docs",previous:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"},next:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"}},l={},u=[{value:"How to Join the Triage Team",id:"how-to-join-the-triage-team",level:2},{value:"Triage Process",id:"triage-process",level:2},{value:"Adding Issue and PR Labels",id:"adding-issue-and-pr-labels",level:3},{value:"Labeling good first issue",id:"labeling-good-first-issue",level:3},{value:"Approaches and Best Practices for Getting Into Triage Contributions",id:"approaches-and-best-practices-for-getting-into-triage-contributions",level:2},{value:"Removal of Triage Role",id:"removal-of-triage-role",level:2},{value:"Helpful Hints",id:"helpful-hints",level:2}],p={toc:u},d="wrapper";function c(e){let{components:t,...n}=e;return(0,a.kt)(d,(0,i.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"how-to-join-the-triage-team"},"How to Join the Triage Team"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ol"},"Leave a comment in the ",(0,a.kt)("inlineCode",{parentName:"li"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,a.kt)("a",{parentName:"li",href:"https://discord.com/channels/714698561081704529/928693344358514698"},"Discord"),".")),(0,a.kt)("h2",{id:"triage-process"},"Triage Process"),(0,a.kt)("p",null,"When a new issue or pull request (PR) is opened, the issue will be labeled with ",(0,a.kt)("inlineCode",{parentName:"p"},"needs triage"),". If a triage team member is available, they can help ensure all the required information is provided."),(0,a.kt)("h3",{id:"adding-issue-and-pr-labels"},"Adding Issue and PR Labels"),(0,a.kt)("p",null,"Depending on the issue or PR, there are several labels the triage team can add for further classification, as follows:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"needs triage"),": This can be kept if the triager is unsure which next steps to take."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"awaiting more info"),": If more information has been requested from the author, apply this label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"question"),": User questions that do not appear to be bugs or enhancements."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"discuss"),": Topics for discussion. It might end in an ",(0,a.kt)("inlineCode",{parentName:"li"},"enhancement")," or ",(0,a.kt)("inlineCode",{parentName:"li"},"question")," label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"bug"),": Issues that present reasonable conviction there is a reproducible bug."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"enhancement"),": Issues that are found to be a reasonable candidate feature additions."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"style"),": Minor CSS or visual changes.")),(0,a.kt)("p",null,"In all cases, maintainers may close issues if they don't receive a timely response when further information is sought or when additional questions are asked."),(0,a.kt)("h3",{id:"labeling-good-first-issue"},"Labeling ",(0,a.kt)("inlineCode",{parentName:"h3"},"good first issue")),(0,a.kt)("p",null,"Issues labeled as ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," represent a curated list of easy contributions for new contributors. These issues are meant to help folks make their first contribution to open source and should not require excessive research or triaging on the contributor's part."),(0,a.kt)("p",null,"All ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," should include one or more of the following:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"A solution."),(0,a.kt)("li",{parentName:"ul"},"A suggestion for a solution."),(0,a.kt)("li",{parentName:"ul"},"Links to components or in which issue occurs.")),(0,a.kt)("p",null,"Please be noted:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Issues that ",(0,a.kt)("inlineCode",{parentName:"li"},"needs triage")," cannot be labeled as ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issues"),"."),(0,a.kt)("li",{parentName:"ul"},"It is better to have no ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," labeled issues than to have a ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," confusing enough to deter a contributor from contributing.")),(0,a.kt)("h2",{id:"approaches-and-best-practices-for-getting-into-triage-contributions"},"Approaches and Best Practices for Getting Into Triage Contributions"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the project's Contribution Guidelines if they are present. In a nutshell, commit to the community's standards and values.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the documentation; for most projects, it is just the ",(0,a.kt)("inlineCode",{parentName:"p"},"README.md"),". Ensure you understand the key APIs, semantics, configurations, and use cases.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Writing your own test apps to reaffirm your understanding of the key functions might be helpful. This may identify some gaps in documentation; record those as they might be good PRs to open.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Skim through the issues backlog; identify low-hanging and mostly new issues. From those, attempt to recreate issues based on the OP (Original Poster) description and ask questions if required. No question is a bad question!"))),(0,a.kt)("h2",{id:"removal-of-triage-role"},"Removal of Triage Role"),(0,a.kt)("p",null,"There are a few cases where members can be removed from the triage role:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Breaking the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," or ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"project contributor guidelines"),"."),(0,a.kt)("li",{parentName:"ul"},"Abuse or misuse of the role as deemed by the Triage Team."),(0,a.kt)("li",{parentName:"ul"},"Lack of participation for more than six months.")),(0,a.kt)("p",null,"If any of these happen, we will discuss them as a part of the triage portion of the regular Triage Team meetings. If you have questions, feel free to contact any Triage Team members."),(0,a.kt)("h2",{id:"helpful-hints"},"Helpful Hints"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"When reviewing the list of open issues, there are some common types and suggested actions:",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"New/unattended issues or simple questions"),": A good place to start."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Hard bugs & ongoing discussions"),": Feel free to chime in and help."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Issues that imply gaps in the documentation"),": Open PRs with changes or help the user to do so."))),(0,a.kt)("li",{parentName:"ul"},"For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo)."),(0,a.kt)("li",{parentName:"ul"},"Review and identify the maintainers. If necessary, mention one or more of them with ",(0,a.kt)("inlineCode",{parentName:"li"},"@")," if you are unsure what to do."),(0,a.kt)("li",{parentName:"ul"},"Ensure all your interactions are professional, welcoming, and respectful to the parties involved.")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/914479fa.88b1f64a.js b/assets/js/914479fa.ce8793ca.js similarity index 53% rename from assets/js/914479fa.88b1f64a.js rename to assets/js/914479fa.ce8793ca.js index 5e84d11b..8afbb9b0 100644 --- a/assets/js/914479fa.88b1f64a.js +++ b/assets/js/914479fa.ce8793ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[457],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>g});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),f=l(n),u=r,g=f["".concat(s,".").concat(u)]||f[u]||p[u]||a;return n?o.createElement(g,i(i({ref:t},d),{},{components:n})):o.createElement(g,i({ref:t},d))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=u;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[f]="string"==typeof e?e:r,i[1]=c;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var o=n(7462),r=(n(7294),n(3905));const a={id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing"]},i=void 0,c={unversionedId:"tools/chrome-extension/refactoring-and-testing",id:"tools/chrome-extension/refactoring-and-testing",title:"Refactoring and Testing",description:"Refactoring a Block of Code",source:"@site/docs/tools/chrome-extension/refactoring-and-testing.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/refactoring-and-testing",permalink:"/tools/chrome-extension/refactoring-and-testing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/refactoring-and-testing.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing"]},sidebar:"docs",previous:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"},next:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"}},s={},l=[{value:"Refactoring a Block of Code",id:"refactoring-a-block-of-code",level:2},{value:"Testing a Block of Code",id:"testing-a-block-of-code",level:2}],d={toc:l},f="wrapper";function p(e){let{components:t,...a}=e;return(0,r.kt)(f,(0,o.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"refactoring-a-block-of-code"},"Refactoring a Block of Code"),(0,r.kt)("p",null,"Refactor a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(338).Z,width:"828",height:"481"})),(0,r.kt)("h2",{id:"testing-a-block-of-code"},"Testing a Block of Code"),(0,r.kt)("p",null,"Generate tests for a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(3681).Z,width:"828",height:"481"})))}p.isMDXComponent=!0},338:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-refactor-2b26ff383ff3a6351a5b4feda98abafd.gif"},3681:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-test-90211422d3a31f62a0d0c8e073d7454a.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[457],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},f="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),f=l(n),g=r,u=f["".concat(s,".").concat(g)]||f[g]||p[g]||a;return n?o.createElement(u,i(i({ref:t},d),{},{components:n})):o.createElement(u,i({ref:t},d))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=g;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[f]="string"==typeof e?e:r,i[1]=c;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var o=n(7462),r=(n(7294),n(3905));const a={id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing"]},i=void 0,c={unversionedId:"tools/chrome-extension/refactoring-and-testing",id:"tools/chrome-extension/refactoring-and-testing",title:"Refactoring and Testing",description:"Refactoring a Block of Code",source:"@site/docs/tools/chrome-extension/refactoring-and-testing.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/refactoring-and-testing",permalink:"/tools/chrome-extension/refactoring-and-testing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/refactoring-and-testing.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing"]},sidebar:"docs",previous:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"},next:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"}},s={},l=[{value:"Refactoring a Block of Code",id:"refactoring-a-block-of-code",level:2},{value:"Testing a Block of Code",id:"testing-a-block-of-code",level:2}],d={toc:l},f="wrapper";function p(e){let{components:t,...a}=e;return(0,r.kt)(f,(0,o.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"refactoring-a-block-of-code"},"Refactoring a Block of Code"),(0,r.kt)("p",null,"Refactor a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(338).Z,width:"828",height:"481"})),(0,r.kt)("h2",{id:"testing-a-block-of-code"},"Testing a Block of Code"),(0,r.kt)("p",null,"Generate tests for a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(3681).Z,width:"828",height:"481"})))}p.isMDXComponent=!0},338:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-refactor-2b26ff383ff3a6351a5b4feda98abafd.gif"},3681:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-test-90211422d3a31f62a0d0c8e073d7454a.gif"}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.2e259e80.js b/assets/js/935f2afb.2e259e80.js new file mode 100644 index 00000000..4dd4eac5 --- /dev/null +++ b/assets/js/935f2afb.2e259e80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Introduction to OpenSauced \ud83c\udf55","href":"/","docId":"introduction"},{"type":"category","label":"Getting Started","collapsed":false,"items":[{"type":"link","label":"What is OpenSauced?","href":"/welcome/opensauced-intro","docId":"welcome/opensauced-intro"},{"type":"link","label":"OpenSauced Glossary","href":"/welcome/glossary","docId":"welcome/glossary"},{"type":"link","label":"FAQs","href":"/welcome/faqs","docId":"welcome/faqs"}],"collapsible":true},{"type":"category","label":"Features","collapsed":false,"items":[{"type":"link","label":"Highlights","href":"/features/highlights","docId":"features/highlights"},{"type":"link","label":"Insights","href":"/features/insights","docId":"features/insights"},{"type":"link","label":"Dev Card","href":"/features/dev-card","docId":"features/dev-card"},{"type":"link","label":"Lists","href":"/features/lists","docId":"features/lists"},{"type":"link","label":"Connections","href":"/features/connections","docId":"features/connections"}],"collapsible":true},{"type":"category","label":"Maintainers","collapsed":false,"items":[{"type":"link","label":"Maintainers Guide to OpenSauced","href":"/maintainers/maintainers-guide-to-open-sauced","docId":"maintainers/maintainers-guide-to-open-sauced"},{"type":"link","label":"Understanding Insights Data","href":"/maintainers/understanding-insights","docId":"maintainers/understanding-insights"},{"type":"link","label":"Understanding Lists Data","href":"/maintainers/understanding-lists","docId":"maintainers/understanding-lists"}],"collapsible":true},{"type":"category","label":"Community","collapsed":false,"items":[{"type":"link","label":"Welcome to the Community","href":"/community/welcome-to-the-community","docId":"community/welcome-to-the-community"},{"type":"link","label":"#100DaysOfOSS","href":"/community/100-days-of-oss","docId":"community/100-days-of-oss"}],"collapsible":true},{"type":"category","label":"Tools","collapsed":false,"items":[{"type":"link","label":"Hot OpenSauced Project","href":"/tools/hot-opensauced","docId":"tools/hot-opensauced"},{"type":"link","label":"Pizza CLI","href":"/tools/pizza-cli","docId":"tools/pizza-cli"},{"type":"category","label":"Chrome Extension Usage","collapsed":true,"items":[{"type":"link","label":"Introduction to the Chrome Extension","href":"/tools/chrome-extension/introduction-to-the-chrome-extension","docId":"tools/chrome-extension/introduction-to-the-chrome-extension"},{"type":"category","label":"Using the Chrome Extension","items":[{"type":"link","label":"Code Explanation","href":"/tools/chrome-extension/code-explanation","docId":"tools/chrome-extension/code-explanation"},{"type":"link","label":"PR Description","href":"/tools/chrome-extension/pr-description","docId":"tools/chrome-extension/pr-description"},{"type":"link","label":"Highlight","href":"/tools/chrome-extension/highlights","docId":"tools/chrome-extension/highlights"},{"type":"link","label":"Refactoring and Testing","href":"/tools/chrome-extension/refactoring-and-testing","docId":"tools/chrome-extension/refactoring-and-testing"},{"type":"link","label":"Insights and Invitations","href":"/tools/chrome-extension/viewing-insights-and-invitations","docId":"tools/chrome-extension/viewing-insights-and-invitations"}],"collapsed":true,"collapsible":true}],"collapsible":true}],"collapsible":true},{"type":"category","label":"Contributing Guide","collapsed":true,"items":[{"type":"link","label":"Introduction to Contributing","href":"/contributing/introduction-to-contributing","docId":"contributing/introduction-to-contributing"},{"type":"link","label":"Code of Conduct","href":"/contributing/code-of-conduct","docId":"contributing/code-of-conduct"},{"type":"link","label":"Triage Guide","href":"/contributing/triage-guide","docId":"contributing/triage-guide"},{"type":"link","label":"Set Up Authentication","href":"/contributing/set-up-authentication","docId":"contributing/set-up-authentication"},{"type":"link","label":"OpenSauced Maintainers Guide","href":"/contributing/maintainers-guide","docId":"contributing/maintainers-guide"},{"type":"category","label":"Technical Guide","collapsed":true,"items":[{"type":"link","label":"Setting Up a Repository with Git and GitHub","href":"/contributing/technical/setup-repo-with-git","docId":"contributing/technical/setup-repo-with-git"},{"type":"link","label":"Resolve Merge Conflicts","href":"/contributing/technical/resolve-merge-conflicts","docId":"contributing/technical/resolve-merge-conflicts"}],"collapsible":true}],"collapsible":true},{"type":"category","label":"OpenSauced Packages","collapsed":true,"items":[{"type":"link","label":"@open-sauced/check-engines","href":"/opensauced-packages/check-engines","docId":"opensauced-packages/check-engines"},{"type":"link","label":"@open-sauced/conventional-commit","href":"/opensauced-packages/conventional-commit","docId":"opensauced-packages/conventional-commit"},{"type":"link","label":"@open-sauced/semantic-release-conventional-config","href":"/opensauced-packages/semantic-release","docId":"opensauced-packages/semantic-release"}],"collapsible":true},{"type":"category","label":"Job Seekers Guide","collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/job-seekers-guide/job-seekers-guide-introduction","docId":"job-seekers-guide/job-seekers-guide-introduction"},{"type":"link","label":"How to Translate Open Source Contributions into Career Opportunities","href":"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities","docId":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities"}],"collapsible":true}]},"docs":{"community/100-days-of-oss":{"id":"community/100-days-of-oss","title":"#100DaysOfOSS: Growing Skills and Real-World Experience","description":"Inspired by the great work of the #100DaysOfCode challenge, we\'re starting #100DaysOfOSS.","sidebar":"docs"},"community/hacktoberfest":{"id":"community/hacktoberfest","title":"Join us for Hacktoberfest! \ud83c\udf83","description":"At OpenSauced, we love open source just as much as pizza! That\'s why we are participating in Hacktoberfest! \ud83c\udf83"},"community/welcome-to-the-community":{"id":"community/welcome-to-the-community","title":"Welcome to the OpenSauced Community","description":"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.","sidebar":"docs"},"contributing/code-of-conduct":{"id":"contributing/code-of-conduct","title":"Code of Conduct","description":"Our Pledge","sidebar":"docs"},"contributing/introduction-to-contributing":{"id":"contributing/introduction-to-contributing","title":"Introduction to Contributing","description":"Contributions are always welcome, no matter how large or small. Before contributing,","sidebar":"docs"},"contributing/maintainers-guide":{"id":"contributing/maintainers-guide","title":"OpenSauced Maintainers Guide","description":"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.","sidebar":"docs"},"contributing/set-up-authentication":{"id":"contributing/set-up-authentication","title":"Set Up Authentication","description":"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.","sidebar":"docs"},"contributing/technical/resolve-merge-conflicts":{"id":"contributing/technical/resolve-merge-conflicts","title":"Resolve Merge Conflicts","description":"You\'ll likely encounter merge conflicts when opening a pull request, as the release process generally updates npm-shrinkwrap.json.","sidebar":"docs"},"contributing/technical/setup-repo-with-git":{"id":"contributing/technical/setup-repo-with-git","title":"Setting Up a Repository with Git and GitHub","description":"Using the GitHub CLI","sidebar":"docs"},"contributing/triage-guide":{"id":"contributing/triage-guide","title":"Triage Guide","description":"How to Join the Triage Team","sidebar":"docs"},"features/connections":{"id":"features/connections","title":"Grow Your Network with Our Connections Feature!","description":"What are Connections?","sidebar":"docs"},"features/dev-card":{"id":"features/dev-card","title":"Showcase Your Open Source Stats with Your Dev Card","description":"The Dev Card feature is what we like to call your \\"open source business card.\\"","sidebar":"docs"},"features/highlights":{"id":"features/highlights","title":"Highlight Your Open Source Contributions","description":"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it\'s a great way to showcase your project and the issues that need support and attract new contributors.","sidebar":"docs"},"features/insights":{"id":"features/insights","title":"Insights into Open Source Projects","description":"The Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of your project\'s health and your individual contributions. From contribution trends to community health, OpenSauced Insights helps you make data-driven decisions that align with your goals. It\'s not just about numbers; it\'s about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.","sidebar":"docs"},"features/lists":{"id":"features/lists","title":"Organize and Monitor Your Contributors","description":"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor\'s activity and contributions.","sidebar":"docs"},"introduction":{"id":"introduction","title":"Introduction to OpenSauced \ud83c\udf55","description":"Example banner","sidebar":"docs"},"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities":{"id":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities","title":"How to Translate Open Source Contributions into Career Opportunities","description":"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.","sidebar":"docs"},"job-seekers-guide/job-seekers-guide-introduction":{"id":"job-seekers-guide/job-seekers-guide-introduction","title":"Learn How to Land a Tech Job Using OpenSauced","description":"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through Open Source contributions.","sidebar":"docs"},"maintainers/maintainers-guide-to-open-sauced":{"id":"maintainers/maintainers-guide-to-open-sauced","title":"Maintainers Guide to OpenSauced","description":"Introduction to OpenSauced for Maintainers","sidebar":"docs"},"maintainers/understanding-insights":{"id":"maintainers/understanding-insights","title":"Understanding Insights Data","description":"Once your repositories are connected, it\'s time to understand the data provided in your Insight Page. Understanding this data is key to effectively managing your projects and contributors.","sidebar":"docs"},"maintainers/understanding-lists":{"id":"maintainers/understanding-lists","title":"Understanding Lists Data","description":"Once you\'ve created your list of contributors, it\'s time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.","sidebar":"docs"},"opensauced-packages/check-engines":{"id":"opensauced-packages/check-engines","title":"@open-sauced/check-engines","description":"Description","sidebar":"docs"},"opensauced-packages/conventional-commit":{"id":"opensauced-packages/conventional-commit","title":"@open-sauced/conventional-commit","description":"Description","sidebar":"docs"},"opensauced-packages/semantic-release":{"id":"opensauced-packages/semantic-release","title":"@open-sauced/semantic-release-conventional-config","description":"Description","sidebar":"docs"},"tools/chrome-extension/code-explanation":{"id":"tools/chrome-extension/code-explanation","title":"Code Explanation","description":"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.","sidebar":"docs"},"tools/chrome-extension/highlights":{"id":"tools/chrome-extension/highlights","title":"Highlight","description":"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.","sidebar":"docs"},"tools/chrome-extension/introduction-to-the-chrome-extension":{"id":"tools/chrome-extension/introduction-to-the-chrome-extension","title":"Introduction to the Chrome Extension","description":"The OpenSauced Chrome Extension","sidebar":"docs"},"tools/chrome-extension/pr-description":{"id":"tools/chrome-extension/pr-description","title":"PR Description","description":"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message\'s length and tone using the same settings.","sidebar":"docs"},"tools/chrome-extension/refactoring-and-testing":{"id":"tools/chrome-extension/refactoring-and-testing","title":"Refactoring and Testing","description":"Refactoring a Block of Code","sidebar":"docs"},"tools/chrome-extension/viewing-insights-and-invitations":{"id":"tools/chrome-extension/viewing-insights-and-invitations","title":"Viewing Insights and Invitations","description":"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.","sidebar":"docs"},"tools/hot-opensauced":{"id":"tools/hot-opensauced","title":"Hot OpenSauced Project","description":"Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.","sidebar":"docs"},"tools/pizza-cli":{"id":"tools/pizza-cli","title":"Introduction to the Pizza CLI","description":"The OpenSauced Pizza CLI","sidebar":"docs"},"welcome/faqs":{"id":"welcome/faqs","title":"Frequently Asked Questions","description":"Contributions","sidebar":"docs"},"welcome/glossary":{"id":"welcome/glossary","title":"OpenSauced Glossary","description":"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.","sidebar":"docs"},"welcome/opensauced-intro":{"id":"welcome/opensauced-intro","title":"What is OpenSauced?","description":"OpenSauced: Your Open Source Partner","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.404c9ef2.js b/assets/js/935f2afb.404c9ef2.js deleted file mode 100644 index 0fb76eaf..00000000 --- a/assets/js/935f2afb.404c9ef2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Introduction to OpenSauced \ud83c\udf55","href":"/","docId":"introduction"},{"type":"category","label":"Getting Started","collapsed":false,"items":[{"type":"link","label":"What is OpenSauced?","href":"/welcome/opensauced-intro","docId":"welcome/opensauced-intro"},{"type":"link","label":"OpenSauced Glossary","href":"/welcome/glossary","docId":"welcome/glossary"},{"type":"link","label":"FAQs","href":"/welcome/faqs","docId":"welcome/faqs"}],"collapsible":true},{"type":"category","label":"Features","collapsed":false,"items":[{"type":"link","label":"Highlights","href":"/features/highlights","docId":"features/highlights"},{"type":"link","label":"Insights","href":"/features/insights","docId":"features/insights"},{"type":"link","label":"Dev Card","href":"/features/dev-card","docId":"features/dev-card"},{"type":"link","label":"Lists","href":"/features/lists","docId":"features/lists"},{"type":"link","label":"Connections","href":"/features/connections","docId":"features/connections"}],"collapsible":true},{"type":"category","label":"Maintainers","collapsed":false,"items":[{"type":"link","label":"Maintainers Guide to OpenSauced","href":"/maintainers/maintainers-guide-to-open-sauced","docId":"maintainers/maintainers-guide-to-open-sauced"},{"type":"link","label":"Understanding Insights Data","href":"/maintainers/understanding-insights","docId":"maintainers/understanding-insights"},{"type":"link","label":"Understanding Lists Data","href":"/maintainers/understanding-lists","docId":"maintainers/understanding-lists"}],"collapsible":true},{"type":"category","label":"Community","collapsed":false,"items":[{"type":"link","label":"Welcome to the Community","href":"/community/welcome-to-the-community","docId":"community/welcome-to-the-community"},{"type":"link","label":"#100DaysOfOSS","href":"/community/100-days-of-oss","docId":"community/100-days-of-oss"}],"collapsible":true},{"type":"category","label":"Tools","collapsed":false,"items":[{"type":"link","label":"Hot OpenSauced Project","href":"/tools/hot-opensauced","docId":"tools/hot-opensauced"},{"type":"link","label":"Pizza CLI","href":"/tools/pizza-cli","docId":"tools/pizza-cli"},{"type":"category","label":"Chrome Extension Usage","collapsed":true,"items":[{"type":"link","label":"Introduction to the Chrome Extension","href":"/tools/chrome-extension/introduction-to-the-chrome-extension","docId":"tools/chrome-extension/introduction-to-the-chrome-extension"},{"type":"category","label":"Using the Chrome Extension","items":[{"type":"link","label":"Code Explanation","href":"/tools/chrome-extension/code-explanation","docId":"tools/chrome-extension/code-explanation"},{"type":"link","label":"PR Description","href":"/tools/chrome-extension/pr-description","docId":"tools/chrome-extension/pr-description"},{"type":"link","label":"Highlight","href":"/tools/chrome-extension/highlights","docId":"tools/chrome-extension/highlights"},{"type":"link","label":"Refactoring and Testing","href":"/tools/chrome-extension/refactoring-and-testing","docId":"tools/chrome-extension/refactoring-and-testing"},{"type":"link","label":"Insights and Invitations","href":"/tools/chrome-extension/viewing-insights-and-invitations","docId":"tools/chrome-extension/viewing-insights-and-invitations"}],"collapsed":true,"collapsible":true}],"collapsible":true}],"collapsible":true},{"type":"category","label":"Contributing Guide","collapsed":true,"items":[{"type":"link","label":"Introduction to Contributing","href":"/contributing/introduction-to-contributing","docId":"contributing/introduction-to-contributing"},{"type":"link","label":"Code of Conduct","href":"/contributing/code-of-conduct","docId":"contributing/code-of-conduct"},{"type":"link","label":"Triage Guide","href":"/contributing/triage-guide","docId":"contributing/triage-guide"},{"type":"link","label":"Set Up Authentication","href":"/contributing/set-up-authentication","docId":"contributing/set-up-authentication"},{"type":"link","label":"OpenSauced Maintainers Guide","href":"/contributing/maintainers-guide","docId":"contributing/maintainers-guide"},{"type":"category","label":"Technical Guide","collapsed":true,"items":[{"type":"link","label":"Introduction to Storybook","href":"/contributing/technical/introduction-to-storybook","docId":"contributing/technical/introduction-to-storybook"},{"type":"link","label":"Setting Up a Repository with Git and GitHub","href":"/contributing/technical/setup-repo-with-git","docId":"contributing/technical/setup-repo-with-git"},{"type":"link","label":"Resolve Merge Conflicts","href":"/contributing/technical/resolve-merge-conflicts","docId":"contributing/technical/resolve-merge-conflicts"}],"collapsible":true}],"collapsible":true},{"type":"category","label":"OpenSauced Packages","collapsed":true,"items":[{"type":"link","label":"@open-sauced/check-engines","href":"/opensauced-packages/check-engines","docId":"opensauced-packages/check-engines"},{"type":"link","label":"@open-sauced/conventional-commit","href":"/opensauced-packages/conventional-commit","docId":"opensauced-packages/conventional-commit"},{"type":"link","label":"@open-sauced/semantic-release-conventional-config","href":"/opensauced-packages/semantic-release","docId":"opensauced-packages/semantic-release"}],"collapsible":true},{"type":"category","label":"Job Seekers Guide","collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/job-seekers-guide/job-seekers-guide-introduction","docId":"job-seekers-guide/job-seekers-guide-introduction"},{"type":"link","label":"How to Translate Open Source Contributions into Career Opportunities","href":"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities","docId":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities"}],"collapsible":true}]},"docs":{"community/100-days-of-oss":{"id":"community/100-days-of-oss","title":"#100DaysOfOSS: Growing Skills and Real-World Experience","description":"Inspired by the great work of the #100DaysOfCode challenge, we\'re starting #100DaysOfOSS.","sidebar":"docs"},"community/hacktoberfest":{"id":"community/hacktoberfest","title":"Join us for Hacktoberfest! \ud83c\udf83","description":"At OpenSauced, we love open source just as much as pizza! That\'s why we are participating in Hacktoberfest! \ud83c\udf83"},"community/welcome-to-the-community":{"id":"community/welcome-to-the-community","title":"Welcome to the OpenSauced Community","description":"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.","sidebar":"docs"},"contributing/code-of-conduct":{"id":"contributing/code-of-conduct","title":"Code of Conduct","description":"Our Pledge","sidebar":"docs"},"contributing/introduction-to-contributing":{"id":"contributing/introduction-to-contributing","title":"Introduction to Contributing","description":"Contributions are always welcome, no matter how large or small. Before contributing,","sidebar":"docs"},"contributing/maintainers-guide":{"id":"contributing/maintainers-guide","title":"OpenSauced Maintainers Guide","description":"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.","sidebar":"docs"},"contributing/set-up-authentication":{"id":"contributing/set-up-authentication","title":"Set Up Authentication","description":"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.","sidebar":"docs"},"contributing/technical/introduction-to-storybook":{"id":"contributing/technical/introduction-to-storybook","title":"Introduction to Storybook","description":"Storybook is an open-source tool that helps developers build, test, and document UI components in isolation. It\'s being leveraged to mock out visual React components. Follow this link to find the latest version of the OpenSauced design system.","sidebar":"docs"},"contributing/technical/resolve-merge-conflicts":{"id":"contributing/technical/resolve-merge-conflicts","title":"Resolve Merge Conflicts","description":"You\'ll likely encounter merge conflicts when opening a pull request, as the release process generally updates npm-shrinkwrap.json.","sidebar":"docs"},"contributing/technical/setup-repo-with-git":{"id":"contributing/technical/setup-repo-with-git","title":"Setting Up a Repository with Git and GitHub","description":"Using the GitHub CLI","sidebar":"docs"},"contributing/triage-guide":{"id":"contributing/triage-guide","title":"Triage Guide","description":"How to Join the Triage Team","sidebar":"docs"},"features/connections":{"id":"features/connections","title":"Grow Your Network with Our Connections Feature!","description":"What are Connections?","sidebar":"docs"},"features/dev-card":{"id":"features/dev-card","title":"Showcase Your Open Source Stats with Your Dev Card","description":"The Dev Card feature is what we like to call your \\"open source business card.\\"","sidebar":"docs"},"features/highlights":{"id":"features/highlights","title":"Highlight Your Open Source Contributions","description":"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it\'s a great way to showcase your project and the issues that need support and attract new contributors.","sidebar":"docs"},"features/insights":{"id":"features/insights","title":"Insights into Open Source Projects","description":"The Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of your project\'s health and your individual contributions. From contribution trends to community health, OpenSauced Insights helps you make data-driven decisions that align with your goals. It\'s not just about numbers; it\'s about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.","sidebar":"docs"},"features/lists":{"id":"features/lists","title":"Organize and Monitor Your Contributors","description":"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor\'s activity and contributions.","sidebar":"docs"},"introduction":{"id":"introduction","title":"Introduction to OpenSauced \ud83c\udf55","description":"Example banner","sidebar":"docs"},"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities":{"id":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities","title":"How to Translate Open Source Contributions into Career Opportunities","description":"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.","sidebar":"docs"},"job-seekers-guide/job-seekers-guide-introduction":{"id":"job-seekers-guide/job-seekers-guide-introduction","title":"Learn How to Land a Tech Job Using OpenSauced","description":"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through Open Source contributions.","sidebar":"docs"},"maintainers/maintainers-guide-to-open-sauced":{"id":"maintainers/maintainers-guide-to-open-sauced","title":"Maintainers Guide to OpenSauced","description":"Introduction to OpenSauced for Maintainers","sidebar":"docs"},"maintainers/understanding-insights":{"id":"maintainers/understanding-insights","title":"Understanding Insights Data","description":"Once your repositories are connected, it\'s time to understand the data provided in your Insight Page. Understanding this data is key to effectively managing your projects and contributors.","sidebar":"docs"},"maintainers/understanding-lists":{"id":"maintainers/understanding-lists","title":"Understanding Lists Data","description":"Once you\'ve created your list of contributors, it\'s time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.","sidebar":"docs"},"opensauced-packages/check-engines":{"id":"opensauced-packages/check-engines","title":"@open-sauced/check-engines","description":"Description","sidebar":"docs"},"opensauced-packages/conventional-commit":{"id":"opensauced-packages/conventional-commit","title":"@open-sauced/conventional-commit","description":"Description","sidebar":"docs"},"opensauced-packages/semantic-release":{"id":"opensauced-packages/semantic-release","title":"@open-sauced/semantic-release-conventional-config","description":"Description","sidebar":"docs"},"tools/chrome-extension/code-explanation":{"id":"tools/chrome-extension/code-explanation","title":"Code Explanation","description":"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.","sidebar":"docs"},"tools/chrome-extension/highlights":{"id":"tools/chrome-extension/highlights","title":"Highlight","description":"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.","sidebar":"docs"},"tools/chrome-extension/introduction-to-the-chrome-extension":{"id":"tools/chrome-extension/introduction-to-the-chrome-extension","title":"Introduction to the Chrome Extension","description":"The OpenSauced Chrome Extension","sidebar":"docs"},"tools/chrome-extension/pr-description":{"id":"tools/chrome-extension/pr-description","title":"PR Description","description":"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message\'s length and tone using the same settings.","sidebar":"docs"},"tools/chrome-extension/refactoring-and-testing":{"id":"tools/chrome-extension/refactoring-and-testing","title":"Refactoring and Testing","description":"Refactoring a Block of Code","sidebar":"docs"},"tools/chrome-extension/viewing-insights-and-invitations":{"id":"tools/chrome-extension/viewing-insights-and-invitations","title":"Viewing Insights and Invitations","description":"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.","sidebar":"docs"},"tools/hot-opensauced":{"id":"tools/hot-opensauced","title":"Hot OpenSauced Project","description":"Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.","sidebar":"docs"},"tools/pizza-cli":{"id":"tools/pizza-cli","title":"Introduction to the Pizza CLI","description":"The OpenSauced Pizza CLI","sidebar":"docs"},"welcome/faqs":{"id":"welcome/faqs","title":"Frequently Asked Questions","description":"Contributions","sidebar":"docs"},"welcome/glossary":{"id":"welcome/glossary","title":"OpenSauced Glossary","description":"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.","sidebar":"docs"},"welcome/opensauced-intro":{"id":"welcome/opensauced-intro","title":"What is OpenSauced?","description":"OpenSauced: Your Open Source Partner","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/989990e7.a5dc5199.js b/assets/js/989990e7.a5dc5199.js deleted file mode 100644 index c93ea75c..00000000 --- a/assets/js/989990e7.a5dc5199.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5744],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>h});var i=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=i.createContext({}),c=function(e){var t=i.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(d.Provider,{value:t},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,d=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=c(n),p=r,h=u["".concat(d,".").concat(p)]||u[p]||g[p]||a;return n?i.createElement(h,o(o({ref:t},l),{},{components:n})):i.createElement(h,o({ref:t},l))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var d in t)hasOwnProperty.call(t,d)&&(s[d]=t[d]);s.originalType=e,s[u]="string"==typeof e?e:r,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var i=n(7462),r=(n(7294),n(3905));const a={id:"understanding-insights",title:"Understanding Insights Data",sidebar_label:"Understanding Insights Data",keywords:["maintainers","guides"]},o=void 0,s={unversionedId:"maintainers/understanding-insights",id:"maintainers/understanding-insights",title:"Understanding Insights Data",description:"Once your repositories are connected, it's time to understand the data provided in your Insight Page. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-insights.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-insights",permalink:"/maintainers/understanding-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-insights.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"understanding-insights",title:"Understanding Insights Data",sidebar_label:"Understanding Insights Data",keywords:["maintainers","guides"]},sidebar:"docs",previous:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"},next:{title:"Understanding Lists Data",permalink:"/maintainers/understanding-lists"}},d={},c=[{value:"Understanding Insights Repository Data",id:"understanding-insights-repository-data",level:2},{value:"Analyzing Contribution Trends",id:"analyzing-contribution-trends",level:3},{value:"Monitoring Pull Request (PR) Activity",id:"monitoring-pull-request-pr-activity",level:3},{value:"Measuring and Improving PR Velocity",id:"measuring-and-improving-pr-velocity",level:3},{value:"Understanding Insights Contributor Data",id:"understanding-insights-contributor-data",level:2},{value:"Identifying and Engaging with Key Contributors",id:"identifying-and-engaging-with-key-contributors",level:3},{value:"Tracking and Responding to Contributor Activity Levels",id:"tracking-and-responding-to-contributor-activity-levels",level:3},{value:"Activity Levels Across Repositories",id:"activity-levels-across-repositories",level:3},{value:"Understanding Activity Levels Over Time",id:"understanding-activity-levels-over-time",level:3},{value:"Using Programming Language Data",id:"using-programming-language-data",level:3},{value:"Creating Opportunities",id:"creating-opportunities",level:3}],l={toc:c},u="wrapper";function g(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once your repositories are connected, it's time to understand the data provided in your Insight Page. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-insights-repository-data"},"Understanding Insights Repository Data"),(0,r.kt)("h3",{id:"analyzing-contribution-trends"},"Analyzing Contribution Trends"),(0,r.kt)("p",null,"Discover patterns in contributions over time. Look for spikes or drops in activity and correlate these with specific events or milestones. This can help you understand what drives engagement in your projects."),(0,r.kt)("h3",{id:"monitoring-pull-request-pr-activity"},"Monitoring Pull Request (PR) Activity"),(0,r.kt)("p",null,"Knowing the status of PRs (open, closed, draft, merged) helps in understanding the workflow efficiency and backlog. High volumes of open or draft PRs might indicate a need for more resources or a revision of your review process. Conversely, a steady flow of merged PRs can indicate a healthy, active development process."),(0,r.kt)("h3",{id:"measuring-and-improving-pr-velocity"},"Measuring and Improving PR Velocity"),(0,r.kt)("p",null,"Track how quickly PRs are being merged. The average time taken for PRs to merge is a critical metric for understanding the efficiency of the code review and deployment process. Longer PR merge times might signal issues in the review process, resource allocation, or could indicate complex code changes that require more thorough checks. Use this data to set benchmarks and identify opportunities for streamlining your review and integration processes."),(0,r.kt)("h2",{id:"understanding-insights-contributor-data"},"Understanding Insights Contributor Data"),(0,r.kt)("h3",{id:"identifying-and-engaging-with-key-contributors"},"Identifying and Engaging with Key Contributors"),(0,r.kt)("p",null,"Recognizing key contributors helps in understanding the project's most active and influential members. Consider reaching out to them for deeper collaboration or acknowledging their efforts to keep them motivated and engaged."),(0,r.kt)("h3",{id:"tracking-and-responding-to-contributor-activity-levels"},"Tracking and Responding to Contributor Activity Levels"),(0,r.kt)("p",null,"Tracking how active contributors are and the trends in their activity levels is crucial for project health. Understanding the activity patterns of contributors helps in assessing their engagement and reliability. Regular contributors are often more familiar with the project and can be more dependable for critical tasks."),(0,r.kt)("p",null,"Notice the ebbs and flows in individual contributors\u2019 activity. A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"activity-levels-across-repositories"},"Activity Levels Across Repositories"),(0,r.kt)("p",null,"This indicates the breadth of a contributor's involvement in open source projects. A contributor active across multiple repositories might bring diverse experiences and ideas but may also have divided attention. Alternatively, a contributor active in a single repository might be more focused and familiar with the project."),(0,r.kt)("h3",{id:"understanding-activity-levels-over-time"},"Understanding Activity Levels Over Time"),(0,r.kt)("p",null,"Past activity levels can be a predictor of future contributions. Regular past contributions might suggest continued involvement. However, a contributor who has been inactive for a while might be less likely to contribute in the future."),(0,r.kt)("p",null,"Trends in activity levels and contributions can be indicators of the overall health of the project community. A decline in activity might signal issues that need addressing to keep the community vibrant and engaged."),(0,r.kt)("h3",{id:"using-programming-language-data"},"Using Programming Language Data"),(0,r.kt)("p",null,"Awareness of the programming languages a contributor is comfortable with enables maintainers to assign tasks more effectively, ensuring that contributors work in areas where they are most skilled and interested. This can help in identifying contributors for specific tasks or projects."),(0,r.kt)("h3",{id:"creating-opportunities"},"Creating Opportunities"),(0,r.kt)("p",null,"Understanding who contributes to what open source projects and when they do can help maintainers manage team dynamics. With this information, maintainers can make decisions to ensure workloads are balanced and contributors are working in areas that match their skills and interests. Identifying less experienced contributors who are active and showing potential can lead to mentorship opportunities, helping to grow the project\u2019s contributor base."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/989990e7.dc0b6485.js b/assets/js/989990e7.dc0b6485.js new file mode 100644 index 00000000..24adb5cc --- /dev/null +++ b/assets/js/989990e7.dc0b6485.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5744],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>h});var i=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=i.createContext({}),c=function(e){var t=i.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(d.Provider,{value:t},e.children)},u="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,d=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=c(n),p=r,h=u["".concat(d,".").concat(p)]||u[p]||g[p]||a;return n?i.createElement(h,o(o({ref:t},l),{},{components:n})):i.createElement(h,o({ref:t},l))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var d in t)hasOwnProperty.call(t,d)&&(s[d]=t[d]);s.originalType=e,s[u]="string"==typeof e?e:r,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var i=n(7462),r=(n(7294),n(3905));const a={id:"understanding-insights",title:"Understanding Insights Data",sidebar_label:"Understanding Insights Data",keywords:["maintainers","guides"]},o=void 0,s={unversionedId:"maintainers/understanding-insights",id:"maintainers/understanding-insights",title:"Understanding Insights Data",description:"Once your repositories are connected, it's time to understand the data provided in your Insight Page. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-insights.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-insights",permalink:"/maintainers/understanding-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-insights.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"understanding-insights",title:"Understanding Insights Data",sidebar_label:"Understanding Insights Data",keywords:["maintainers","guides"]},sidebar:"docs",previous:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"},next:{title:"Understanding Lists Data",permalink:"/maintainers/understanding-lists"}},d={},c=[{value:"Understanding Insights Repository Data",id:"understanding-insights-repository-data",level:2},{value:"Analyzing Contribution Trends",id:"analyzing-contribution-trends",level:3},{value:"Monitoring Pull Request (PR) Activity",id:"monitoring-pull-request-pr-activity",level:3},{value:"Measuring and Improving PR Velocity",id:"measuring-and-improving-pr-velocity",level:3},{value:"Understanding Insights Contributor Data",id:"understanding-insights-contributor-data",level:2},{value:"Identifying and Engaging with Key Contributors",id:"identifying-and-engaging-with-key-contributors",level:3},{value:"Tracking and Responding to Contributor Activity Levels",id:"tracking-and-responding-to-contributor-activity-levels",level:3},{value:"Activity Levels Across Repositories",id:"activity-levels-across-repositories",level:3},{value:"Understanding Activity Levels Over Time",id:"understanding-activity-levels-over-time",level:3},{value:"Using Programming Language Data",id:"using-programming-language-data",level:3},{value:"Creating Opportunities",id:"creating-opportunities",level:3}],l={toc:c},u="wrapper";function g(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once your repositories are connected, it's time to understand the data provided in your Insight Page. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-insights-repository-data"},"Understanding Insights Repository Data"),(0,r.kt)("h3",{id:"analyzing-contribution-trends"},"Analyzing Contribution Trends"),(0,r.kt)("p",null,"Discover patterns in contributions over time. Look for spikes or drops in activity and correlate these with specific events or milestones. This can help you understand what drives engagement in your projects."),(0,r.kt)("h3",{id:"monitoring-pull-request-pr-activity"},"Monitoring Pull Request (PR) Activity"),(0,r.kt)("p",null,"Knowing the status of PRs (open, closed, draft, merged) helps in understanding the workflow efficiency and backlog. High volumes of open or draft PRs might indicate a need for more resources or a revision of your review process. Conversely, a steady flow of merged PRs can indicate a healthy, active development process."),(0,r.kt)("h3",{id:"measuring-and-improving-pr-velocity"},"Measuring and Improving PR Velocity"),(0,r.kt)("p",null,"Track how quickly PRs are being merged. The average time taken for PRs to merge is a critical metric for understanding the efficiency of the code review and deployment process. Longer PR merge times might signal issues in the review process, resource allocation, or could indicate complex code changes that require more thorough checks. Use this data to set benchmarks and identify opportunities for streamlining your review and integration processes."),(0,r.kt)("h2",{id:"understanding-insights-contributor-data"},"Understanding Insights Contributor Data"),(0,r.kt)("h3",{id:"identifying-and-engaging-with-key-contributors"},"Identifying and Engaging with Key Contributors"),(0,r.kt)("p",null,"Recognizing key contributors helps in understanding the project's most active and influential members. Consider reaching out to them for deeper collaboration or acknowledging their efforts to keep them motivated and engaged."),(0,r.kt)("h3",{id:"tracking-and-responding-to-contributor-activity-levels"},"Tracking and Responding to Contributor Activity Levels"),(0,r.kt)("p",null,"Tracking how active contributors are and the trends in their activity levels is crucial for project health. Understanding the activity patterns of contributors helps in assessing their engagement and reliability. Regular contributors are often more familiar with the project and can be more dependable for critical tasks."),(0,r.kt)("p",null,"Notice the ebbs and flows in individual contributors\u2019 activity. A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"activity-levels-across-repositories"},"Activity Levels Across Repositories"),(0,r.kt)("p",null,"This indicates the breadth of a contributor's involvement in open source projects. A contributor active across multiple repositories might bring diverse experiences and ideas but may also have divided attention. Alternatively, a contributor active in a single repository might be more focused and familiar with the project."),(0,r.kt)("h3",{id:"understanding-activity-levels-over-time"},"Understanding Activity Levels Over Time"),(0,r.kt)("p",null,"Past activity levels can be a predictor of future contributions. Regular past contributions might suggest continued involvement. However, a contributor who has been inactive for a while might be less likely to contribute in the future."),(0,r.kt)("p",null,"Trends in activity levels and contributions can be indicators of the overall health of the project community. A decline in activity might signal issues that need addressing to keep the community vibrant and engaged."),(0,r.kt)("h3",{id:"using-programming-language-data"},"Using Programming Language Data"),(0,r.kt)("p",null,"Awareness of the programming languages a contributor is comfortable with enables maintainers to assign tasks more effectively, ensuring that contributors work in areas where they are most skilled and interested. This can help in identifying contributors for specific tasks or projects."),(0,r.kt)("h3",{id:"creating-opportunities"},"Creating Opportunities"),(0,r.kt)("p",null,"Understanding who contributes to what open source projects and when they do can help maintainers manage team dynamics. With this information, maintainers can make decisions to ensure workloads are balanced and contributors are working in areas that match their skills and interests. Identifying less experienced contributors who are active and showing potential can lead to mentorship opportunities, helping to grow the project\u2019s contributor base."))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9f7d7e44.e94bfe8b.js b/assets/js/9f7d7e44.c8c8b266.js similarity index 63% rename from assets/js/9f7d7e44.e94bfe8b.js rename to assets/js/9f7d7e44.c8c8b266.js index 39301fc2..dd47abc9 100644 --- a/assets/js/9f7d7e44.e94bfe8b.js +++ b/assets/js/9f7d7e44.c8c8b266.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3617],{3905:(e,t,o)=>{o.d(t,{Zo:()=>d,kt:()=>b});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var u=n.createContext({}),c=function(e){var t=n.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},d=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},p="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(o),f=r,b=p["".concat(u,".").concat(f)]||p[f]||l[f]||a;return o?n.createElement(b,i(i({ref:t},d),{},{components:o})):n.createElement(b,i({ref:t},d))}));function b(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=f;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=o(7462),r=(o(7294),o(3905));const a={id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["job-seekers-guide-introduction"]},i=void 0,s={unversionedId:"job-seekers-guide/job-seekers-guide-introduction",id:"job-seekers-guide/job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",description:"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through Open Source contributions.",source:"@site/docs/job-seekers-guide/introduction.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/job-seekers-guide-introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/introduction.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["job-seekers-guide-introduction"]},sidebar:"docs",previous:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"},next:{title:"How to Translate Open Source Contributions into Career Opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities"}},u={},c=[],d={toc:c},p="wrapper";function l(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through Open Source contributions."),(0,r.kt)("p",null,"Open Source provides you the opportunity to showcase your code, documentation, communication and collaboration skills to potential employers. You also have the ability to grow your professional network and build real connections within the tech industry through open source."),(0,r.kt)("p",null,"OpenSauced can help you craft an open source profile that is attractive to hiring managers and recruiters and help you land that next role."),(0,r.kt)("p",null,"In this guide, you will learn how to use OpenSauced features like your personal ",(0,r.kt)("a",{parentName:"p",href:"/features/dev-card"},"Dev Card"),", ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights"),", ",(0,r.kt)("a",{parentName:"p",href:"/features/lists"},"Lists")," and ",(0,r.kt)("a",{parentName:"p",href:"/features/insights"},"Insights")," to showcase your open source work and build connections to help you land a job."))}l.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3617],{3905:(e,t,o)=>{o.d(t,{Zo:()=>d,kt:()=>b});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var u=n.createContext({}),c=function(e){var t=n.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},d=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},p="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(o),f=r,b=p["".concat(u,".").concat(f)]||p[f]||l[f]||a;return o?n.createElement(b,i(i({ref:t},d),{},{components:o})):n.createElement(b,i({ref:t},d))}));function b(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=f;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=o(7462),r=(o(7294),o(3905));const a={id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["job-seekers-guide-introduction"]},i=void 0,s={unversionedId:"job-seekers-guide/job-seekers-guide-introduction",id:"job-seekers-guide/job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",description:"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through Open Source contributions.",source:"@site/docs/job-seekers-guide/introduction.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/job-seekers-guide-introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/introduction.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["job-seekers-guide-introduction"]},sidebar:"docs",previous:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"},next:{title:"How to Translate Open Source Contributions into Career Opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities"}},u={},c=[],d={toc:c},p="wrapper";function l(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through Open Source contributions."),(0,r.kt)("p",null,"Open Source provides you the opportunity to showcase your code, documentation, communication and collaboration skills to potential employers. You also have the ability to grow your professional network and build real connections within the tech industry through open source."),(0,r.kt)("p",null,"OpenSauced can help you craft an open source profile that is attractive to hiring managers and recruiters and help you land that next role."),(0,r.kt)("p",null,"In this guide, you will learn how to use OpenSauced features like your personal ",(0,r.kt)("a",{parentName:"p",href:"/features/dev-card"},"Dev Card"),", ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights"),", ",(0,r.kt)("a",{parentName:"p",href:"/features/lists"},"Lists")," and ",(0,r.kt)("a",{parentName:"p",href:"/features/insights"},"Insights")," to showcase your open source work and build connections to help you land a job."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a09c2993.811b3e0c.js b/assets/js/a09c2993.93abee4b.js similarity index 53% rename from assets/js/a09c2993.811b3e0c.js rename to assets/js/a09c2993.93abee4b.js index 8e7fc0ca..9ddc3253 100644 --- a/assets/js/a09c2993.811b3e0c.js +++ b/assets/js/a09c2993.93abee4b.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4128],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=u(n),m=o,h=l["".concat(c,".").concat(m)]||l[m]||d[m]||a;return n?r.createElement(h,i(i({ref:t},p),{},{components:n})):r.createElement(h,i({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[l]="string"==typeof e?e:o,i[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var r=n(7462),o=(n(7294),n(3905));const a={slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction"]},i=void 0,s={unversionedId:"introduction",id:"introduction",title:"Introduction to OpenSauced \ud83c\udf55",description:"Example banner",source:"@site/docs/introduction.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/introduction.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction"]},sidebar:"docs",next:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"}},c={},u=[],p={toc:u},l="wrapper";function d(e){let{components:t,...a}=e;return(0,o.kt)(l,(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Example banner",src:n(4761).Z,width:"1920",height:"1080"})),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=h8gwrzis-dY&list=PLHyZ0Wz_A44XAE-6Gbd69pZLTdqWdwlBx&index=1&t=2s"},"Watch this on YouTube"),"."),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and teams and redefining the meaning of open source contributions. We believe that every contribution, big or small, is valuable and deserves to be recognized. Our platform provides a way to track contributions through a GitHub-powered dashboard, allowing users to showcase their contributions and gain insights into their open source projects."),(0,o.kt)("p",null,"Our mission is to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Empower maintainers and teams"),": Track and showcase your contributions and projects, connect with contributors, collaborate with your team, and gain insights into your open source projects."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Support contributors"),": Showcase your contributions, tell your story, connect with new projects and other contributors, and gain insights into your open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/highlights"},(0,o.kt)("strong",{parentName:"a"},"Highlight success")),": Showcase your contributions with our shareable Highlights, inspiring others to embark on their open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/insights"},(0,o.kt)("strong",{parentName:"a"},"Unlock Insights")),": Understand the health of your project, track contributions, and make data-driven decisions with OpenSauced Insights.")))}d.isMDXComponent=!0},4761:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/what-is-opensauced-borderless-0a51e6d81902d2866db643a60eae78c7.jpg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4128],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=u(n),m=o,h=l["".concat(c,".").concat(m)]||l[m]||d[m]||a;return n?r.createElement(h,i(i({ref:t},p),{},{components:n})):r.createElement(h,i({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[l]="string"==typeof e?e:o,i[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var r=n(7462),o=(n(7294),n(3905));const a={slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction"]},i=void 0,s={unversionedId:"introduction",id:"introduction",title:"Introduction to OpenSauced \ud83c\udf55",description:"Example banner",source:"@site/docs/introduction.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/introduction.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction"]},sidebar:"docs",next:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"}},c={},u=[],p={toc:u},l="wrapper";function d(e){let{components:t,...a}=e;return(0,o.kt)(l,(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Example banner",src:n(4761).Z,width:"1920",height:"1080"})),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=h8gwrzis-dY&list=PLHyZ0Wz_A44XAE-6Gbd69pZLTdqWdwlBx&index=1&t=2s"},"Watch this on YouTube"),"."),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and teams and redefining the meaning of open source contributions. We believe that every contribution, big or small, is valuable and deserves to be recognized. Our platform provides a way to track contributions through a GitHub-powered dashboard, allowing users to showcase their contributions and gain insights into their open source projects."),(0,o.kt)("p",null,"Our mission is to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Empower maintainers and teams"),": Track and showcase your contributions and projects, connect with contributors, collaborate with your team, and gain insights into your open source projects."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Support contributors"),": Showcase your contributions, tell your story, connect with new projects and other contributors, and gain insights into your open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/highlights"},(0,o.kt)("strong",{parentName:"a"},"Highlight success")),": Showcase your contributions with our shareable Highlights, inspiring others to embark on their open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/insights"},(0,o.kt)("strong",{parentName:"a"},"Unlock Insights")),": Understand the health of your project, track contributions, and make data-driven decisions with OpenSauced Insights.")))}d.isMDXComponent=!0},4761:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/what-is-opensauced-borderless-0a51e6d81902d2866db643a60eae78c7.jpg"}}]); \ No newline at end of file diff --git a/assets/js/ac97b6b0.40591a6a.js b/assets/js/ac97b6b0.23435df2.js similarity index 53% rename from assets/js/ac97b6b0.40591a6a.js rename to assets/js/ac97b6b0.23435df2.js index 1872b8b0..e797e158 100644 --- a/assets/js/ac97b6b0.40591a6a.js +++ b/assets/js/ac97b6b0.23435df2.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[300],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),u=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},l=function(e){var t=u(e.components);return o.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),p=u(n),f=r,m=p["".concat(s,".").concat(f)]||p[f]||d[f]||a;return n?o.createElement(m,i(i({ref:t},l),{},{components:n})):o.createElement(m,i({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[p]="string"==typeof e?e:r,i[1]=c;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>u});var o=n(7462),r=(n(7294),n(3905));const a={id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections"]},i=void 0,c={unversionedId:"features/connections",id:"features/connections",title:"Grow Your Network with Our Connections Feature!",description:"What are Connections?",source:"@site/docs/features/connections.md",sourceDirName:"features",slug:"/features/connections",permalink:"/features/connections",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/connections.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections"]},sidebar:"docs",previous:{title:"Lists",permalink:"/features/lists"},next:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"}},s={},u=[{value:"What are Connections?",id:"what-are-connections",level:2},{value:"How Do Connections Work?",id:"how-do-connections-work",level:2}],l={toc:u},p="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,o.Z)({},l,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"what-are-connections"},"What are Connections?"),(0,r.kt)("p",null,"Connections on OpenSauced serve as a way to build and nurture your professional network within the open source ecosystem. Imagine you're searching for experts in Artificial Intelligence using our ",(0,r.kt)("a",{parentName:"p",href:"/features/lists"},"Lists")," feature, and you come across several promising developers. What's next? With Connections, you can now send a request to connect, bringing these experts into your professional circle for easy communication and collaboration."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"connections demo",src:n(89).Z,width:"3064",height:"2016"})),(0,r.kt)("h2",{id:"how-do-connections-work"},"How Do Connections Work?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Sending connection requests"),": Once you identify users you'd like to connect with, you can send them a connection request."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Acceptance"),": Upon acceptance of your connection request, both parties become 1st-degree connections."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Following highlights"),": After becoming 1st-degree connections, you can follow each other's highlights, keeping up-to-date with accomplishments, contributions, and other notable activities."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contact information"),": Post-acceptance, you'll have access to contact information to foster direct communication and ongoing dialogue.")),(0,r.kt)("p",null,"Are you interested? Navigate to ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/"},"OpenSauced"),", create your Pro account, and start building!"))}d.isMDXComponent=!0},89:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/connections-fdbdf5ac9efdf36b2a8453bd48708302.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[300],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),u=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},l=function(e){var t=u(e.components);return o.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},f=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),p=u(n),f=r,m=p["".concat(s,".").concat(f)]||p[f]||d[f]||a;return n?o.createElement(m,i(i({ref:t},l),{},{components:n})):o.createElement(m,i({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[p]="string"==typeof e?e:r,i[1]=c;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>u});var o=n(7462),r=(n(7294),n(3905));const a={id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections"]},i=void 0,c={unversionedId:"features/connections",id:"features/connections",title:"Grow Your Network with Our Connections Feature!",description:"What are Connections?",source:"@site/docs/features/connections.md",sourceDirName:"features",slug:"/features/connections",permalink:"/features/connections",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/connections.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections"]},sidebar:"docs",previous:{title:"Lists",permalink:"/features/lists"},next:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"}},s={},u=[{value:"What are Connections?",id:"what-are-connections",level:2},{value:"How Do Connections Work?",id:"how-do-connections-work",level:2}],l={toc:u},p="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,o.Z)({},l,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"what-are-connections"},"What are Connections?"),(0,r.kt)("p",null,"Connections on OpenSauced serve as a way to build and nurture your professional network within the open source ecosystem. Imagine you're searching for experts in Artificial Intelligence using our ",(0,r.kt)("a",{parentName:"p",href:"/features/lists"},"Lists")," feature, and you come across several promising developers. What's next? With Connections, you can now send a request to connect, bringing these experts into your professional circle for easy communication and collaboration."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"connections demo",src:n(89).Z,width:"3064",height:"2016"})),(0,r.kt)("h2",{id:"how-do-connections-work"},"How Do Connections Work?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Sending connection requests"),": Once you identify users you'd like to connect with, you can send them a connection request."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Acceptance"),": Upon acceptance of your connection request, both parties become 1st-degree connections."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Following highlights"),": After becoming 1st-degree connections, you can follow each other's highlights, keeping up-to-date with accomplishments, contributions, and other notable activities."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contact information"),": Post-acceptance, you'll have access to contact information to foster direct communication and ongoing dialogue.")),(0,r.kt)("p",null,"Are you interested? Navigate to ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/"},"OpenSauced"),", create your Pro account, and start building!"))}d.isMDXComponent=!0},89:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/connections-fdbdf5ac9efdf36b2a8453bd48708302.gif"}}]); \ No newline at end of file diff --git a/assets/js/b44b9bb7.4529b04f.js b/assets/js/b44b9bb7.4529b04f.js new file mode 100644 index 00000000..3620c825 --- /dev/null +++ b/assets/js/b44b9bb7.4529b04f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7899],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),s=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},c=function(e){var t=s(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(a),m=r,h=u["".concat(p,".").concat(m)]||u[m]||d[m]||i;return a?n.createElement(h,o(o({ref:t},c),{},{components:a})):n.createElement(h,o({ref:t},c))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var s=2;s{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var n=a(7462),r=(a(7294),a(3905));const i={id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli"]},o=void 0,l={unversionedId:"tools/pizza-cli",id:"tools/pizza-cli",title:"Introduction to the Pizza CLI",description:"The OpenSauced Pizza CLI",source:"@site/docs/tools/pizza-cli.md",sourceDirName:"tools",slug:"/tools/pizza-cli",permalink:"/tools/pizza-cli",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/pizza-cli.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli"]},sidebar:"docs",previous:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"},next:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"}},p={},s=[{value:"The OpenSauced Pizza CLI",id:"the-opensauced-pizza-cli",level:2},{value:"Key Features",id:"key-features",level:2},{value:"Installation and Instructions",id:"installation-and-instructions",level:2},{value:"\ud83d\udce6 Download and Install",id:"-download-and-install",level:3},{value:"\ud83d\udda5\ufe0f Local Development Setup",id:"\ufe0f-local-development-setup",level:3}],c={toc:s},u="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(u,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"the-opensauced-pizza-cli"},"The OpenSauced Pizza CLI"),(0,r.kt)("p",null,"The OpenSauced Pizza CLI is a command-line utility designed specifically for OpenSauced. It provides a comprehensive set of functionalities that make it easier for users to gain insights and metrics and manage various tasks related to open source projects through OpenSauced."),(0,r.kt)("p",null,"Beyond just code commits, the pizza CLI reports on different ways individuals contribute to the open source ecosystem through community engagement, issue reporting, blog post writings, or pull request creations."),(0,r.kt)("h2",{id:"key-features"},"Key Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Bake"),": Seamlessly source git commits into OpenSauced with the metaphorical 'oven' of technology."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Insights"),": Dive deep into data about git contributors, repositories, users, and pull requests."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Repo-query"),": Get your questions about any GitHub repository answered."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Show"),": Visualize the metrics of a repository, providing a holistic view of its health and activity."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Login"),": Securely log into the application via GitHub, ensuring a streamlined and safe experience.")),(0,r.kt)("h2",{id:"installation-and-instructions"},"Installation and Instructions"),(0,r.kt)("h3",{id:"-download-and-install"},"\ud83d\udce6 Download and Install"),(0,r.kt)("p",null,"The pizza CLI provides multiple installation methods to cater to the varied preferences of its users:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Homebrew"),": For macOS users who prefer the Homebrew package manager."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"brew install open-sauced/tap/pizza\n"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"NPM"),": For those who are fond of the Node Package Manager."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"npm i -g pizza\n"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Direct script"),": A quick way to get started by directly fetching the installation script from GitHub."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh\n")),(0,r.kt)("p",{parentName:"li"},"\u26a0\ufe0f ",(0,r.kt)("strong",{parentName:"p"},"Warning"),": Piping scripts directly from the web to your shell can be risky. Always ensure you trust the source. For a safer approach, download, inspect, and then execute the following commands:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh > install.sh\nvim install.sh\n./install.sh\n"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Manual build and install"),": For those who like a hands-on approach."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"make install\n")),(0,r.kt)("p",{parentName:"li"},"Ensure ",(0,r.kt)("inlineCode",{parentName:"p"},"/usr/local/bin/")," is in your path with:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'export PATH="$PATH:/usr/local/bin"\n')),(0,r.kt)("p",{parentName:"li"},"Alternatively, after building with ",(0,r.kt)("inlineCode",{parentName:"p"},"make build"),", move the binary to your desired location:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"mv build/pizza \n")))),(0,r.kt)("h3",{id:"\ufe0f-local-development-setup"},"\ud83d\udda5\ufe0f Local Development Setup"),(0,r.kt)("p",null,"To contribute to or modify the pizza CLI, you need a specific set of tools:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://go.dev/doc/install"},(0,r.kt)("strong",{parentName:"a"},"Go Toolchain")),": The foundational tool for building and managing Go applications.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},(0,r.kt)("strong",{parentName:"a"},"Docker")),": Required for linting and other auxiliary tooling.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Make"),": A build automation tool."),(0,r.kt)("p",{parentName:"li"},"Development commands:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Linting"),": Ensure code quality with ",(0,r.kt)("inlineCode",{parentName:"li"},"make lint"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Testing"),": Verify functionality with ",(0,r.kt)("inlineCode",{parentName:"li"},"make test"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Building"),": Create the executable with ",(0,r.kt)("inlineCode",{parentName:"li"},"make build"),".")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b44b9bb7.5aeea4ce.js b/assets/js/b44b9bb7.5aeea4ce.js deleted file mode 100644 index d5f9d9d8..00000000 --- a/assets/js/b44b9bb7.5aeea4ce.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7899],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),s=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},c=function(e){var t=s(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(a),m=r,h=u["".concat(p,".").concat(m)]||u[m]||d[m]||i;return a?n.createElement(h,o(o({ref:t},c),{},{components:a})):n.createElement(h,o({ref:t},c))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,o=new Array(i);o[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:r,o[1]=l;for(var s=2;s{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var n=a(7462),r=(a(7294),a(3905));const i={id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli"]},o=void 0,l={unversionedId:"tools/pizza-cli",id:"tools/pizza-cli",title:"Introduction to the Pizza CLI",description:"The OpenSauced Pizza CLI",source:"@site/docs/tools/pizza-cli.md",sourceDirName:"tools",slug:"/tools/pizza-cli",permalink:"/tools/pizza-cli",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/pizza-cli.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli"]},sidebar:"docs",previous:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"},next:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"}},p={},s=[{value:"The OpenSauced Pizza CLI",id:"the-opensauced-pizza-cli",level:2},{value:"Key Features",id:"key-features",level:2},{value:"Installation and Instructions",id:"installation-and-instructions",level:2},{value:"\ud83d\udce6 Download and Install",id:"-download-and-install",level:3},{value:"\ud83d\udda5\ufe0f Local Development Setup",id:"\ufe0f-local-development-setup",level:3}],c={toc:s},u="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(u,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"the-opensauced-pizza-cli"},"The OpenSauced Pizza CLI"),(0,r.kt)("p",null,"The OpenSauced Pizza CLI is a command-line utility designed specifically for OpenSauced. It provides a comprehensive set of functionalities that make it easier for users to gain insights and metrics and manage various tasks related to open source projects through OpenSauced."),(0,r.kt)("p",null,"Beyond just code commits, the pizza CLI reports on different ways individuals contribute to the open source ecosystem through community engagement, issue reporting, blog post writings, or pull request creations."),(0,r.kt)("h2",{id:"key-features"},"Key Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Bake"),": Seamlessly source git commits into OpenSauced with the metaphorical 'oven' of technology."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Insights"),": Dive deep into data about git contributors, repositories, users, and pull requests."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Repo-query"),": Get your questions about any GitHub repository answered."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Show"),": Visualize the metrics of a repository, providing a holistic view of its health and activity."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Login"),": Securely log into the application via GitHub, ensuring a streamlined and safe experience.")),(0,r.kt)("h2",{id:"installation-and-instructions"},"Installation and Instructions"),(0,r.kt)("h3",{id:"-download-and-install"},"\ud83d\udce6 Download and Install"),(0,r.kt)("p",null,"The pizza CLI provides multiple installation methods to cater to the varied preferences of its users:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Homebrew"),": For macOS users who prefer the Homebrew package manager."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"brew install open-sauced/tap/pizza\n"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"NPM"),": For those who are fond of the Node Package Manager."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"npm i -g pizza\n"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Direct script"),": A quick way to get started by directly fetching the installation script from GitHub."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh\n")),(0,r.kt)("p",{parentName:"li"},"\u26a0\ufe0f ",(0,r.kt)("strong",{parentName:"p"},"Warning"),": Piping scripts directly from the web to your shell can be risky. Always ensure you trust the source. For a safer approach, download, inspect, and then execute the following commands:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh > install.sh\nvim install.sh\n./install.sh\n"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Manual build and install"),": For those who like a hands-on approach."),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"make install\n")),(0,r.kt)("p",{parentName:"li"},"Ensure ",(0,r.kt)("inlineCode",{parentName:"p"},"/usr/local/bin/")," is in your path with:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'export PATH="$PATH:/usr/local/bin"\n')),(0,r.kt)("p",{parentName:"li"},"Alternatively, after building with ",(0,r.kt)("inlineCode",{parentName:"p"},"make build"),", move the binary to your desired location:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"mv build/pizza \n")))),(0,r.kt)("h3",{id:"\ufe0f-local-development-setup"},"\ud83d\udda5\ufe0f Local Development Setup"),(0,r.kt)("p",null,"To contribute to or modify the pizza CLI, you need a specific set of tools:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://go.dev/doc/install"},(0,r.kt)("strong",{parentName:"a"},"Go Toolchain")),": The foundational tool for building and managing Go applications.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},(0,r.kt)("strong",{parentName:"a"},"Docker")),": Required for linting and other auxiliary tooling.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Make"),": A build automation tool."),(0,r.kt)("p",{parentName:"li"},"Development commands:"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Linting"),": Ensure code quality with ",(0,r.kt)("inlineCode",{parentName:"li"},"make lint"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Testing"),": Verify functionality with ",(0,r.kt)("inlineCode",{parentName:"li"},"make test"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Building"),": Create the executable with ",(0,r.kt)("inlineCode",{parentName:"li"},"make build"),".")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b8d96084.97991fe5.js b/assets/js/b8d96084.97991fe5.js new file mode 100644 index 00000000..dbfbf05e --- /dev/null +++ b/assets/js/b8d96084.97991fe5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8222],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=p(o),m=a,h=c["".concat(l,".").concat(m)]||c[m]||d[m]||r;return o?n.createElement(h,i(i({ref:t},u),{},{components:o})):n.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=o(7462),a=(o(7294),o(3905));const r={id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source"]},i=void 0,s={unversionedId:"community/100-days-of-oss",id:"community/100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",description:"Inspired by the great work of the #100DaysOfCode challenge, we're starting #100DaysOfOSS.",source:"@site/docs/community/100-days-of-oss.md",sourceDirName:"community",slug:"/community/100-days-of-oss",permalink:"/community/100-days-of-oss",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/100-days-of-oss.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",sidebarPosition:100,frontMatter:{id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source"]},sidebar:"docs",previous:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"},next:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"}},l={},p=[{value:"How to Participate",id:"how-to-participate",level:2},{value:"Content Creation",id:"content-creation",level:3},{value:"Project Management",id:"project-management",level:3},{value:"Community Engagement and Leadership",id:"community-engagement-and-leadership",level:3},{value:"Technical Skills",id:"technical-skills",level:3},{value:"Tracking Your Progress",id:"tracking-your-progress",level:3},{value:"The Official Kickoff",id:"the-official-kickoff",level:2},{value:"Support",id:"support",level:2},{value:"Where to Start?",id:"where-to-start",level:2},{value:"The Power of the #100DaysOfOSS Challenge",id:"the-power-of-the-100daysofoss-challenge",level:2},{value:"Why Join the #100DaysOfOSS Challenge?",id:"why-join-the-100daysofoss-challenge",level:2},{value:"Weekly Office Hours",id:"weekly-office-hours",level:3}],u={toc:p},c="wrapper";function d(e){let{components:t,...o}=e;return(0,a.kt)(c,(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Inspired by the great work of the ",(0,a.kt)("a",{parentName:"p",href:"https://www.100daysofcode.com/"},"#100DaysOfCode challenge"),", we're starting #100DaysOfOSS."),(0,a.kt)("p",null,"With this challenge, OpenSauced hopes to help contributors enhance their skills, expand their abilities, gain practical experience over 100 days, support maintainers, onboard more contributors into open source, and expand the open source community. With a focus on open source software (OSS), we encourage contributors of all technical backgrounds to immerse themselves in the world of collaborative development and engage with a supportive community."),(0,a.kt)("h2",{id:"how-to-participate"},"How to Participate"),(0,a.kt)("p",null,"The beauty of this challenge is that you're not required to code. The main purpose is to grow in your understanding of open source software (OSS), contribute in ways that are meaningful to you, and further develop the skills and knowledge you're interested in pursuing. It's all about personal growth and making a positive impact on the OSS community. Because this challenge is focused on growth, you can participate in any way that helps you achieve your goals, including taking days off when you need it."),(0,a.kt)("p",null,"There are numerous ways to participate in the #100DaysOfOSS challenge, including:"),(0,a.kt)("h3",{id:"content-creation"},"Content Creation"),(0,a.kt)("p",null,"Love creating content? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Give a talk or presentation on OSS."),(0,a.kt)("li",{parentName:"ul"},"Participate in or even start an X Space."),(0,a.kt)("li",{parentName:"ul"},"Write a blog post or create a video about OSS.")),(0,a.kt)("h3",{id:"project-management"},"Project Management"),(0,a.kt)("p",null,"Want to improve your project management skills? Need to get better at communicating or giving feedback to others? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Review pull requests."),(0,a.kt)("li",{parentName:"ul"},"Triage issues."),(0,a.kt)("li",{parentName:"ul"},"Start meaningful discussions."),(0,a.kt)("li",{parentName:"ul"},"Write issues to identify bugs or suggest new features.")),(0,a.kt)("h3",{id:"community-engagement-and-leadership"},"Community Engagement and Leadership"),(0,a.kt)("p",null,"Community experience is involved in many different tech jobs, including support, success, Developer Relations, Developer Experience, and more. Community experience can be a valuable skill to develop. Some ways you can do this:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Engage in the community by sharing your insights and knowledge."),(0,a.kt)("li",{parentName:"ul"},"Support contributors working on OSS projects, providing guidance and support."),(0,a.kt)("li",{parentName:"ul"},"Create a study group or accountability group where you work on your goals.")),(0,a.kt)("h3",{id:"technical-skills"},"Technical Skills"),(0,a.kt)("p",null,"Now is a great time to show your technical growth. Here are some paths you can take:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Update or write documentation to improve clarity and usability."),(0,a.kt)("li",{parentName:"ul"},"Maintain a project: review pull requests, triage issues, and respond to questions."),(0,a.kt)("li",{parentName:"ul"},"Submit pull requests to contribute code changes.")),(0,a.kt)("h3",{id:"tracking-your-progress"},"Tracking Your Progress"),(0,a.kt)("p",null,"To keep track of your progress, post on social media, your blog, or any other platform you prefer with:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"progress you made,"),(0,a.kt)("li",{parentName:"ul"},"the day of the challenge indicated by 'D',"),(0,a.kt)("li",{parentName:"ul"},"the hashtag #100DaysOfOSS.")),(0,a.kt)("p",null,"For example, if you're on day one, you could say, \"Today, I reviewed the documentation for the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"OpenSauced/App"),' repository. D1 #100daysOfOSS." Then, on day two, you would continue with D2, and so on.'),(0,a.kt)("p",null,"Here's what you can do if you're ready to join this challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://twitter.com/intent/tweet?text=I%27m%20joining%20the%20%23100DaysOfOSS%20challenge%20with%20%40saucedopen%20to%20grow%20my%20skills%2C%20gain%20real-world%20experience%20in%20open%20source%2C%20and%20to%20make%20a%20positive%20impact%20on%20the%20OSS%20Community!"},"Post your commitment today on X")," or share on your platform of choice!")),(0,a.kt)("h2",{id:"the-official-kickoff"},"The Official Kickoff"),(0,a.kt)("p",null,"We started our first #100DaysOfOSS on July 23rd, 2023, and went to the end of ",(0,a.kt)("a",{parentName:"p",href:"https://hacktoberfest.com/"},"Hacktoberfest"),", a month-long celebration of open source contributions."),(0,a.kt)("p",null,"Don't worry if you didn't start then. The #100DaysOfOSS challenge is flexible; you can join whenever you're ready. Just jump in at any point and begin with day one of your personal challenge."),(0,a.kt)("h2",{id:"support"},"Support"),(0,a.kt)("p",null,"To make the most of your #100DaysOfOSS journey, here are some additional resources and events you can explore:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly X Spaces:")," Join our weekly X Spaces sessions, where we discuss open source topics, share insights, and connect with like-minded individuals. Follow us on ",(0,a.kt)("a",{parentName:"p",href:"https://twitter.com/saucedopen"},"X")," to stay updated on upcoming sessions.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Community events:")," Discover a wide range of events on our ",(0,a.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/community/welcome-to-the-community"},"community docs page"),". Whether hack days, workshops, or office hours, these events provide excellent opportunities to learn, collaborate, and find new projects to contribute to.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly contribution opportunities:")," If you're actively looking for open source projects to contribute to, check out the ",(0,a.kt)("a",{parentName:"p",href:"https://dev.to/bekahhw/series/23323"},"weekly post")," for new contribution opportunities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly office hours:")," Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/dXvGd8mz"},"Discord")," during our office hours or post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"))),(0,a.kt)("h2",{id:"where-to-start"},"Where to Start?"),(0,a.kt)("p",null,"If you're ready to start your #100DaysOfOSS journey, here are some tips to help you get started:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Find a project:")," Explore the ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"OpenSauced")," website to find a project that interests you. You can also check out the ",(0,a.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/"},"weekly post")," for exciting contribution opportunities."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Take our Intro To Open Source course:")," If you're new to open source, we recommend taking our ",(0,a.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source course")," to learn more about open source and how to get started."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Record your journey:")," You will learn a lot as you navigate this challenge, so we highly recommend using our ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/open-sauced/100-days-of-oss-template"},"#100DaysOfOSS journal template")," on GitHub or ",(0,a.kt)("a",{parentName:"li",href:"https://www.notion.so/a0m0rajab/100-Days-Of-Open-Source-2615e66772e14152897002e348c5f1bc?pvs=13"},"Notion")," to help you reflect. Remember, this is ",(0,a.kt)("em",{parentName:"li"},"your")," journey, so feel free to customize them however you like.")),(0,a.kt)("h2",{id:"the-power-of-the-100daysofoss-challenge"},"The Power of the #100DaysOfOSS Challenge"),(0,a.kt)("p",null,"The #100DaysOfOSS challenge offers a supportive community where developers can find encouragement, share experiences, and overcome roadblocks together."),(0,a.kt)("p",null,"Our hope is that the community will provide a safe space to discuss challenges, celebrate achievements, and exchange insights, creating an environment that helps individuals stay on track and avoid giving up."),(0,a.kt)("h2",{id:"why-join-the-100daysofoss-challenge"},"Why Join the #100DaysOfOSS Challenge?"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Skill enhancement"),": By working on real-world projects, you'll gain practical experience and exposure to different projects, documentation, communities, programming languages, frameworks, and tools. You'll also learn from experienced developers, receive feedback on your code, and improve your problem-solving abilities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Collaboration and networking"),": You'll have the opportunity to work alongside other contributors, collaborate on shared goals, and build professional relationships. This experience can lead to networking opportunities, mentorship, and exposure to diverse perspectives in tech.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Resume and portfolio boost"),": Experience in open source demonstrates your ability to work in a team, follow best practices, and contribute to larger codebases. Open source contributions are tangible evidence of your skills, commitment, and ability to grow.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Learning from peers"),": By examining the codebase, participating in discussions, engaging in the community, and reviewing pull requests, contributors can gain insights into different approaches to community, projects, coding styles, architecture patterns, and software development best practices, accelerating a developer's learning curve.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Making a positive impact"),": Your contributions benefit other contributors who rely on these projects, fostering a sense of fulfillment and giving back to the community."))),(0,a.kt)("h3",{id:"weekly-office-hours"},"Weekly Office Hours"),(0,a.kt)("p",null,"Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/opensauced"},"Discord")," during our office hours every Tuesday at noon ET or post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"),(0,a.kt)("p",null,"Happy contributing, and best of luck on your #100DaysOfOSS adventure!"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b8d96084.da2cdd0d.js b/assets/js/b8d96084.da2cdd0d.js deleted file mode 100644 index 58dea4f9..00000000 --- a/assets/js/b8d96084.da2cdd0d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8222],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=p(o),m=a,h=c["".concat(l,".").concat(m)]||c[m]||d[m]||r;return o?n.createElement(h,i(i({ref:t},u),{},{components:o})):n.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=o(7462),a=(o(7294),o(3905));const r={id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source"]},i=void 0,s={unversionedId:"community/100-days-of-oss",id:"community/100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",description:"Inspired by the great work of the #100DaysOfCode challenge, we're starting #100DaysOfOSS.",source:"@site/docs/community/100-days-of-oss.md",sourceDirName:"community",slug:"/community/100-days-of-oss",permalink:"/community/100-days-of-oss",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/100-days-of-oss.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",sidebarPosition:100,frontMatter:{id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source"]},sidebar:"docs",previous:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"},next:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"}},l={},p=[{value:"How to Participate",id:"how-to-participate",level:2},{value:"Content Creation",id:"content-creation",level:3},{value:"Project Management",id:"project-management",level:3},{value:"Community Engagement and Leadership",id:"community-engagement-and-leadership",level:3},{value:"Technical Skills",id:"technical-skills",level:3},{value:"Tracking Your Progress",id:"tracking-your-progress",level:3},{value:"The Official Kickoff",id:"the-official-kickoff",level:2},{value:"Support",id:"support",level:2},{value:"Where to Start?",id:"where-to-start",level:2},{value:"The Power of the #100DaysOfOSS Challenge",id:"the-power-of-the-100daysofoss-challenge",level:2},{value:"Why Join the #100DaysOfOSS Challenge?",id:"why-join-the-100daysofoss-challenge",level:2},{value:"Weekly Office Hours",id:"weekly-office-hours",level:3}],u={toc:p},c="wrapper";function d(e){let{components:t,...o}=e;return(0,a.kt)(c,(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Inspired by the great work of the ",(0,a.kt)("a",{parentName:"p",href:"https://www.100daysofcode.com/"},"#100DaysOfCode challenge"),", we're starting #100DaysOfOSS."),(0,a.kt)("p",null,"With this challenge, OpenSauced hopes to help contributors enhance their skills, expand their abilities, gain practical experience over 100 days, support maintainers, onboard more contributors into open source, and expand the open source community. With a focus on open source software (OSS), we encourage contributors of all technical backgrounds to immerse themselves in the world of collaborative development and engage with a supportive community."),(0,a.kt)("h2",{id:"how-to-participate"},"How to Participate"),(0,a.kt)("p",null,"The beauty of this challenge is that you're not required to code. The main purpose is to grow in your understanding of open source software (OSS), contribute in ways that are meaningful to you, and further develop the skills and knowledge you're interested in pursuing. It's all about personal growth and making a positive impact on the OSS community. Because this challenge is focused on growth, you can participate in any way that helps you achieve your goals, including taking days off when you need it."),(0,a.kt)("p",null,"There are numerous ways to participate in the #100DaysOfOSS challenge, including:"),(0,a.kt)("h3",{id:"content-creation"},"Content Creation"),(0,a.kt)("p",null,"Love creating content? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Give a talk or presentation on OSS."),(0,a.kt)("li",{parentName:"ul"},"Participate in or even start an X Space."),(0,a.kt)("li",{parentName:"ul"},"Write a blog post or create a video about OSS.")),(0,a.kt)("h3",{id:"project-management"},"Project Management"),(0,a.kt)("p",null,"Want to improve your project management skills? Need to get better at communicating or giving feedback to others? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Review pull requests."),(0,a.kt)("li",{parentName:"ul"},"Triage issues."),(0,a.kt)("li",{parentName:"ul"},"Start meaningful discussions."),(0,a.kt)("li",{parentName:"ul"},"Write issues to identify bugs or suggest new features.")),(0,a.kt)("h3",{id:"community-engagement-and-leadership"},"Community Engagement and Leadership"),(0,a.kt)("p",null,"Community experience is involved in many different tech jobs, including support, success, Developer Relations, Developer Experience, and more. Community experience can be a valuable skill to develop. Some ways you can do this:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Engage in the community by sharing your insights and knowledge."),(0,a.kt)("li",{parentName:"ul"},"Support contributors working on OSS projects, providing guidance and support."),(0,a.kt)("li",{parentName:"ul"},"Create a study group or accountability group where you work on your goals.")),(0,a.kt)("h3",{id:"technical-skills"},"Technical Skills"),(0,a.kt)("p",null,"Now is a great time to show your technical growth. Here are some paths you can take:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Update or write documentation to improve clarity and usability."),(0,a.kt)("li",{parentName:"ul"},"Maintain a project: review pull requests, triage issues, and respond to questions."),(0,a.kt)("li",{parentName:"ul"},"Submit pull requests to contribute code changes.")),(0,a.kt)("h3",{id:"tracking-your-progress"},"Tracking Your Progress"),(0,a.kt)("p",null,"To keep track of your progress, post on social media, your blog, or any other platform you prefer with:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"progress you made,"),(0,a.kt)("li",{parentName:"ul"},"the day of the challenge indicated by 'D',"),(0,a.kt)("li",{parentName:"ul"},"the hashtag #100DaysOfOSS.")),(0,a.kt)("p",null,"For example, if you're on day one, you could say, \"Today, I reviewed the documentation for the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"OpenSauced/App"),' repository. D1 #100daysOfOSS." Then, on day two, you would continue with D2, and so on.'),(0,a.kt)("p",null,"Here's what you can do if you're ready to join this challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://twitter.com/intent/tweet?text=I%27m%20joining%20the%20%23100DaysOfOSS%20challenge%20with%20%40saucedopen%20to%20grow%20my%20skills%2C%20gain%20real-world%20experience%20in%20open%20source%2C%20and%20to%20make%20a%20positive%20impact%20on%20the%20OSS%20Community!"},"Post your commitment today on X")," or share on your platform of choice!")),(0,a.kt)("h2",{id:"the-official-kickoff"},"The Official Kickoff"),(0,a.kt)("p",null,"We started our first #100DaysOfOSS on July 23rd, 2023, and went to the end of ",(0,a.kt)("a",{parentName:"p",href:"https://hacktoberfest.com/"},"Hacktoberfest"),", a month-long celebration of open source contributions."),(0,a.kt)("p",null,"Don't worry if you didn't start then. The #100DaysOfOSS challenge is flexible; you can join whenever you're ready. Just jump in at any point and begin with day one of your personal challenge."),(0,a.kt)("h2",{id:"support"},"Support"),(0,a.kt)("p",null,"To make the most of your #100DaysOfOSS journey, here are some additional resources and events you can explore:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly X Spaces:")," Join our weekly X Spaces sessions, where we discuss open source topics, share insights, and connect with like-minded individuals. Follow us on ",(0,a.kt)("a",{parentName:"p",href:"https://twitter.com/saucedopen"},"X")," to stay updated on upcoming sessions.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Community events:")," Discover a wide range of events on our ",(0,a.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/community/welcome-to-the-community"},"community docs page"),". Whether hack days, workshops, or office hours, these events provide excellent opportunities to learn, collaborate, and find new projects to contribute to.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly contribution opportunities:")," If you're actively looking for open source projects to contribute to, check out the ",(0,a.kt)("a",{parentName:"p",href:"https://dev.to/bekahhw/series/23323"},"weekly post")," for new contribution opportunities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly office hours:")," Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/dXvGd8mz"},"Discord")," during our office hours or post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"))),(0,a.kt)("h2",{id:"where-to-start"},"Where to Start?"),(0,a.kt)("p",null,"If you're ready to start your #100DaysOfOSS journey, here are some tips to help you get started:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Find a project:")," Explore the ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"OpenSauced")," website to find a project that interests you. You can also check out the ",(0,a.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/"},"weekly post")," for exciting contribution opportunities."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Take our Intro To Open Source course:")," If you're new to open source, we recommend taking our ",(0,a.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source course")," to learn more about open source and how to get started."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Record your journey:")," You will learn a lot as you navigate this challenge, so we highly recommend using our ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/open-sauced/100-days-of-oss-template"},"#100DaysOfOSS journal template")," on GitHub or ",(0,a.kt)("a",{parentName:"li",href:"https://www.notion.so/a0m0rajab/100-Days-Of-Open-Source-2615e66772e14152897002e348c5f1bc?pvs=13"},"Notion")," to help you reflect. Remember, this is ",(0,a.kt)("em",{parentName:"li"},"your")," journey, so feel free to customize them however you like.")),(0,a.kt)("h2",{id:"the-power-of-the-100daysofoss-challenge"},"The Power of the #100DaysOfOSS Challenge"),(0,a.kt)("p",null,"The #100DaysOfOSS challenge offers a supportive community where developers can find encouragement, share experiences, and overcome roadblocks together."),(0,a.kt)("p",null,"Our hope is that the community will provide a safe space to discuss challenges, celebrate achievements, and exchange insights, creating an environment that helps individuals stay on track and avoid giving up."),(0,a.kt)("h2",{id:"why-join-the-100daysofoss-challenge"},"Why Join the #100DaysOfOSS Challenge?"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Skill enhancement"),": By working on real-world projects, you'll gain practical experience and exposure to different projects, documentation, communities, programming languages, frameworks, and tools. You'll also learn from experienced developers, receive feedback on your code, and improve your problem-solving abilities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Collaboration and networking"),": You'll have the opportunity to work alongside other contributors, collaborate on shared goals, and build professional relationships. This experience can lead to networking opportunities, mentorship, and exposure to diverse perspectives in tech.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Resume and portfolio boost"),": Experience in open source demonstrates your ability to work in a team, follow best practices, and contribute to larger codebases. Open source contributions are tangible evidence of your skills, commitment, and ability to grow.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Learning from peers"),": By examining the codebase, participating in discussions, engaging in the community, and reviewing pull requests, contributors can gain insights into different approaches to community, projects, coding styles, architecture patterns, and software development best practices, accelerating a developer's learning curve.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Making a positive impact"),": Your contributions benefit other contributors who rely on these projects, fostering a sense of fulfillment and giving back to the community."))),(0,a.kt)("h3",{id:"weekly-office-hours"},"Weekly Office Hours"),(0,a.kt)("p",null,"Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/opensauced"},"Discord")," during our office hours every Tuesday at noon ET or post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"),(0,a.kt)("p",null,"Happy contributing, and best of luck on your #100DaysOfOSS adventure!"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c01322eb.8dc3a24b.js b/assets/js/c01322eb.8dc3a24b.js deleted file mode 100644 index acff966c..00000000 --- a/assets/js/c01322eb.8dc3a24b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4205],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},h="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),h=c(n),g=r,m=h["".concat(l,".").concat(g)]||h[g]||u[g]||i;return n?o.createElement(m,a(a({ref:t},p),{},{components:n})):o.createElement(m,a({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[h]="string"==typeof e?e:r,a[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=n(7462),r=(n(7294),n(3905));const i={id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting"]},a=void 0,s={unversionedId:"tools/chrome-extension/highlights",id:"tools/chrome-extension/highlights",title:"Highlight",description:"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.",source:"@site/docs/tools/chrome-extension/highlights.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/highlights",permalink:"/tools/chrome-extension/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/highlights.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting"]},sidebar:"docs",previous:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"},next:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"}},l={},c=[],p={toc:c},h="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(h,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary."),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241761099-e7a745c8-204e-4a4d-b313-867ab99af0b2.png",alt:"location of post to highlight"})),(0,r.kt)("p",null,"If your Highlight is successfully posted, you will get a message with an option to see the Highlight on the OpenSauced website."),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/723ac624-e996-45f8-acdf-0d3ff08af90b",alt:"Successful message example"})),(0,r.kt)("p",null,"But if there is an error with the summarization, you will see it in the text area, as in the example below:"),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241762187-f6968a71-c344-495f-8eed-f1de9aff7599.gif",alt:"Error message"})))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c01322eb.9d8e0454.js b/assets/js/c01322eb.9d8e0454.js new file mode 100644 index 00000000..1f14371f --- /dev/null +++ b/assets/js/c01322eb.9d8e0454.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4205],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function s(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},h="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),h=c(n),g=r,m=h["".concat(l,".").concat(g)]||h[g]||u[g]||i;return n?o.createElement(m,s(s({ref:t},p),{},{components:n})):o.createElement(m,s({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=g;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[h]="string"==typeof e?e:r,s[1]=a;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=n(7462),r=(n(7294),n(3905));const i={id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting"]},s=void 0,a={unversionedId:"tools/chrome-extension/highlights",id:"tools/chrome-extension/highlights",title:"Highlight",description:"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.",source:"@site/docs/tools/chrome-extension/highlights.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/highlights",permalink:"/tools/chrome-extension/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/highlights.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting"]},sidebar:"docs",previous:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"},next:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"}},l={},c=[],p={toc:c},h="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(h,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary."),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241761099-e7a745c8-204e-4a4d-b313-867ab99af0b2.png",alt:"location of post to highlight"})),(0,r.kt)("p",null,"If your Highlight is successfully posted, you will get a message with an option to see the Highlight on the OpenSauced website."),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/723ac624-e996-45f8-acdf-0d3ff08af90b",alt:"Successful message example"})),(0,r.kt)("p",null,"But if there is an error with the summarization, you will see it in the text area, as in the example below:"),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241762187-f6968a71-c344-495f-8eed-f1de9aff7599.gif",alt:"Error message"})))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cf3cdde3.fa857861.js b/assets/js/cf3cdde3.0ddb96b9.js similarity index 57% rename from assets/js/cf3cdde3.fa857861.js rename to assets/js/cf3cdde3.0ddb96b9.js index a45cd12a..4df2757f 100644 --- a/assets/js/cf3cdde3.fa857861.js +++ b/assets/js/cf3cdde3.0ddb96b9.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3644],{3905:(e,t,r)=>{r.d(t,{Zo:()=>h,kt:()=>d});var o=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var u=o.createContext({}),l=function(e){var t=o.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},h=function(e){var t=l(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,u=e.parentName,h=s(e,["components","mdxType","originalType","parentName"]),p=l(r),g=i,d=p["".concat(u,".").concat(g)]||p[g]||c[g]||n;return r?o.createElement(d,a(a({ref:t},h),{},{components:r})):o.createElement(d,a({ref:t},h))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,a=new Array(n);a[0]=g;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var o=r(7462),i=(r(7294),r(3905));const n={id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["highlights"]},a=void 0,s={unversionedId:"features/highlights",id:"features/highlights",title:"Highlight Your Open Source Contributions",description:"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors.",source:"@site/docs/features/highlights.md",sourceDirName:"features",slug:"/features/highlights",permalink:"/features/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/highlights.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["highlights"]},sidebar:"docs",previous:{title:"FAQs",permalink:"/welcome/faqs"},next:{title:"Insights",permalink:"/features/insights"}},u={},l=[{value:"How to Add a Highlight",id:"how-to-add-a-highlight",level:2}],h={toc:l},p="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(p,(0,o.Z)({},h,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors."),(0,i.kt)("p",null,"There are currently three types of highlights you can add to your profile:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Dev.to blog post"),(0,i.kt)("li",{parentName:"ul"},"Pull request"),(0,i.kt)("li",{parentName:"ul"},"Issue")),(0,i.kt)("h2",{id:"how-to-add-a-highlight"},"How to Add a Highlight"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Go to ",(0,i.kt)("a",{parentName:"li",href:"https://insights.opensauced.pizza/feed"},"OpenSauced's Highlights feed"),"."),(0,i.kt)("li",{parentName:"ul"},'Click the "Post a highlight to show your work!" input.'),(0,i.kt)("li",{parentName:"ul"},"Paste the URL to your blog post, pull request, or issue in the bottom input."),(0,i.kt)("li",{parentName:"ul"},"Either use our Auto-Summarize feature or write your own summary.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"highlights demo",src:r(7352).Z,width:"2294",height:"1066"})),(0,i.kt)("p",null,"For more examples of highlights, go to the ",(0,i.kt)("a",{parentName:"p",href:"https://insights.opensauced.pizza/feed"},"OpenSauced Highlights feed"),"."),(0,i.kt)("p",null,"Eager to get started? Check out the ",(0,i.kt)("a",{parentName:"p",href:"https://intro.opensauced.pizza/#/06-the-secret-sauce?id=effectively-highlight-your-contributions"},"Effectively Highlight Your Contribution"),' section in our free "Intro to Open Source" course to learn more.'))}c.isMDXComponent=!0},7352:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3644],{3905:(e,t,r)=>{r.d(t,{Zo:()=>h,kt:()=>d});var o=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var u=o.createContext({}),l=function(e){var t=o.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},h=function(e){var t=l(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,u=e.parentName,h=s(e,["components","mdxType","originalType","parentName"]),p=l(r),g=i,d=p["".concat(u,".").concat(g)]||p[g]||c[g]||n;return r?o.createElement(d,a(a({ref:t},h),{},{components:r})):o.createElement(d,a({ref:t},h))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,a=new Array(n);a[0]=g;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var o=r(7462),i=(r(7294),r(3905));const n={id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["highlights"]},a=void 0,s={unversionedId:"features/highlights",id:"features/highlights",title:"Highlight Your Open Source Contributions",description:"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors.",source:"@site/docs/features/highlights.md",sourceDirName:"features",slug:"/features/highlights",permalink:"/features/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/highlights.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["highlights"]},sidebar:"docs",previous:{title:"FAQs",permalink:"/welcome/faqs"},next:{title:"Insights",permalink:"/features/insights"}},u={},l=[{value:"How to Add a Highlight",id:"how-to-add-a-highlight",level:2}],h={toc:l},p="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(p,(0,o.Z)({},h,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors."),(0,i.kt)("p",null,"There are currently three types of highlights you can add to your profile:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Dev.to blog post"),(0,i.kt)("li",{parentName:"ul"},"Pull request"),(0,i.kt)("li",{parentName:"ul"},"Issue")),(0,i.kt)("h2",{id:"how-to-add-a-highlight"},"How to Add a Highlight"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Go to ",(0,i.kt)("a",{parentName:"li",href:"https://insights.opensauced.pizza/feed"},"OpenSauced's Highlights feed"),"."),(0,i.kt)("li",{parentName:"ul"},'Click the "Post a highlight to show your work!" input.'),(0,i.kt)("li",{parentName:"ul"},"Paste the URL to your blog post, pull request, or issue in the bottom input."),(0,i.kt)("li",{parentName:"ul"},"Either use our Auto-Summarize feature or write your own summary.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"highlights demo",src:r(7352).Z,width:"2294",height:"1066"})),(0,i.kt)("p",null,"For more examples of highlights, go to the ",(0,i.kt)("a",{parentName:"p",href:"https://insights.opensauced.pizza/feed"},"OpenSauced Highlights feed"),"."),(0,i.kt)("p",null,"Eager to get started? Check out the ",(0,i.kt)("a",{parentName:"p",href:"https://intro.opensauced.pizza/#/06-the-secret-sauce?id=effectively-highlight-your-contributions"},"Effectively Highlight Your Contribution"),' section in our free "Intro to Open Source" course to learn more.'))}c.isMDXComponent=!0},7352:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"}}]); \ No newline at end of file diff --git a/assets/js/e0315c91.ba71f2f3.js b/assets/js/e0315c91.ba71f2f3.js new file mode 100644 index 00000000..772c93d3 --- /dev/null +++ b/assets/js/e0315c91.ba71f2f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6519],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(r),y=o,m=p["".concat(l,".").concat(y)]||p[y]||d[y]||i;return r?n.createElement(m,a(a({ref:t},c),{},{components:r})):n.createElement(m,a({ref:t},c))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=y;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,a[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const i={id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary"]},a=void 0,s={unversionedId:"welcome/glossary",id:"welcome/glossary",title:"OpenSauced Glossary",description:"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.",source:"@site/docs/welcome/glossary.md",sourceDirName:"welcome",slug:"/welcome/glossary",permalink:"/welcome/glossary",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/glossary.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary"]},sidebar:"docs",previous:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"},next:{title:"FAQs",permalink:"/welcome/faqs"}},l={},u=[{value:"Active Contributors",id:"active-contributors",level:2},{value:"Activity",id:"activity",level:2},{value:"Alumni Contributors",id:"alumni-contributors",level:2},{value:"Insights",id:"insights",level:2},{value:"Lists",id:"lists",level:2},{value:"New Contributors",id:"new-contributors",level:2},{value:"PR Overview",id:"pr-overview",level:2},{value:"PR Velocity",id:"pr-velocity",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced."),(0,o.kt)("h2",{id:"active-contributors"},"Active Contributors"),(0,o.kt)("p",null,"A contributor who has been active in the last 30 days."),(0,o.kt)("h2",{id:"activity"},"Activity"),(0,o.kt)("p",null,"Activity tracks Pull Requests (PRs) over the last 30 days:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"High"),": More than 80 PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Medium"),": Between 5 and 80 PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Low"),": Below 5 PRs.")),(0,o.kt)("h2",{id:"alumni-contributors"},"Alumni Contributors"),(0,o.kt)("p",null,"A contributor who has not been active on a project in the last 30 days."),(0,o.kt)("h2",{id:"insights"},"Insights"),(0,o.kt)("p",null,"The Insights feature is a one-stop solution for understanding the pulse of your open-source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions."),(0,o.kt)("h2",{id:"lists"},"Lists"),(0,o.kt)("p",null,"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor's activity and contributions."),(0,o.kt)("h2",{id:"new-contributors"},"New Contributors"),(0,o.kt)("p",null,"A contributor who has recently made their first contribution to a project."),(0,o.kt)("h2",{id:"pr-overview"},"PR Overview"),(0,o.kt)("p",null,"PR Overview tells the story of the Pull Requests (PRs) submitted in the last 30 days:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Green line"),": Open PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Red line"),": Closed PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Purple line"),": Merged PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Grey line"),": Draft PRs.")),(0,o.kt)("h2",{id:"pr-velocity"},"PR Velocity"),(0,o.kt)("p",null,"PR Velocity tracks how quickly Pull Requests (PRs) are being merged in by identifying the average time to completion from the request submission."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e0315c91.c86a3934.js b/assets/js/e0315c91.c86a3934.js deleted file mode 100644 index 1ee7a47a..00000000 --- a/assets/js/e0315c91.c86a3934.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6519],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(r),y=o,m=p["".concat(l,".").concat(y)]||p[y]||d[y]||i;return r?n.createElement(m,a(a({ref:t},c),{},{components:r})):n.createElement(m,a({ref:t},c))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=y;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,a[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const i={id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary"]},a=void 0,s={unversionedId:"welcome/glossary",id:"welcome/glossary",title:"OpenSauced Glossary",description:"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.",source:"@site/docs/welcome/glossary.md",sourceDirName:"welcome",slug:"/welcome/glossary",permalink:"/welcome/glossary",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/glossary.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary"]},sidebar:"docs",previous:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"},next:{title:"FAQs",permalink:"/welcome/faqs"}},l={},u=[{value:"Active Contributors",id:"active-contributors",level:2},{value:"Activity",id:"activity",level:2},{value:"Alumni Contributors",id:"alumni-contributors",level:2},{value:"Insights",id:"insights",level:2},{value:"Lists",id:"lists",level:2},{value:"New Contributors",id:"new-contributors",level:2},{value:"PR Overview",id:"pr-overview",level:2},{value:"PR Velocity",id:"pr-velocity",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced."),(0,o.kt)("h2",{id:"active-contributors"},"Active Contributors"),(0,o.kt)("p",null,"A contributor who has been active in the last 30 days."),(0,o.kt)("h2",{id:"activity"},"Activity"),(0,o.kt)("p",null,"Activity tracks Pull Requests (PRs) over the last 30 days:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"High"),": More than 80 PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Medium"),": Between 5 and 80 PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Low"),": Below 5 PRs.")),(0,o.kt)("h2",{id:"alumni-contributors"},"Alumni Contributors"),(0,o.kt)("p",null,"A contributor who has not been active on a project in the last 30 days."),(0,o.kt)("h2",{id:"insights"},"Insights"),(0,o.kt)("p",null,"The Insights feature is a one-stop solution for understanding the pulse of your open-source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions."),(0,o.kt)("h2",{id:"lists"},"Lists"),(0,o.kt)("p",null,"The Lists feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Lists feature, gain granular insights into each contributor's activity and contributions."),(0,o.kt)("h2",{id:"new-contributors"},"New Contributors"),(0,o.kt)("p",null,"A contributor who has recently made their first contribution to a project."),(0,o.kt)("h2",{id:"pr-overview"},"PR Overview"),(0,o.kt)("p",null,"PR Overview tells the story of the Pull Requests (PRs) submitted in the last 30 days:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Green line"),": Open PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Red line"),": Closed PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Purple line"),": Merged PRs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Grey line"),": Draft PRs.")),(0,o.kt)("h2",{id:"pr-velocity"},"PR Velocity"),(0,o.kt)("p",null,"PR Velocity tracks how quickly Pull Requests (PRs) are being merged in by identifying the average time to completion from the request submission."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e2ee9e35.93e03ed5.js b/assets/js/e2ee9e35.93e03ed5.js deleted file mode 100644 index d21dd79f..00000000 --- a/assets/js/e2ee9e35.93e03ed5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6185],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>g});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=i.createContext({}),c=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(u.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,g=p["".concat(u,".").concat(m)]||p[m]||d[m]||r;return n?i.createElement(g,o(o({ref:t},l),{},{components:n})):i.createElement(g,o({ref:t},l))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:a,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=n(7462),a=(n(7294),n(3905));const r={id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide"]},o=void 0,s={unversionedId:"contributing/maintainers-guide",id:"contributing/maintainers-guide",title:"OpenSauced Maintainers Guide",description:"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.",source:"@site/docs/contributing/maintainers-guide.md",sourceDirName:"contributing",slug:"/contributing/maintainers-guide",permalink:"/contributing/maintainers-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide"]},sidebar:"docs",previous:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"},next:{title:"Introduction to Storybook",permalink:"/contributing/technical/introduction-to-storybook"}},u={},c=[{value:"How to Join the Maintainers Team",id:"how-to-join-the-maintainers-team",level:2},{value:"What does the Maintainers Team do?",id:"what-does-the-maintainers-team-do",level:2},{value:"Core Responsibilities",id:"core-responsibilities",level:3},{value:"Committing and Merging Changes",id:"committing-and-merging-changes",level:2}],l={toc:c},p="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories."),(0,a.kt)("p",null,"At OpenSauced, we empower contributors to work in the open and support maintainers to make data-driven decisions for their projects."),(0,a.kt)("p",null,"It's important to us that we maintain a healthy environment for contributors and maintainers of our projects."),(0,a.kt)("h2",{id:"how-to-join-the-maintainers-team"},"How to Join the Maintainers Team"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ul"},"Join our ",(0,a.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord community"),"."),(0,a.kt)("li",{parentName:"ul"},"Prove your pizza's worth!")),(0,a.kt)("h2",{id:"what-does-the-maintainers-team-do"},"What does the Maintainers Team do?"),(0,a.kt)("p",null,"Well, like all things in tech, it depends. We have different maintainer teams for each of the repositories. So, it's important that you communicate with the admin maintainer if you have any questions."),(0,a.kt)("h3",{id:"core-responsibilities"},"Core Responsibilities"),(0,a.kt)("p",null,"Your responsibilities may include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Reviewing and merging pull requests (PRs)."),(0,a.kt)("li",{parentName:"ul"},"Providing comments and responses on PRs, issues, discussions, and Discord messages."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/contributing/triage-guide#triage-process"},"Triage issues")," and bug reports."),(0,a.kt)("li",{parentName:"ul"},"Maintaining project documentation."),(0,a.kt)("li",{parentName:"ul"},"Collaborating with the community.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Creating a positive space for contributors at all stages is one of your most important responsibilities.")),(0,a.kt)("p",null,"As a maintainer, you must:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"adhere to our ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," and be an example for treating contributors with respect,"),(0,a.kt)("li",{parentName:"ul"},"communicate with the other maintainers in a timely and reasonable manner,"),(0,a.kt)("li",{parentName:"ul"},"understand and adhere to project standards.")),(0,a.kt)("h2",{id:"committing-and-merging-changes"},"Committing and Merging Changes"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"For commit and pull request standards, please refer to the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"introduction to contributing"),"."),(0,a.kt)("li",{parentName:"ol"},"Before merging in changes, always run the project locally if UI changes were made."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Squash and merge commits")," when you merge in a PR.")),(0,a.kt)("p",null,"Thank you for being so interested in becoming a maintainer! Please reach out in our ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/docs/discussions/categories/team-discussions"},"team discussions")," if you need help, guidance, or clarification at any time."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e2ee9e35.f10082c3.js b/assets/js/e2ee9e35.f10082c3.js new file mode 100644 index 00000000..36d7b74a --- /dev/null +++ b/assets/js/e2ee9e35.f10082c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6185],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>g});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=i.createContext({}),c=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(u.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,g=p["".concat(u,".").concat(m)]||p[m]||d[m]||r;return n?i.createElement(g,o(o({ref:t},l),{},{components:n})):i.createElement(g,o({ref:t},l))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:a,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=n(7462),a=(n(7294),n(3905));const r={id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide"]},o=void 0,s={unversionedId:"contributing/maintainers-guide",id:"contributing/maintainers-guide",title:"OpenSauced Maintainers Guide",description:"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.",source:"@site/docs/contributing/maintainers-guide.md",sourceDirName:"contributing",slug:"/contributing/maintainers-guide",permalink:"/contributing/maintainers-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide"]},sidebar:"docs",previous:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"},next:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"}},u={},c=[{value:"How to Join the Maintainers Team",id:"how-to-join-the-maintainers-team",level:2},{value:"What does the Maintainers Team do?",id:"what-does-the-maintainers-team-do",level:2},{value:"Core Responsibilities",id:"core-responsibilities",level:3},{value:"Committing and Merging Changes",id:"committing-and-merging-changes",level:2}],l={toc:c},p="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories."),(0,a.kt)("p",null,"At OpenSauced, we empower contributors to work in the open and support maintainers to make data-driven decisions for their projects."),(0,a.kt)("p",null,"It's important to us that we maintain a healthy environment for contributors and maintainers of our projects."),(0,a.kt)("h2",{id:"how-to-join-the-maintainers-team"},"How to Join the Maintainers Team"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ul"},"Join our ",(0,a.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord community"),"."),(0,a.kt)("li",{parentName:"ul"},"Prove your pizza's worth!")),(0,a.kt)("h2",{id:"what-does-the-maintainers-team-do"},"What does the Maintainers Team do?"),(0,a.kt)("p",null,"Well, like all things in tech, it depends. We have different maintainer teams for each of the repositories. So, it's important that you communicate with the admin maintainer if you have any questions."),(0,a.kt)("h3",{id:"core-responsibilities"},"Core Responsibilities"),(0,a.kt)("p",null,"Your responsibilities may include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Reviewing and merging pull requests (PRs)."),(0,a.kt)("li",{parentName:"ul"},"Providing comments and responses on PRs, issues, discussions, and Discord messages."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/contributing/triage-guide#triage-process"},"Triage issues")," and bug reports."),(0,a.kt)("li",{parentName:"ul"},"Maintaining project documentation."),(0,a.kt)("li",{parentName:"ul"},"Collaborating with the community.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Creating a positive space for contributors at all stages is one of your most important responsibilities.")),(0,a.kt)("p",null,"As a maintainer, you must:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"adhere to our ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," and be an example for treating contributors with respect,"),(0,a.kt)("li",{parentName:"ul"},"communicate with the other maintainers in a timely and reasonable manner,"),(0,a.kt)("li",{parentName:"ul"},"understand and adhere to project standards.")),(0,a.kt)("h2",{id:"committing-and-merging-changes"},"Committing and Merging Changes"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"For commit and pull request standards, please refer to the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"introduction to contributing"),"."),(0,a.kt)("li",{parentName:"ol"},"Before merging in changes, always run the project locally if UI changes were made."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Squash and merge commits")," when you merge in a PR.")),(0,a.kt)("p",null,"Thank you for being so interested in becoming a maintainer! Please reach out in our ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/docs/discussions/categories/team-discussions"},"team discussions")," if you need help, guidance, or clarification at any time."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e5a72a0c.17e0f3d7.js b/assets/js/e5a72a0c.17e0f3d7.js deleted file mode 100644 index e7023e86..00000000 --- a/assets/js/e5a72a0c.17e0f3d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7051],{3905:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>v});var a=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=a.createContext({}),l=function(e){var n=a.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},s=function(e){var n=l(e.components);return a.createElement(p.Provider,{value:n},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=r(e,["components","mdxType","originalType","parentName"]),u=l(t),d=o,v=u["".concat(p,".").concat(d)]||u[d]||m[d]||i;return t?a.createElement(v,c(c({ref:n},s),{},{components:t})):a.createElement(v,c({ref:n},s))}));function v(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,c=new Array(i);c[0]=d;var r={};for(var p in n)hasOwnProperty.call(n,p)&&(r[p]=n[p]);r.originalType=e,r[u]="string"==typeof e?e:o,c[1]=r;for(var l=2;l{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var a=t(7462),o=(t(7294),t(3905));const i={id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["@open-sauced/conventional-commit"]},c=void 0,r={unversionedId:"opensauced-packages/conventional-commit",id:"opensauced-packages/conventional-commit",title:"@open-sauced/conventional-commit",description:"Description",source:"@site/docs/opensauced-packages/conventional-commit.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/conventional-commit",permalink:"/opensauced-packages/conventional-commit",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/conventional-commit.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["@open-sauced/conventional-commit"]},sidebar:"docs",previous:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"},next:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"}},p={},l=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Contributing",id:"contributing",level:2}],s={toc:l},u="wrapper";function m(e){let{components:n,...t}=e;return(0,o.kt)(u,(0,a.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"description"},"Description"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,o.kt)("inlineCode",{parentName:"p"},"@open-sauced/conventional-commit")," is designed to help users ",(0,o.kt)("inlineCode",{parentName:"p"},"git commit")," using ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/commitizen/cz-cli"},"commitizen")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"conventional commits"),"."),(0,o.kt)("h2",{id:"dependencies"},"Dependencies"),(0,o.kt)("p",null,"This package uses the following modules:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-cli"},"cz-cli")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-conventional-changelog"},"cz-conventional-changelog"))),(0,o.kt)("h2",{id:"installation"},"Installation"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/conventional-commit\n")),(0,o.kt)("p",null,"Add the verification scripts to your ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,o.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,o.kt)("p",null,"The reason why we provide ",(0,o.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations, or trimmed dependency trees, where using ",(0,o.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,o.kt)("h2",{id:"usage"},"Usage"),(0,o.kt)("p",null,"All you have to do is run the script next to your ",(0,o.kt)("inlineCode",{parentName:"p"},"package.json"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npx @open-sauced/conventional-commit\n# or\nnpx conventional-commit\n")),(0,o.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,o.kt)("p",null,"The most common use case for this package is to run it instead of the ",(0,o.kt)("inlineCode",{parentName:"p"},"git commit")," command inside your ",(0,o.kt)("inlineCode",{parentName:"p"},"npm")," scripts:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,o.kt)("p",null,"or"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx conventional-commit"\n }\n}\n')),(0,o.kt)("p",null,"If you want to ensure local-only usage:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "conventional-commit"\n }\n}\n')),(0,o.kt)("h2",{id:"faqs"},"FAQs"),(0,o.kt)("h2",{id:"contributing"},"Contributing"),(0,o.kt)("p",null,"We're always happy to onboard people into open source!"),(0,o.kt)("p",null,"Check out the repository at ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/conventional-commit"},"@open-sauced/conventional-commit"),". \u2764\ufe0f"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e5a72a0c.4c332456.js b/assets/js/e5a72a0c.4c332456.js new file mode 100644 index 00000000..5cad3634 --- /dev/null +++ b/assets/js/e5a72a0c.4c332456.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7051],{3905:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>v});var a=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},s=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,s=r(e,["components","mdxType","originalType","parentName"]),m=p(t),d=o,v=m["".concat(l,".").concat(d)]||m[d]||u[d]||i;return t?a.createElement(v,c(c({ref:n},s),{},{components:t})):a.createElement(v,c({ref:n},s))}));function v(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,c=new Array(i);c[0]=d;var r={};for(var l in n)hasOwnProperty.call(n,l)&&(r[l]=n[l]);r.originalType=e,r[m]="string"==typeof e?e:o,c[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var a=t(7462),o=(t(7294),t(3905));const i={id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["@open-sauced/conventional-commit"]},c=void 0,r={unversionedId:"opensauced-packages/conventional-commit",id:"opensauced-packages/conventional-commit",title:"@open-sauced/conventional-commit",description:"Description",source:"@site/docs/opensauced-packages/conventional-commit.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/conventional-commit",permalink:"/opensauced-packages/conventional-commit",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/conventional-commit.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["@open-sauced/conventional-commit"]},sidebar:"docs",previous:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"},next:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"}},l={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Contributing",id:"contributing",level:2}],s={toc:p},m="wrapper";function u(e){let{components:n,...t}=e;return(0,o.kt)(m,(0,a.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"description"},"Description"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,o.kt)("inlineCode",{parentName:"p"},"@open-sauced/conventional-commit")," is designed to help users ",(0,o.kt)("inlineCode",{parentName:"p"},"git commit")," using ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/commitizen/cz-cli"},"commitizen")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"conventional commits"),"."),(0,o.kt)("h2",{id:"dependencies"},"Dependencies"),(0,o.kt)("p",null,"This package uses the following modules:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-cli"},"cz-cli")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-conventional-changelog"},"cz-conventional-changelog"))),(0,o.kt)("h2",{id:"installation"},"Installation"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/conventional-commit\n")),(0,o.kt)("p",null,"Add the verification scripts to your ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,o.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,o.kt)("p",null,"The reason why we provide ",(0,o.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations, or trimmed dependency trees, where using ",(0,o.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,o.kt)("h2",{id:"usage"},"Usage"),(0,o.kt)("p",null,"All you have to do is run the script next to your ",(0,o.kt)("inlineCode",{parentName:"p"},"package.json"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npx @open-sauced/conventional-commit\n# or\nnpx conventional-commit\n")),(0,o.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,o.kt)("p",null,"The most common use case for this package is to run it instead of the ",(0,o.kt)("inlineCode",{parentName:"p"},"git commit")," command inside your ",(0,o.kt)("inlineCode",{parentName:"p"},"npm")," scripts:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,o.kt)("p",null,"or"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx conventional-commit"\n }\n}\n')),(0,o.kt)("p",null,"If you want to ensure local-only usage:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "conventional-commit"\n }\n}\n')),(0,o.kt)("h2",{id:"faqs"},"FAQs"),(0,o.kt)("h2",{id:"contributing"},"Contributing"),(0,o.kt)("p",null,"We're always happy to onboard people into open source!"),(0,o.kt)("p",null,"Check out the repository at ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/conventional-commit"},"@open-sauced/conventional-commit"),". \u2764\ufe0f"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ea6e505e.61a5a614.js b/assets/js/ea6e505e.ff4aff77.js similarity index 52% rename from assets/js/ea6e505e.61a5a614.js rename to assets/js/ea6e505e.ff4aff77.js index 0d3f84dd..4c5729b3 100644 --- a/assets/js/ea6e505e.61a5a614.js +++ b/assets/js/ea6e505e.ff4aff77.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2747],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),s=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,u=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),l=s(n),m=o,f=l["".concat(u,".").concat(m)]||l[m]||d[m]||a;return n?r.createElement(f,i(i({ref:t},p),{},{components:n})):r.createElement(f,i({ref:t},p))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c[l]="string"==typeof e?e:o,i[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const a={id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced"]},i=void 0,c={unversionedId:"welcome/opensauced-intro",id:"welcome/opensauced-intro",title:"What is OpenSauced?",description:"OpenSauced: Your Open Source Partner",source:"@site/docs/welcome/opensauced-intro.md",sourceDirName:"welcome",slug:"/welcome/opensauced-intro",permalink:"/welcome/opensauced-intro",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/opensauced-intro.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced"]},sidebar:"docs",previous:{title:"Introduction to OpenSauced \ud83c\udf55",permalink:"/"},next:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"}},u={},s=[{value:"OpenSauced: Your Open Source Partner",id:"opensauced-your-open-source-partner",level:2},{value:"Who is OpenSauced for?",id:"who-is-opensauced-for",level:2}],p={toc:s},l="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(l,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"opensauced-your-open-source-partner"},"OpenSauced: Your Open Source Partner"),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to nurturing and expanding your open source community while recognizing every contributor's impact."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Our OpenSauced dashboard allows you to:")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Understand open source projects:")," Get a comprehensive view of open source contributors and their engagement."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Discover valuable insights:")," Identify key contributors, emerging trends, and valuable project insights."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Engage effectively:")," Reach out to community members to foster involvement and collaboration."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Generate reports:")," Create insightful reports to visualize and communicate the influence of your community."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Collaborate with your team:")," Work together with your team or other contributors for a holistic approach to open source."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"See beyond the green squares:")," Connect with various aspects of open source contribution and community activities.")),(0,o.kt)("h2",{id:"who-is-opensauced-for"},"Who is OpenSauced for?"),(0,o.kt)("p",null,"OpenSauced is for maintainers, Open Source Program Offices (OSPOs), contributors, companies, community managers, and anyone interested in what's happening in the open source ecosystem."),(0,o.kt)("p",null,"Embarking on an OpenSauced journey enhances your growth and community engagement. Let's launch your open source success story! \ud83d\ude80"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2747],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),s=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,u=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),l=s(n),m=o,f=l["".concat(u,".").concat(m)]||l[m]||d[m]||a;return n?r.createElement(f,i(i({ref:t},p),{},{components:n})):r.createElement(f,i({ref:t},p))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c[l]="string"==typeof e?e:o,i[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const a={id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced"]},i=void 0,c={unversionedId:"welcome/opensauced-intro",id:"welcome/opensauced-intro",title:"What is OpenSauced?",description:"OpenSauced: Your Open Source Partner",source:"@site/docs/welcome/opensauced-intro.md",sourceDirName:"welcome",slug:"/welcome/opensauced-intro",permalink:"/welcome/opensauced-intro",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/opensauced-intro.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced"]},sidebar:"docs",previous:{title:"Introduction to OpenSauced \ud83c\udf55",permalink:"/"},next:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"}},u={},s=[{value:"OpenSauced: Your Open Source Partner",id:"opensauced-your-open-source-partner",level:2},{value:"Who is OpenSauced for?",id:"who-is-opensauced-for",level:2}],p={toc:s},l="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(l,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"opensauced-your-open-source-partner"},"OpenSauced: Your Open Source Partner"),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to nurturing and expanding your open source community while recognizing every contributor's impact."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Our OpenSauced dashboard allows you to:")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Understand open source projects:")," Get a comprehensive view of open source contributors and their engagement."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Discover valuable insights:")," Identify key contributors, emerging trends, and valuable project insights."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Engage effectively:")," Reach out to community members to foster involvement and collaboration."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Generate reports:")," Create insightful reports to visualize and communicate the influence of your community."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Collaborate with your team:")," Work together with your team or other contributors for a holistic approach to open source."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"See beyond the green squares:")," Connect with various aspects of open source contribution and community activities.")),(0,o.kt)("h2",{id:"who-is-opensauced-for"},"Who is OpenSauced for?"),(0,o.kt)("p",null,"OpenSauced is for maintainers, Open Source Program Offices (OSPOs), contributors, companies, community managers, and anyone interested in what's happening in the open source ecosystem."),(0,o.kt)("p",null,"Embarking on an OpenSauced journey enhances your growth and community engagement. Let's launch your open source success story! \ud83d\ude80"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f3a8e19a.4ab6021e.js b/assets/js/f3a8e19a.21b153a7.js similarity index 61% rename from assets/js/f3a8e19a.4ab6021e.js rename to assets/js/f3a8e19a.21b153a7.js index 221b09ed..26ab2567 100644 --- a/assets/js/f3a8e19a.4ab6021e.js +++ b/assets/js/f3a8e19a.21b153a7.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[667],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>y});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},l="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),l=u(r),f=o,y=l["".concat(c,".").concat(f)]||l[f]||p[f]||a;return r?n.createElement(y,i(i({ref:t},d),{},{components:r})):n.createElement(y,i({ref:t},d))}));function y(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[l]="string"==typeof e?e:o,i[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const a={id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card"]},i=void 0,s={unversionedId:"features/dev-card",id:"features/dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",description:'The Dev Card feature is what we like to call your "open source business card."',source:"@site/docs/features/dev-card.md",sourceDirName:"features",slug:"/features/dev-card",permalink:"/features/dev-card",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/dev-card.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card"]},sidebar:"docs",previous:{title:"Insights",permalink:"/features/insights"},next:{title:"Lists",permalink:"/features/lists"}},c={},u=[],d={toc:u},l="wrapper";function p(e){let{components:t,...a}=e;return(0,o.kt)(l,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,'The Dev Card feature is what we like to call your "open source business card."'),(0,o.kt)("p",null,"On the front of your card, you see your profile picture, username, the number of pull requests you have created, the number of repositories you contributed to, and a graph icon that describes your activity rate."),(0,o.kt)("p",null,"You'll see the back side of your card when you click it. It shows more information, including your profile's picture and headline, the number of pull requests you have created, the date of your first contribution on GitHub, activity rate, ",(0,o.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/welcome/glossary/#pr-velocity"},"PR velocity")," rate, and a ",(0,o.kt)("inlineCode",{parentName:"p"},"View Profile")," button that takes you to your dashboard."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"front and back sides of a dev card",src:r(2).Z,width:"940",height:"658"})),(0,o.kt)("p",null,"Whether you are just beginning your open source journey or a maintainer looking for more contributors and sponsors, you can share your Dev Card as a snapshot of your contributions, skills, and engagement in the open source community."),(0,o.kt)("p",null,"Eager to get your Dev Card? Create it today and share it with your network!"))}p.isMDXComponent=!0},2:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[667],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>y});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},l="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),l=u(r),f=o,y=l["".concat(c,".").concat(f)]||l[f]||p[f]||a;return r?n.createElement(y,i(i({ref:t},d),{},{components:r})):n.createElement(y,i({ref:t},d))}));function y(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=f;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[l]="string"==typeof e?e:o,i[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const a={id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card"]},i=void 0,s={unversionedId:"features/dev-card",id:"features/dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",description:'The Dev Card feature is what we like to call your "open source business card."',source:"@site/docs/features/dev-card.md",sourceDirName:"features",slug:"/features/dev-card",permalink:"/features/dev-card",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/dev-card.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card"]},sidebar:"docs",previous:{title:"Insights",permalink:"/features/insights"},next:{title:"Lists",permalink:"/features/lists"}},c={},u=[],d={toc:u},l="wrapper";function p(e){let{components:t,...a}=e;return(0,o.kt)(l,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,'The Dev Card feature is what we like to call your "open source business card."'),(0,o.kt)("p",null,"On the front of your card, you see your profile picture, username, the number of pull requests you have created, the number of repositories you contributed to, and a graph icon that describes your activity rate."),(0,o.kt)("p",null,"You'll see the back side of your card when you click it. It shows more information, including your profile's picture and headline, the number of pull requests you have created, the date of your first contribution on GitHub, activity rate, ",(0,o.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/welcome/glossary/#pr-velocity"},"PR velocity")," rate, and a ",(0,o.kt)("inlineCode",{parentName:"p"},"View Profile")," button that takes you to your dashboard."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"front and back sides of a dev card",src:r(2).Z,width:"940",height:"658"})),(0,o.kt)("p",null,"Whether you are just beginning your open source journey or a maintainer looking for more contributors and sponsors, you can share your Dev Card as a snapshot of your contributions, skills, and engagement in the open source community."),(0,o.kt)("p",null,"Eager to get your Dev Card? Create it today and share it with your network!"))}p.isMDXComponent=!0},2:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"}}]); \ No newline at end of file diff --git a/assets/js/f8d965ab.105b3a38.js b/assets/js/f8d965ab.105b3a38.js deleted file mode 100644 index 7d3f3b7b..00000000 --- a/assets/js/f8d965ab.105b3a38.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9349],{3905:(e,t,o)=>{o.d(t,{Zo:()=>l,kt:()=>d});var r=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var u=r.createContext({}),c=function(e){var t=r.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},l=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var o=e.components,a=e.mdxType,n=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(o),f=a,d=p["".concat(u,".").concat(f)]||p[f]||h[f]||n;return o?r.createElement(d,i(i({ref:t},l),{},{components:o})):r.createElement(d,i({ref:t},l))}));function d(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=o.length,i=new Array(n);i[0]=f;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:a,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var r=o(7462),a=(o(7294),o(3905));const n={id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest"]},i=void 0,s={unversionedId:"community/hacktoberfest",id:"community/hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",description:"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83",source:"@site/docs/community/hacktoberfest.md",sourceDirName:"community",slug:"/community/hacktoberfest",permalink:"/community/hacktoberfest",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/hacktoberfest.md",tags:[],version:"current",lastUpdatedBy:"Ayu Adiati",lastUpdatedAt:1701980082,formattedLastUpdatedAt:"Dec 7, 2023",frontMatter:{id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest"]}},u={},c=[{value:"What is Hacktoberfest?",id:"what-is-hacktoberfest",level:2},{value:"Why Should I Participate in Hacktoberfest?",id:"why-should-i-participate-in-hacktoberfest",level:2},{value:"I want to join Hacktoberfest, but I have no idea what open source is",id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is",level:2},{value:"What should I expect during Hacktoberfest?",id:"what-should-i-expect-during-hacktoberfest",level:2},{value:"I'm ready for Hacktoberfest",id:"im-ready-for-hacktoberfest",level:2}],l={toc:c},p="wrapper";function h(e){let{components:t,...o}=e;return(0,a.kt)(p,(0,r.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83"),(0,a.kt)("h2",{id:"what-is-hacktoberfest"},"What is Hacktoberfest?"),(0,a.kt)("p",null,"From October 1st-31st, people around the globe do a challenge where they submit four pull requests participating projects. Here's how to join:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Go to ",(0,a.kt)("a",{parentName:"li",href:"https://hacktoberfest.com/"},"the official Hacktoberfest website")),(0,a.kt)("li",{parentName:"ol"},"Click on the Register Now! button"),(0,a.kt)("li",{parentName:"ol"},"Sign in with your ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/"},"GitHub")," and/or ",(0,a.kt)("a",{parentName:"li",href:"https://gitlab.com/users/sign_in"},"GitLab")," accounts.")),(0,a.kt)("h2",{id:"why-should-i-participate-in-hacktoberfest"},"Why Should I Participate in Hacktoberfest?"),(0,a.kt)("p",null,"This event is a great way to jumpstart your journey in open source, to meet other people in the tech community, and build your skills. Curious to learn more about the value of contributing to open source? Check out these resources:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/hacktoberfest-2023-beyond-green-squares-4d6j"},"Hacktoberfest 2023: Beyond Green Squares")," to learn how to make this a meaningful Hacktoberfest focused on growth, impact, and building relationships."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/setting-goals-for-your-open-source-contributions-349b"},"Setting Goals for Your Open Source Contributions")," for resources on how to grow your experience through open source.")),(0,a.kt)("h2",{id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is"},"I want to join Hacktoberfest, but I have no idea what open source is"),(0,a.kt)("p",null,"No problem! \ud83d\ude04 Here is a list of resources we recommend for first-time contributors:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Take our ",(0,a.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source")," course to learn the history of open source, the tools to succeed in the community, and how to showcase your contributions."),(0,a.kt)("li",{parentName:"ul"},"Check out GitHub's ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/skills/introduction-to-github"},"introductory course")," to learn how to use the platform when making open source contributions."),(0,a.kt)("li",{parentName:"ul"},"Read our ",(0,a.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/the-power-of-git-a-guide-to-collaborative-version-control-dl6"},"The Power of Git")," blog post to learn how to harness the power of Git, your trusty weapon in Hacktoberfest.")),(0,a.kt)("h2",{id:"what-should-i-expect-during-hacktoberfest"},"What should I expect during Hacktoberfest?"),(0,a.kt)("p",null,"During Hacktoberfest, expect to feel excited and a bit competitive on your quest to submit your four pull requests. While those feelings are understandable, it's important to remember the following:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Think first, work later: It's best to share your ideas and/or request to work on an issue before submitting a pull request. It'll make it easier for maintainers to assess whether your suggestion fits in with their project. It will also help you develop your communication skills."),(0,a.kt)("li",{parentName:"ul"},"Be patient: Maintainers are people with lives outside of open source, so avoid constantly messaging them about when your pull request be reviewed and merged."),(0,a.kt)("li",{parentName:"ul"},"Try new things: While revising typos is helpful, it's best to diversify contributions. This would help expand your skills, which is very useful if you plan on using your Hacktoberfest contributions as samples for your portfolio.")),(0,a.kt)("h2",{id:"im-ready-for-hacktoberfest"},"I'm ready for Hacktoberfest"),(0,a.kt)("p",null,"Great! \ud83d\ude04 If you're looking for a project to contribute to, check out ",(0,a.kt)("a",{parentName:"p",href:"https://insights.opensauced.pizza/pages/BekahHW/655/repositories"},"this list of beginner-friendly projects for Hacktoberfest"),"."),(0,a.kt)("p",null,"Happy Contributing! \ud83d\ude04"))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f8d965ab.20ff7fd5.js b/assets/js/f8d965ab.20ff7fd5.js new file mode 100644 index 00000000..7e68a6cf --- /dev/null +++ b/assets/js/f8d965ab.20ff7fd5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9349],{3905:(e,t,o)=>{o.d(t,{Zo:()=>l,kt:()=>d});var r=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var u=r.createContext({}),c=function(e){var t=r.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},l=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},p="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var o=e.components,a=e.mdxType,n=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(o),f=a,d=p["".concat(u,".").concat(f)]||p[f]||h[f]||n;return o?r.createElement(d,i(i({ref:t},l),{},{components:o})):r.createElement(d,i({ref:t},l))}));function d(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=o.length,i=new Array(n);i[0]=f;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:a,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var r=o(7462),a=(o(7294),o(3905));const n={id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest"]},i=void 0,s={unversionedId:"community/hacktoberfest",id:"community/hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",description:"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83",source:"@site/docs/community/hacktoberfest.md",sourceDirName:"community",slug:"/community/hacktoberfest",permalink:"/community/hacktoberfest",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/hacktoberfest.md",tags:[],version:"current",lastUpdatedBy:"Jessica Wilkins",lastUpdatedAt:1702215118,formattedLastUpdatedAt:"Dec 10, 2023",frontMatter:{id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest"]}},u={},c=[{value:"What is Hacktoberfest?",id:"what-is-hacktoberfest",level:2},{value:"Why Should I Participate in Hacktoberfest?",id:"why-should-i-participate-in-hacktoberfest",level:2},{value:"I want to join Hacktoberfest, but I have no idea what open source is",id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is",level:2},{value:"What should I expect during Hacktoberfest?",id:"what-should-i-expect-during-hacktoberfest",level:2},{value:"I'm ready for Hacktoberfest",id:"im-ready-for-hacktoberfest",level:2}],l={toc:c},p="wrapper";function h(e){let{components:t,...o}=e;return(0,a.kt)(p,(0,r.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83"),(0,a.kt)("h2",{id:"what-is-hacktoberfest"},"What is Hacktoberfest?"),(0,a.kt)("p",null,"From October 1st-31st, people around the globe do a challenge where they submit four pull requests participating projects. Here's how to join:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Go to ",(0,a.kt)("a",{parentName:"li",href:"https://hacktoberfest.com/"},"the official Hacktoberfest website")),(0,a.kt)("li",{parentName:"ol"},"Click on the Register Now! button"),(0,a.kt)("li",{parentName:"ol"},"Sign in with your ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/"},"GitHub")," and/or ",(0,a.kt)("a",{parentName:"li",href:"https://gitlab.com/users/sign_in"},"GitLab")," accounts.")),(0,a.kt)("h2",{id:"why-should-i-participate-in-hacktoberfest"},"Why Should I Participate in Hacktoberfest?"),(0,a.kt)("p",null,"This event is a great way to jumpstart your journey in open source, to meet other people in the tech community, and build your skills. Curious to learn more about the value of contributing to open source? Check out these resources:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/hacktoberfest-2023-beyond-green-squares-4d6j"},"Hacktoberfest 2023: Beyond Green Squares")," to learn how to make this a meaningful Hacktoberfest focused on growth, impact, and building relationships."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/setting-goals-for-your-open-source-contributions-349b"},"Setting Goals for Your Open Source Contributions")," for resources on how to grow your experience through open source.")),(0,a.kt)("h2",{id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is"},"I want to join Hacktoberfest, but I have no idea what open source is"),(0,a.kt)("p",null,"No problem! \ud83d\ude04 Here is a list of resources we recommend for first-time contributors:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Take our ",(0,a.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source")," course to learn the history of open source, the tools to succeed in the community, and how to showcase your contributions."),(0,a.kt)("li",{parentName:"ul"},"Check out GitHub's ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/skills/introduction-to-github"},"introductory course")," to learn how to use the platform when making open source contributions."),(0,a.kt)("li",{parentName:"ul"},"Read our ",(0,a.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/the-power-of-git-a-guide-to-collaborative-version-control-dl6"},"The Power of Git")," blog post to learn how to harness the power of Git, your trusty weapon in Hacktoberfest.")),(0,a.kt)("h2",{id:"what-should-i-expect-during-hacktoberfest"},"What should I expect during Hacktoberfest?"),(0,a.kt)("p",null,"During Hacktoberfest, expect to feel excited and a bit competitive on your quest to submit your four pull requests. While those feelings are understandable, it's important to remember the following:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Think first, work later: It's best to share your ideas and/or request to work on an issue before submitting a pull request. It'll make it easier for maintainers to assess whether your suggestion fits in with their project. It will also help you develop your communication skills."),(0,a.kt)("li",{parentName:"ul"},"Be patient: Maintainers are people with lives outside of open source, so avoid constantly messaging them about when your pull request be reviewed and merged."),(0,a.kt)("li",{parentName:"ul"},"Try new things: While revising typos is helpful, it's best to diversify contributions. This would help expand your skills, which is very useful if you plan on using your Hacktoberfest contributions as samples for your portfolio.")),(0,a.kt)("h2",{id:"im-ready-for-hacktoberfest"},"I'm ready for Hacktoberfest"),(0,a.kt)("p",null,"Great! \ud83d\ude04 If you're looking for a project to contribute to, check out ",(0,a.kt)("a",{parentName:"p",href:"https://insights.opensauced.pizza/pages/BekahHW/655/repositories"},"this list of beginner-friendly projects for Hacktoberfest"),"."),(0,a.kt)("p",null,"Happy Contributing! \ud83d\ude04"))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.43dcfbc2.js b/assets/js/main.43dcfbc2.js new file mode 100644 index 00000000..521c8a35 --- /dev/null +++ b/assets/js/main.43dcfbc2.js @@ -0,0 +1,2 @@ +/*! For license information please see main.43dcfbc2.js.LICENSE.txt */ +(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[179],{830:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(7294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),l=n(6887);const s={"0f97bf69":[()=>n.e(4158).then(n.bind(n,1553)),"@site/docs/opensauced-packages/semantic-release.md",1553],"163a28f8":[()=>n.e(2610).then(n.bind(n,7888)),"@site/docs/maintainers/maintainers-guide.md",7888],17896441:[()=>Promise.all([n.e(532),n.e(272),n.e(7918)]).then(n.bind(n,903)),"@theme/DocItem",903],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,6675)),"@theme/SearchPage",6675],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1f391b9e":[()=>Promise.all([n.e(532),n.e(272),n.e(3085)]).then(n.bind(n,4247)),"@theme/MDXPage",4247],"247783bb":[()=>n.e(9334).then(n.t.bind(n,3769,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"2d700f5a":[()=>n.e(8237).then(n.bind(n,9655)),"@site/docs/features/insights.md",9655],"32aa117d":[()=>n.e(3116).then(n.bind(n,1114)),"@site/docs/welcome/faqs.md",1114],"393be207":[()=>n.e(7414).then(n.bind(n,3123)),"@site/src/pages/markdown-page.md",3123],"43ab1095":[()=>n.e(1568).then(n.bind(n,3799)),"@site/docs/tools/chrome-extension/pr-description.md",3799],"43d9ba09":[()=>n.e(4726).then(n.bind(n,75)),"@site/docs/tools/chrome-extension/code-explanation.md",75],"455b852b":[()=>n.e(358).then(n.bind(n,1138)),"@site/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",1138],"4658ccba":[()=>n.e(2817).then(n.bind(n,7761)),"@site/docs/job-seekers-guide/categorize-contributions.md",7761],"48b9cea9":[()=>n.e(247).then(n.bind(n,2342)),"@site/docs/contributing/set-up-authentication.md",2342],"4c2521ce":[()=>n.e(4657).then(n.bind(n,1231)),"@site/docs/contributing/technical/setup-repo-with-git.md",1231],"4d1cfcdd":[()=>n.e(4046).then(n.bind(n,6352)),"@site/docs/tools/chrome-extension/viewing-insights-and-invitations.md",6352],"51fe39eb":[()=>n.e(5994).then(n.bind(n,9840)),"@site/docs/opensauced-packages/check-engines.md",9840],"561e6817":[()=>n.e(1161).then(n.bind(n,3701)),"@site/docs/community/welcome-to-the-community.md",3701],"580fd761":[()=>n.e(7607).then(n.bind(n,4994)),"@site/docs/contributing/code-of-conduct.md",4994],"59b068d1":[()=>n.e(6385).then(n.t.bind(n,7085,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],"5a367a69":[()=>n.e(216).then(n.bind(n,2430)),"@site/docs/contributing/technical/resolve-merge-conflicts.md",2430],"5c57b204":[()=>n.e(4782).then(n.bind(n,7346)),"@site/docs/tools/hot-opensauced.md",7346],"6308756d":[()=>n.e(1461).then(n.bind(n,2683)),"@site/docs/contributing/introduction-to-contributing.md",2683],"6b56021b":[()=>n.e(5101).then(n.bind(n,1175)),"@site/docs/maintainers/understanding-lists-data.md",1175],"74acad06":[()=>n.e(817).then(n.bind(n,1606)),"@site/docs/features/lists.md",1606],"88e6cb4a":[()=>n.e(8710).then(n.bind(n,3781)),"@site/docs/contributing/triage-guide.md",3781],"914479fa":[()=>n.e(457).then(n.bind(n,6414)),"@site/docs/tools/chrome-extension/refactoring-and-testing.md",6414],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"989990e7":[()=>n.e(5744).then(n.bind(n,3541)),"@site/docs/maintainers/understanding-insights.md",3541],"9f7d7e44":[()=>n.e(3617).then(n.bind(n,5730)),"@site/docs/job-seekers-guide/introduction.md",5730],a09c2993:[()=>n.e(4128).then(n.bind(n,8495)),"@site/docs/introduction.md",8495],a7434565:[()=>n.e(7645).then(n.t.bind(n,5745,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],ac97b6b0:[()=>n.e(300).then(n.bind(n,2565)),"@site/docs/features/connections.md",2565],b44b9bb7:[()=>n.e(7899).then(n.bind(n,5277)),"@site/docs/tools/pizza-cli.md",5277],b8d96084:[()=>n.e(8222).then(n.bind(n,9631)),"@site/docs/community/100-days-of-oss.md",9631],c01322eb:[()=>n.e(4205).then(n.bind(n,3775)),"@site/docs/tools/chrome-extension/highlights.md",3775],cf3cdde3:[()=>n.e(3644).then(n.bind(n,6407)),"@site/docs/features/highlights.md",6407],e0315c91:[()=>n.e(6519).then(n.bind(n,8634)),"@site/docs/welcome/glossary.md",8634],e2ee9e35:[()=>n.e(6185).then(n.bind(n,8142)),"@site/docs/contributing/maintainers-guide.md",8142],e5a72a0c:[()=>n.e(7051).then(n.bind(n,948)),"@site/docs/opensauced-packages/conventional-commit.md",948],ea6e505e:[()=>n.e(2747).then(n.bind(n,8466)),"@site/docs/welcome/opensauced-intro.md",8466],f3a8e19a:[()=>n.e(667).then(n.bind(n,5304)),"@site/docs/features/dev-card.md",5304],f8d965ab:[()=>n.e(9349).then(n.bind(n,6969)),"@site/docs/community/hacktoberfest.md",6969]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=l[`${e}-${t}`],f={},p=[],m=[],h=(0,c.Z)(o);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=s[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const l=n.split(".");l.slice(0,-1).forEach((e=>{o=o[e]})),o[l[l.length-1]]=a}));const l=i.__comp;delete i.__comp;const s=i.__context;return delete i.__context,r.createElement(d.z,{value:s},r.createElement(l,(0,a.Z)({},i,n)))}})}const p=[{path:"/markdown-page/",component:f("/markdown-page/","fc3"),exact:!0},{path:"/search/",component:f("/search/","db4"),exact:!0},{path:"/",component:f("/","2f5"),routes:[{path:"/",component:f("/","6b0"),exact:!0,sidebar:"docs"},{path:"/community/100-days-of-oss/",component:f("/community/100-days-of-oss/","874"),exact:!0,sidebar:"docs"},{path:"/community/hacktoberfest/",component:f("/community/hacktoberfest/","b37"),exact:!0},{path:"/community/welcome-to-the-community/",component:f("/community/welcome-to-the-community/","a42"),exact:!0,sidebar:"docs"},{path:"/contributing/code-of-conduct/",component:f("/contributing/code-of-conduct/","63a"),exact:!0,sidebar:"docs"},{path:"/contributing/introduction-to-contributing/",component:f("/contributing/introduction-to-contributing/","c53"),exact:!0,sidebar:"docs"},{path:"/contributing/maintainers-guide/",component:f("/contributing/maintainers-guide/","ba5"),exact:!0,sidebar:"docs"},{path:"/contributing/set-up-authentication/",component:f("/contributing/set-up-authentication/","4ce"),exact:!0,sidebar:"docs"},{path:"/contributing/technical/resolve-merge-conflicts/",component:f("/contributing/technical/resolve-merge-conflicts/","b31"),exact:!0,sidebar:"docs"},{path:"/contributing/technical/setup-repo-with-git/",component:f("/contributing/technical/setup-repo-with-git/","138"),exact:!0,sidebar:"docs"},{path:"/contributing/triage-guide/",component:f("/contributing/triage-guide/","a0a"),exact:!0,sidebar:"docs"},{path:"/features/connections/",component:f("/features/connections/","a2e"),exact:!0,sidebar:"docs"},{path:"/features/dev-card/",component:f("/features/dev-card/","2f0"),exact:!0,sidebar:"docs"},{path:"/features/highlights/",component:f("/features/highlights/","14a"),exact:!0,sidebar:"docs"},{path:"/features/insights/",component:f("/features/insights/","5e7"),exact:!0,sidebar:"docs"},{path:"/features/lists/",component:f("/features/lists/","d39"),exact:!0,sidebar:"docs"},{path:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/",component:f("/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/","2e0"),exact:!0,sidebar:"docs"},{path:"/job-seekers-guide/job-seekers-guide-introduction/",component:f("/job-seekers-guide/job-seekers-guide-introduction/","409"),exact:!0,sidebar:"docs"},{path:"/maintainers/maintainers-guide-to-open-sauced/",component:f("/maintainers/maintainers-guide-to-open-sauced/","3b4"),exact:!0,sidebar:"docs"},{path:"/maintainers/understanding-insights/",component:f("/maintainers/understanding-insights/","71f"),exact:!0,sidebar:"docs"},{path:"/maintainers/understanding-lists/",component:f("/maintainers/understanding-lists/","cfb"),exact:!0,sidebar:"docs"},{path:"/opensauced-packages/check-engines/",component:f("/opensauced-packages/check-engines/","a43"),exact:!0,sidebar:"docs"},{path:"/opensauced-packages/conventional-commit/",component:f("/opensauced-packages/conventional-commit/","018"),exact:!0,sidebar:"docs"},{path:"/opensauced-packages/semantic-release/",component:f("/opensauced-packages/semantic-release/","35d"),exact:!0,sidebar:"docs"},{path:"/tools/chrome-extension/code-explanation/",component:f("/tools/chrome-extension/code-explanation/","52b"),exact:!0,sidebar:"docs"},{path:"/tools/chrome-extension/highlights/",component:f("/tools/chrome-extension/highlights/","6d1"),exact:!0,sidebar:"docs"},{path:"/tools/chrome-extension/introduction-to-the-chrome-extension/",component:f("/tools/chrome-extension/introduction-to-the-chrome-extension/","289"),exact:!0,sidebar:"docs"},{path:"/tools/chrome-extension/pr-description/",component:f("/tools/chrome-extension/pr-description/","a02"),exact:!0,sidebar:"docs"},{path:"/tools/chrome-extension/refactoring-and-testing/",component:f("/tools/chrome-extension/refactoring-and-testing/","d9f"),exact:!0,sidebar:"docs"},{path:"/tools/chrome-extension/viewing-insights-and-invitations/",component:f("/tools/chrome-extension/viewing-insights-and-invitations/","f4b"),exact:!0,sidebar:"docs"},{path:"/tools/hot-opensauced/",component:f("/tools/hot-opensauced/","b72"),exact:!0,sidebar:"docs"},{path:"/tools/pizza-cli/",component:f("/tools/pizza-cli/","f92"),exact:!0,sidebar:"docs"},{path:"/welcome/faqs/",component:f("/welcome/faqs/","647"),exact:!0,sidebar:"docs"},{path:"/welcome/glossary/",component:f("/welcome/glossary/","bee"),exact:!0,sidebar:"docs"},{path:"/welcome/opensauced-intro/",component:f("/welcome/opensauced-intro/","0ba"),exact:!0,sidebar:"docs"}]},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295),n(8968)];var u=n(723),c=n(6550),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),m=n(5742),h=n(2263),g=n(4996),b=n(6668),v=n(833),y=n(4711),w=n(9727),k=n(3320),E=n(197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),a=function(){const{siteConfig:{url:e}}=(0,h.Z)(),{pathname:t}=(0,c.TH)();return e+(0,g.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const T=new Map;function _(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class P extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(N,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const I=P,D="docusaurus-base-url-issue-banner-container",M="docusaurus-base-url-issue-banner",F="docusaurus-base-url-issue-banner-suggestion-container",B="__DOCUSAURUS_INSERT_BASEURL_BANNER";function j(e){return`\nwindow['${B}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${B}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[B]=!1}),[]),r.createElement(r.Fragment,null,!l.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,j(e))),r.createElement("div",{id:D}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(z,null):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,h.Z)(),i=(0,g.Z)(e),{htmlLang:l,direction:s}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var q=n(4763);function H(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(q.Z,null,r.createElement(L.M,null,r.createElement(A.t,null,r.createElement(f,null,r.createElement($,null),r.createElement(C,null),r.createElement(U,null),r.createElement(I,{location:_(t)},e)))))}var G=n(6887);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var V=n(9670);const W=new Set,K=new Set,Y=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,Q={prefetch(e){if(!(e=>!Y()&&!K.has(e)&&!W.has(e))(e))return!1;W.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Y()&&!K.has(e))(e)&&(K.add(e),O(e))},X=Object.freeze(Q);if(l.Z.canUseDOM){window.docusaurus=X;const e=a.hydrate;O(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(H,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"introduction","docs":[{"id":"community/100-days-of-oss","path":"/community/100-days-of-oss","sidebar":"docs"},{"id":"community/hacktoberfest","path":"/community/hacktoberfest"},{"id":"community/welcome-to-the-community","path":"/community/welcome-to-the-community","sidebar":"docs"},{"id":"contributing/code-of-conduct","path":"/contributing/code-of-conduct","sidebar":"docs"},{"id":"contributing/introduction-to-contributing","path":"/contributing/introduction-to-contributing","sidebar":"docs"},{"id":"contributing/maintainers-guide","path":"/contributing/maintainers-guide","sidebar":"docs"},{"id":"contributing/set-up-authentication","path":"/contributing/set-up-authentication","sidebar":"docs"},{"id":"contributing/technical/resolve-merge-conflicts","path":"/contributing/technical/resolve-merge-conflicts","sidebar":"docs"},{"id":"contributing/technical/setup-repo-with-git","path":"/contributing/technical/setup-repo-with-git","sidebar":"docs"},{"id":"contributing/triage-guide","path":"/contributing/triage-guide","sidebar":"docs"},{"id":"features/connections","path":"/features/connections","sidebar":"docs"},{"id":"features/dev-card","path":"/features/dev-card","sidebar":"docs"},{"id":"features/highlights","path":"/features/highlights","sidebar":"docs"},{"id":"features/insights","path":"/features/insights","sidebar":"docs"},{"id":"features/lists","path":"/features/lists","sidebar":"docs"},{"id":"introduction","path":"/","sidebar":"docs"},{"id":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities","path":"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities","sidebar":"docs"},{"id":"job-seekers-guide/job-seekers-guide-introduction","path":"/job-seekers-guide/job-seekers-guide-introduction","sidebar":"docs"},{"id":"maintainers/maintainers-guide-to-open-sauced","path":"/maintainers/maintainers-guide-to-open-sauced","sidebar":"docs"},{"id":"maintainers/understanding-insights","path":"/maintainers/understanding-insights","sidebar":"docs"},{"id":"maintainers/understanding-lists","path":"/maintainers/understanding-lists","sidebar":"docs"},{"id":"opensauced-packages/check-engines","path":"/opensauced-packages/check-engines","sidebar":"docs"},{"id":"opensauced-packages/conventional-commit","path":"/opensauced-packages/conventional-commit","sidebar":"docs"},{"id":"opensauced-packages/semantic-release","path":"/opensauced-packages/semantic-release","sidebar":"docs"},{"id":"tools/chrome-extension/code-explanation","path":"/tools/chrome-extension/code-explanation","sidebar":"docs"},{"id":"tools/chrome-extension/highlights","path":"/tools/chrome-extension/highlights","sidebar":"docs"},{"id":"tools/chrome-extension/introduction-to-the-chrome-extension","path":"/tools/chrome-extension/introduction-to-the-chrome-extension","sidebar":"docs"},{"id":"tools/chrome-extension/pr-description","path":"/tools/chrome-extension/pr-description","sidebar":"docs"},{"id":"tools/chrome-extension/refactoring-and-testing","path":"/tools/chrome-extension/refactoring-and-testing","sidebar":"docs"},{"id":"tools/chrome-extension/viewing-insights-and-invitations","path":"/tools/chrome-extension/viewing-insights-and-invitations","sidebar":"docs"},{"id":"tools/hot-opensauced","path":"/tools/hot-opensauced","sidebar":"docs"},{"id":"tools/pizza-cli","path":"/tools/pizza-cli","sidebar":"docs"},{"id":"welcome/faqs","path":"/welcome/faqs","sidebar":"docs"},{"id":"welcome/glossary","path":"/welcome/glossary","sidebar":"docs"},{"id":"welcome/opensauced-intro","path":"/welcome/opensauced-intro","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/","label":"introduction"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"2.4.0","siteVersion":"1.56.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.0"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.4.0"},"docusaurus-plugin-pwa":{"type":"package","name":"@docusaurus/plugin-pwa","version":"2.4.0"}}}'),u={siteConfig:a.Z,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(7452);function s(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(s,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(l.Z,null,r.createElement(s,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),l=n(2263),s=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}}),d=()=>(0,a.useContext)(c);var f=n(4996);const p=e=>e.startsWith("/");function m(e,t){let{isNavLink:n,to:c,href:m,activeClassName:h,isActive:g,"data-noBrokenLinkCheck":b,autoAddBaseUrl:v=!0,...y}=e;const{siteConfig:{trailingSlash:w,baseUrl:k}}=(0,l.Z)(),{withBaseUrl:E}=(0,f.C)(),S=d(),x=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>x.current));const C=c||m;const T=(0,s.Z)(C),_=C?.replace("pathname://","");let A=void 0!==_?(L=_,v&&p(L)?E(L):L):void 0;var L;A&&T&&(A=(0,i.applyTrailingSlash)(A,{trailingSlash:w,baseUrl:k}));const R=(0,a.useRef)(!1),N=n?o.OL:o.rU,O=u.Z.canUseIntersectionObserver,P=(0,a.useRef)(),I=()=>{R.current||null==A||(window.docusaurus.preload(A),R.current=!0)};(0,a.useEffect)((()=>(!O&&T&&null!=A&&window.docusaurus.prefetch(A),()=>{O&&P.current&&P.current.disconnect()})),[P,A,O,T]);const D=A?.startsWith("#")??!1,M=!A||!T||D;return M||b||S.collectLink(A),M?a.createElement("a",(0,r.Z)({ref:x,href:A},C&&!T&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(N,(0,r.Z)({},y,{onMouseEnter:I,onTouchStart:I,innerRef:e=>{x.current=e,O&&e&&T&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=A&&window.docusaurus.prefetch(A))}))})),P.current.observe(e))},to:A},n&&{isActive:g,activeClassName:h}))}const h=a.forwardRef(m)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s,I:()=>l});var r=n(7294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t=".",n={};return function e(a,o){Object.entries(a).forEach((a=>{let[i,l]=a;const s=o?`${o}${t}${i}`:i;r(l)?e(l,s):n[s]=l}))}(e),n}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>p,WS:()=>m,_r:()=>d,Jo:()=>v,zh:()=>f,yW:()=>g,gB:()=>h});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function u(e,t){const n=s(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const c={},d=()=>i("docusaurus-plugin-content-docs")??c,f=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=p(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function h(e){return f(e).versions}function g(e){const t=f(e);return l(t)}function b(e){const t=f(e),{pathname:n}=(0,r.TH)();return u(t,n)}function v(e){const t=f(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:u(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8968:(e,t,n)=>{"use strict";n.r(t);var r=n(412),a=n(12);const o="/sw.js",i=["appInstalled","standalone","queryString"],l=!0,s=(0,a.WA)("docusaurus.pwa.event.appInstalled.fired");function u(e,t){l&&(void 0===t?console.log(`[Docusaurus-PWA][registerSw]: ${e}`):console.log(`[Docusaurus-PWA][registerSw]: ${e}`,t))}async function c(){const e=await navigator.serviceWorker.getRegistrations();u("will unregister all service workers",{registrations:e}),await Promise.all(e.map((e=>e.unregister().then((t=>u("unregister service worker",{registration:e,result:t})))))),u("unregistered all service workers",{registrations:e}),window.location.reload()}const d={always:()=>!0,mobile:()=>window.innerWidth<=996,saveData:()=>!!navigator.connection?.saveData,appInstalled:()=>"true"===s.get()||async function(){return"getInstalledRelatedApps"in window.navigator&&(await navigator.getInstalledRelatedApps()).some((e=>"webapp"===e.platform))}(),standalone:()=>window.matchMedia("(display-mode: standalone)").matches,queryString:()=>"true"===new URLSearchParams(window.location.search).get("offlineMode")};async function f(){const e=await async function(){return(await Promise.all(i.map((e=>Promise.resolve(d[e]()).then((t=>t?e:void 0)))))).filter(Boolean)}(),t=e.length>0;return u(t?"offline mode enabled, because of activation strategies":"offline mode disabled, because none of the offlineModeActivationStrategies could be used",{activeStrategies:e,availableStrategies:i}),t}r.Z.canUseDOM&&(u("debug mode enabled"),"serviceWorker"in navigator&&(u("addLegacyAppInstalledEventsListeners"),window.addEventListener("appinstalled",(e=>{u("event appinstalled",{event:e}),s.set("true"),u("AppInstalledEventFiredStorage.set('true')"),c()})),window.addEventListener("beforeinstallprompt",(e=>{u("event beforeinstallprompt",{event:e});const t=s.get();u("AppInstalledEventFiredStorage.get()",{appInstalledEventFired:t}),t&&(s.del(),u("AppInstalledEventFiredStorage.del()"),c())})),u("legacy appinstalled and beforeinstallprompt event listeners installed"),async function(){const[{Workbox:e},t]=await Promise.all([n.e(5131).then(n.bind(n,5131)),f()]),r=new e(function(e){const t=JSON.stringify(e),n=`${o}?params=${encodeURIComponent(t)}`;return u("service worker url",{url:n,params:e}),n}({offlineMode:t,debug:l})),a=()=>r.messageSW({type:"SKIP_WAITING"}),i=()=>(u("handleServiceWorkerWaiting"),t?n.e(5283).then(n.bind(n,5283)).then((e=>{let{renderReloadPopup:t}=e;return t({onReload(){r.addEventListener("controlling",(()=>{window.location.reload()})),a()}})})):a());r.addEventListener("waiting",(e=>{u("event waiting",{event:e}),i()})),r.addEventListener("externalwaiting",(e=>{u("event externalwaiting",{event:e}),i()}));const s=await r.register();s&&(s.active&&u("registration.active",{registration:s}),s.installing&&u("registration.installing",{registration:s}),s.waiting&&(u("registration.waiting",{registration:s}),await i()))}().catch((e=>console.error("registerSW failed",e)))))},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.Z,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},7452:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Nt});var r=n(7294),a=n(6010),o=n(4763),i=n(833),l=n(7462),s=n(6550),u=n(5999),c=n(5936);const d="docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,l.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,l.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const C={content:"content_knG7"};function T(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,l.Z)({},e,{className:(0,a.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const _={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:_.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:_.announcementBarPlaceholder}),r.createElement(T,{className:_.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:_.announcementBarClose}))}var L=n(3163),R=n(2466);var N=n(902),O=n(3102);const P=r.createContext(null);function I(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,O.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,N.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(P.Provider,{value:n},t)}function D(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function M(){const e=(0,r.useContext)(P);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,O.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=M();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var B=n(2949),j=n(2389);function z(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function U(e){return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const l=(0,j.Z)(),s=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)($.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",$.toggleButton,!l&&$.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!l,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(z,{className:(0,a.Z)($.toggleIcon,$.lightToggleIcon)}),r.createElement(U,{className:(0,a.Z)($.toggleIcon,$.darkToggleIcon)})))}const H=r.memo(q),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function Z(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,B.I)();return a?null:r.createElement(H,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=n(1327);function W(){return r.createElement(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,L.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(W,null),r.createElement(Z,{className:"margin-right--md"}),r.createElement(K,null))}var Q=n(9960),X=n(4996),J=n(3919),ee=n(8022),te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:s,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,X.Z)(a),p=(0,X.Z)(t),m=(0,X.Z)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,J.Z)(o),g=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(te.Z,u&&{width:12,height:12}))};return o?r.createElement(Q.Z,(0,l.Z)({href:c?m:o},d,g)):r.createElement(Q.Z,(0,l.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,ee.F)(n,t.pathname):t.pathname.startsWith(p)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,l.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,l.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,l.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(6043),le=n(8596),se=n(2263);function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ce(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(ne,(0,l.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(He,(0,l.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ne,(0,l.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(He,(0,l.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:ce;return r.createElement(a,n)}var pe=n(4711);function me(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const he={iconLanguage:"iconLanguage_nlXk"};function ge(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var be=n(830),ve=["translations"];function ye(){return ye=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Se="Ctrl";var xe=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ee(e,ve),i=a.buttonText,l=void 0===i?"Search":i,s=a.buttonAriaLabel,u=void 0===s?"Search":s,c=we((0,r.useState)(null),2),d=c[0],f=c[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?f("\u2318"):f(Se))}),[]),r.createElement("button",ye({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(be.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===Se?r.createElement(ge,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ce=n(5742),Te=n(6177),_e=n(239),Ae=n(3320);var Le=n(3935);const Re={button:{buttonText:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,u.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,u.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,u.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,u.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,u.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,u.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,u.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,u.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,u.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,u.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,u.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,u.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,u.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ne=null;function Oe(e){let{hit:t,children:n}=e;return r.createElement(Q.Z,{to:t.url},n)}function Pe(e){let{state:t,onClose:n}=e;const a=(0,Te.M)();return r.createElement(Q.Z,{to:a(t.query),onClick:n},r.createElement(u.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Ie(e){let{contextualSearch:t,externalUrlRegex:a,...o}=e;const{siteMetadata:i}=(0,se.Z)(),u=(0,_e.l)(),c=function(){const{locale:e,tags:t}=(0,Ae._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=o.searchParameters?.facetFilters??[],f=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(c,d):d,p={...o.searchParameters,facetFilters:f},m=(0,s.k6)(),h=(0,r.useRef)(null),g=(0,r.useRef)(null),[b,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(void 0),k=(0,r.useCallback)((()=>Ne?Promise.resolve():Promise.all([n.e(6780).then(n.bind(n,6780)),Promise.all([n.e(532),n.e(6945)]).then(n.bind(n,6945)),Promise.all([n.e(532),n.e(8894)]).then(n.bind(n,8894))]).then((e=>{let[{DocSearchModal:t}]=e;Ne=t}))),[]),E=(0,r.useCallback)((()=>{k().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),v(!0)}))}),[k,v]),S=(0,r.useCallback)((()=>{v(!1),h.current?.remove()}),[v]),x=(0,r.useCallback)((e=>{k().then((()=>{v(!0),w(e.key)}))}),[k,v,w]),C=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(a,t)?window.location.href=t:m.push(t)}}).current,T=(0,r.useRef)((e=>o.transformItems?o.transformItems(e):e.map((e=>({...e,url:u(e.url)}))))).current,_=(0,r.useMemo)((()=>e=>r.createElement(Pe,(0,l.Z)({},e,{onClose:S}))),[S]),A=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key.toLowerCase()&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:b,onOpen:E,onClose:S,onInput:x,searchButtonRef:g}),r.createElement(r.Fragment,null,r.createElement(Ce.Z,null,r.createElement("link",{rel:"preconnect",href:`https://${o.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),r.createElement(xe,{onTouchStart:k,onFocus:k,onMouseOver:k,onClick:E,ref:g,translations:Re.button}),b&&Ne&&h.current&&(0,Le.createPortal)(r.createElement(Ne,(0,l.Z)({onClose:S,initialScrollY:window.scrollY,initialQuery:y,navigator:C,transformItems:T,hitComponent:Oe,transformSearchClient:A},o.searchPagePath&&{resultsFooterComponent:_},o,{searchParameters:p,placeholder:Re.placeholder,translations:Re.modal})),h.current))}function De(){const{siteConfig:e}=(0,se.Z)();return r.createElement(Ie,e.themeConfig.algolia)}const Me={searchBox:"searchBox_ZlJk"};function Fe(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,Me.searchBox)},t)}var Be=n(143),je=n(2802);const ze=e=>e.docs.find((t=>t.id===e.mainDocId));var Ue=n(373);const $e=e=>e.docs.find((t=>t.id===e.mainDocId));const qe={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.Z)(),f=(0,pe.l)(),{search:p,hash:m}=(0,s.TH)(),h=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,l.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(me,{className:he.iconLanguage}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(Fe,{className:n},r.createElement(De,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return r.createElement(l,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Be.Iw)(a),s=(0,je.vY)(t,a);return null===s?null:r.createElement(oe,(0,l.Z)({exact:!0},o,{isActive:()=>i?.path===s.path||!!i?.sidebar&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Be.Iw)(a),s=(0,je.oz)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,l.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,je.lO)(a)[0],s=t??i.label,u=n??ze(i).path;return r.createElement(oe,(0,l.Z)({},o,{label:s,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,s.TH)(),p=(0,Be.Iw)(n),m=(0,Be.gB)(n),{savePreferredVersionName:h}=(0,Ue.J)(n),g=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??$e(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,je.lO)(n)[0],v=t&&g.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:$e(b).path;return g.length<=1?r.createElement(oe,(0,l.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(fe,(0,l.Z)({},c,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function He(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=qe[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Ge(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(He,(0,l.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ze(e){return r.createElement("button",(0,l.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Ve(){const e=0===(0,w.L)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement(Ze,{onClick:()=>t.hide()}),t.content)}function We(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(F,{header:r.createElement(Y,null),primaryMenu:r.createElement(Ge,null),secondaryMenu:r.createElement(Ve,null)}):null}const Ke={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ye(e){return r.createElement("div",(0,l.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Qe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:l,isNavbarVisible:s}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,R.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:l,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ke.navbarHideable,!s&&Ke.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Ye,{onClick:i.toggle}),r.createElement(We,null))}var Xe=n(8780);const Je={errorBoundaryError:"errorBoundaryError_a6uf"};function et(e){return r.createElement("button",(0,l.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function tt(e){let{error:t}=e;const n=(0,Xe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:Je.errorBoundaryError},n)}class nt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const rt="right";function at(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,l.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function ot(){const{toggle:e,shown:t}=(0,L.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(at,null))}const it={colorModeToggle:"colorModeToggle_DEke"};function lt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(nt,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(He,e)))))}function st(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ut(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??rt)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(st,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(ot,null),r.createElement(W,null),r.createElement(lt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(lt,{items:a}),r.createElement(Z,{className:it.colorModeToggle}),!o&&r.createElement(Fe,null,r.createElement(De,null)))})}function ct(){return r.createElement(Qe,null,r.createElement(ut,null))}function dt(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,u=(0,X.Z)(n),c=(0,X.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(Q.Z,(0,l.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},s),o,a&&!(0,J.Z)(a)&&r.createElement(te.Z,null))}function ft(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(dt,{item:t}))}function pt(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(ft,{key:t,item:e})))))}function mt(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(pt,{key:t,column:e}))))}function ht(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function gt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(dt,{item:t})}function bt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(gt,{item:e}),t.length!==n+1&&r.createElement(ht,null))))))}function vt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(mt,{columns:t}):r.createElement(bt,{links:t})}var yt=n(941);const wt={footerLogoLink:"footerLogoLink_BH7S"};function kt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(yt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function Et(e){let{logo:t}=e;return t.href?r.createElement(Q.Z,{href:t.href,className:wt.footerLogoLink,target:t.target},r.createElement(kt,{logo:t})):r.createElement(kt,{logo:t})}function St(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function xt(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Ct(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(xt,{style:o,links:n&&n.length>0&&r.createElement(vt,{links:n}),logo:a&&r.createElement(Et,{logo:a}),copyright:t&&r.createElement(St,{copyright:t})})}const Tt=r.memo(Ct),_t=(0,N.Qc)([B.S,k.pl,R.OC,Ue.L5,i.VC,function(e){let{children:t}=e;return r.createElement(O.n2,null,r.createElement(L.M,null,r.createElement(I,null,t)))}]);function At(e){let{children:t}=e;return r.createElement(_t,null,t)}function Lt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(et,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(tt,{error:t})))))}const Rt={mainWrapper:"mainWrapper_z2l0"};function Nt(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:u}=e;return(0,b.t)(),r.createElement(At,null,r.createElement(i.d,{title:s,description:u}),r.createElement(y,null),r.createElement(A,null),r.createElement(ct,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,Rt.mainWrapper,l)},r.createElement(o.Z,{fallback:e=>r.createElement(Lt,e)},t)),!n&&r.createElement(Tt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),l=n(2263),s=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},l=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.Z)(),{navbar:{title:n,logo:u}}=(0,s.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)(u?.href||"/"),h=n?"":t,g=u?.alt??h;return a.createElement(o.Z,(0,r.Z)({to:m},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),l=n(2949);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,l.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(s.themedImage,s[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(7462),a=n(7294),o=n(412);const i="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const s={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?s:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d(e){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return 0;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=function(){const t=e.scrollHeight;return{transition:`height ${r?.duration??d(t)}ms ${r?.easing??i}`,height:`${t}px`}}();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(a(),requestAnimationFrame((()=>{e.style.height=s.height,e.style.overflow=s.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{a()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function p(e){if(!o.Z.canUseDOM)return e?s:u}function m(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:s}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:s?void 0:p(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(u.current,n),i?.(n))},className:l},r)}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&s(t)}),[o,t]),o?a.createElement(m,(0,r.Z)({},n,{collapsed:l})):null}function g(e){let{lazy:t,...n}=e;const r=t?h:m;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668);const s=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===s.get(),d=e=>s.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668);const s=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{c.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(s.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(s);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g,Oh:()=>y});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(p.Provider,{value:n},t)}function g(e){let{children:t}=e;return l.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function y(){const e=(0,a._r)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,b:()=>l});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function s(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},3163:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>f});var r=n(7294),a=n(3102),o=n(7524),i=n(1980),l=n(6668),s=n(902);const u=r.createContext(void 0);function c(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,l.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[s,u]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(s)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:s})),[e,n,c,s])}function d(e){let{children:t}=e;const n=c();return r.createElement(u.Provider,{value:n},t)}function f(){const e=r.useContext(u);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>s,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=i,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},6177:(e,t,n)=>{"use strict";n.d(t,{K:()=>l,M:()=>s});var r=n(7294),a=n(2263),o=n(1980);const i="q";function l(){return(0,o.Nc)(i)}function s(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.Z)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const s=!1;function u(){const[e,t]=(0,r.useState)((()=>s?"ssr":l()));return(0,r.useEffect)((()=>{function e(){t(l())}const n=s?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},2802:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>h,cE:()=>d,hI:()=>k,lO:()=>v,vY:()=>w,oz:()=>y,s1:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(1116);function u(e){return Array.from(new Set(e))}var c=n(8596);const d=!!i._r;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,c.Mg)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||m(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,c.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,c.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function b(){const e=(0,s.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,l=i.find((e=>(0,a.LX)(r.pathname,e)));if(!l)return null;const s=l.sidebar,u=s?n.docsSidebars[s]:void 0;return{docElement:(0,o.H)(i),sidebarName:s,sidebarItems:u}}},2128:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(2263);function a(e){const{siteConfig:t}=(0,r.Z)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},1980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>u,Rb:()=>l});var r=n(7294),a=n(6550),o=n(1688),i=n(902);function l(e){!function(e){const t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){return function(e){const t=(0,a.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function u(e){const t=s(e)??"",n=function(){const e=(0,a.k6)();return(0,r.useCallback)(((t,n,r)=>{const a=new URLSearchParams(e.location.search);n?a.set(t,n):a.delete(t),(r?.push?e.push:e.replace)({search:a.toString()})}),[e])}();return[t,(0,r.useCallback)(((t,r)=>{n(e,t,r)}),[n,e])]}},833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2128);function c(e){let{title:t,description:n,keywords:a,image:i,children:l}=e;const c=(0,u.p)(t),{withBaseUrl:d}=(0,s.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.Z,null,r.createElement("html",{className:l})),n)}function p(e){let{children:t}=e;const n=l(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>s,i6:()=>l,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8022:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>s,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const l=r.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(l.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>s,os:()=>l});var r=n(143),a=n(2263),o=n(373);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,a.Z)(),t=(0,r._r)(),n=(0,r.WS)(),s=(0,o.Oh)();const u=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=s[e],o=t[e].versions.find((e=>e.isLast));return l(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:u}}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294),n(1688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),l=o===n?e:e.replace(`/${o}/`,"/"),s=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${l}`:`${l}${e}/`}(r)}${s}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){const{siteConfig:{themeConfig:e}}=(0,r.Z)();return e}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(7294),a=n(8022),o=n(4996),i=n(6278);function l(){const{withBaseUrl:e}=(0,o.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.L)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.F)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>T,ob:()=>p,PP:()=>A,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(8776);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(i,p),i=p+d.length,f)l+=f[1];else{var m=e[i],h=n[2],g=n[3],b=n[4],v=n[5],y=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=h&&null!=m&&m!==h,E="+"===y||"*"===y,S="?"===y||"*"===y,x=n[2]||c,C=b||v;r.push({name:g||o++,prefix:h||"",delimiter:x,optional:S,repeat:E,partial:k,asterisk:!!w,pattern:C?u(C):w?".*":"[^"+s(x)+"]+?"})}}return i{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var C,T=1;if(v){if(!(C=o(k,S,e,b))||C.index>=e.length)break;var _=C.index,A=C.index+C[0].length,L=S;for(L+=E.value.length;_>=L;)L+=(E=E.next).value.length;if(S=L-=E.value.length,E.value instanceof a)continue;for(var R=E;R!==t.tail&&(Ld.reach&&(d.reach=I);var D=E.prev;if(O&&(D=s(t,D,O),S+=O.length),u(t,D,T),E=s(t,D,new a(f,g?r.tokenize(N,g):N,y,N)),P&&s(t,E,P),T>1){var M={cause:f+","+m,reach:I};i(e,t,n,E.prev,S,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s=0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,s(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var s=o.substring(0,l),d=u(c[a]),p=o.substring(l+a.length),m=[];if(s&&m.push(s),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=i(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var f,p=r(s),m=c;a(m);){for(var h in f={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(f[e]=!0)}))}for(var b in d)if(!(b in c))for(var v in p(b))if(v in c){f[b]=!0;break}for(var y in m=f)c[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var f=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(f,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n