Skip to content

Instantly share code, notes, and snippets.

@officialrajdeepsingh
Created December 30, 2022 06:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save officialrajdeepsingh/451bb588615b506a0274a820229cd5c4 to your computer and use it in GitHub Desktop.
Save officialrajdeepsingh/451bb588615b506a0274a820229cd5c4 to your computer and use it in GitHub Desktop.
Create a TOC (table of content ) with javascript
<!DOCTYPE html>
<!-- saved from url=(0055)http://localhost:3000/how-to-install-deno-in-linux.html -->
<html class="" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>How to install deno in linux?</title>
<style>
*,
::before,
::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
border-width: 0;
border-style: solid;
border-color: #e5e7eb;
}
* {
--tw-ring-inset: var(--tw-empty,
/*!*/
/*!*/
);
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgba(59, 130, 246, 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
}
:root {
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
}
:-moz-focusring {
outline: 1px dotted ButtonText;
}
:-moz-ui-invalid {
box-shadow: none;
}
::moz-focus-inner {
border-style: none;
padding: 0;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
[type='search'] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
abbr[title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
a {
color: inherit;
text-decoration: inherit;
}
body {
margin: 0;
font-family: inherit;
line-height: inherit;
}
button {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
text-transform: none;
background-color: transparent;
background-image: none;
padding: 0;
line-height: inherit;
color: inherit;
}
button,
[type='button'],
[type='reset'],
[type='submit'] {
-webkit-appearance: button;
}
button,
[role="button"] {
cursor: pointer;
}
html {
-webkit-text-size-adjust: 100%;
font-family: Graphik, sans-serif;
line-height: 1.5;
}
hr {
height: 0;
color: inherit;
border-top-width: 1px;
}
h1,
p,
h4,
pre,
h2,
hr,
h5 {
margin: 0;
}
h1,
h4,
h2,
h5 {
font-size: inherit;
font-weight: inherit;
}
img {
border-style: solid;
max-width: 100%;
height: auto;
}
pre,
code {
font-size: 1em;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
strong {
font-weight: bolder;
}
summary {
display: list-item;
}
svg,
img {
display: block;
vertical-align: middle;
}
ul,
ol {
list-style: none;
margin: 0;
padding: 0;
}
.container {
width: 100%;
}
@media (min-width: 480px) {
.container {
max-width: 480px;
}
}
@media (min-width: 768px) {
.container {
max-width: 768px;
}
}
@media (min-width: 976px) {
.container {
max-width: 976px;
}
}
@media (min-width: 1440px) {
.container {
max-width: 1440px;
}
}
.prose {
color: #374151;
max-width: 65ch;
font-size: 1rem;
line-height: 1.75;
}
.prose [class~="lead"] {
color: #4b5563;
font-size: 1.25em;
line-height: 1.6;
margin-top: 1.2em;
margin-bottom: 1.2em;
}
.prose a {
color: #111827;
text-decoration: underline;
font-weight: 500;
}
.prose strong {
color: #111827;
font-weight: 600;
}
.prose ol[type="A"] {
--list-counter-style: upper-alpha;
}
.prose ol[type="a"] {
--list-counter-style: lower-alpha;
}
.prose ol[type="A s"] {
--list-counter-style: upper-alpha;
}
.prose ol[type="a s"] {
--list-counter-style: lower-alpha;
}
.prose ol[type="I"] {
--list-counter-style: upper-roman;
}
.prose ol[type="i"] {
--list-counter-style: lower-roman;
}
.prose ol[type="I s"] {
--list-counter-style: upper-roman;
}
.prose ol[type="i s"] {
--list-counter-style: lower-roman;
}
.prose ol[type="1"] {
--list-counter-style: decimal;
}
.prose ol>li {
position: relative;
padding-left: 1.75em;
}
.prose ol>li::before {
content: counter(list-item, var(--list-counter-style, decimal)) ".";
position: absolute;
font-weight: 400;
color: #6b7280;
left: 0;
}
.prose ul>li {
position: relative;
padding-left: 1.75em;
}
.prose ul>li::before {
content: "";
position: absolute;
background-color: #d1d5db;
border-radius: 50%;
width: 0.375em;
height: 0.375em;
top: calc(0.875em - 0.1875em);
left: 0.25em;
}
.prose hr {
border-color: #e5e7eb;
margin-top: 3em;
margin-bottom: 3em;
}
.prose blockquote {
font-weight: 500;
font-style: italic;
color: #111827;
border-left-width: 0.25rem;
border-color: #e5e7eb;
quotes: "\201C" "\201D" "\2018" "\2019";
margin-top: 1.6em;
margin-bottom: 1.6em;
padding-left: 1em;
}
.prose blockquote p:first-of-type::before {
content: open-quote;
}
.prose blockquote p:last-of-type::after {
content: close-quote;
}
.prose h1 {
color: #111827;
font-weight: 800;
font-size: 2.25em;
margin-top: 0;
margin-bottom: 0.8888889em;
line-height: 1.1111111;
}
.prose h2 {
color: #111827;
font-weight: 700;
font-size: 1.5em;
margin-top: 2em;
margin-bottom: 1em;
line-height: 1.3333333;
}
.prose h3 {
color: #111827;
font-weight: 600;
font-size: 1.25em;
margin-top: 1.6em;
margin-bottom: 0.6em;
line-height: 1.6;
}
.prose h4 {
color: #111827;
font-weight: 600;
margin-top: 1.5em;
margin-bottom: 0.5em;
line-height: 1.5;
}
.prose figure figcaption {
color: #6b7280;
font-size: 0.875em;
line-height: 1.4285714;
margin-top: 0.8571429em;
}
.prose code {
color: #111827;
font-weight: 600;
font-size: 0.875em;
}
.prose code::before {
content: "`";
}
.prose code::after {
content: "`";
}
.prose a code {
color: #111827;
}
.prose pre {
color: #e5e7eb;
background-color: #1f2937;
overflow-x: auto;
font-size: 0.875em;
line-height: 1.7142857;
margin-top: 1.7142857em;
margin-bottom: 1.7142857em;
border-radius: 0.375rem;
padding-top: 0.8571429em;
padding-right: 1.1428571em;
padding-bottom: 0.8571429em;
padding-left: 1.1428571em;
}
.prose pre code {
background-color: transparent;
border-width: 0;
border-radius: 0;
padding: 0;
font-weight: 400;
color: inherit;
font-size: inherit;
font-family: inherit;
line-height: inherit;
}
.prose pre code::before {
content: none;
}
.prose pre code::after {
content: none;
}
.prose table {
width: 100%;
table-layout: auto;
text-align: left;
margin-top: 2em;
margin-bottom: 2em;
font-size: 0.875em;
line-height: 1.7142857;
}
.prose thead {
color: #111827;
font-weight: 600;
border-bottom-width: 1px;
border-bottom-color: #d1d5db;
}
.prose thead th {
vertical-align: bottom;
padding-right: 0.5714286em;
padding-bottom: 0.5714286em;
padding-left: 0.5714286em;
}
.prose tbody tr {
border-bottom-width: 1px;
border-bottom-color: #e5e7eb;
}
.prose tbody tr:last-child {
border-bottom-width: 0;
}
.prose tbody td {
vertical-align: top;
padding-top: 0.5714286em;
padding-right: 0.5714286em;
padding-bottom: 0.5714286em;
padding-left: 0.5714286em;
}
.prose p {
margin-top: 1.25em;
margin-bottom: 1.25em;
}
.prose img {
margin-top: 2em;
margin-bottom: 2em;
}
.prose video {
margin-top: 2em;
margin-bottom: 2em;
}
.prose figure {
margin-top: 2em;
margin-bottom: 2em;
}
.prose figure>* {
margin-top: 0;
margin-bottom: 0;
}
.prose h2 code {
font-size: 0.875em;
}
.prose h3 code {
font-size: 0.9em;
}
.prose ol {
margin-top: 1.25em;
margin-bottom: 1.25em;
list-style-type: none;
}
.prose ul {
margin-top: 1.25em;
margin-bottom: 1.25em;
list-style-type: none;
}
.prose li {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.prose>ul>li p {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.prose>ul>li>*:first-child {
margin-top: 1.25em;
}
.prose>ul>li>*:last-child {
margin-bottom: 1.25em;
}
.prose>ol>li>*:first-child {
margin-top: 1.25em;
}
.prose>ol>li>*:last-child {
margin-bottom: 1.25em;
}
.prose ul ul,
.prose ul ol,
.prose ol ul,
.prose ol ol {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
.prose hr+* {
margin-top: 0;
}
.prose h2+* {
margin-top: 0;
}
.prose h3+* {
margin-top: 0;
}
.prose h4+* {
margin-top: 0;
}
.prose thead th:first-child {
padding-left: 0;
}
.prose thead th:last-child {
padding-right: 0;
}
.prose tbody td:first-child {
padding-left: 0;
}
.prose tbody td:last-child {
padding-right: 0;
}
.prose> :first-child {
margin-top: 0;
}
.prose> :last-child {
margin-bottom: 0;
}
.prose-purple a {
color: #7c3aed;
}
.prose-purple a code {
color: #7c3aed;
}
.space-y-1> :not([hidden])~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-x-2> :not([hidden])~ :not([hidden]) {
--tw-space-x-reverse: 0;
margin-right: calc(0.5rem * var(--tw-space-x-reverse));
margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
.dark .dark\:bg-gray-900 {
--tw-bg-opacity: 1;
background-color: rgba(17, 24, 39, var(--tw-bg-opacity));
}
.bg-white {
--tw-bg-opacity: 1;
background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}
.hover\:bg-gray-100:hover {
--tw-bg-opacity: 1;
background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
}
.dark .dark\:hover\:bg-gray-700:hover {
--tw-bg-opacity: 1;
background-color: rgba(55, 65, 81, var(--tw-bg-opacity));
}
.dark .dark\:bg-gray-800 {
--tw-bg-opacity: 1;
background-color: rgba(31, 41, 55, var(--tw-bg-opacity));
}
.bg-blue-200 {
--tw-bg-opacity: 1;
background-color: rgba(191, 219, 254, var(--tw-bg-opacity));
}
.bg-blue-300 {
--tw-bg-opacity: 1;
background-color: rgba(147, 197, 253, var(--tw-bg-opacity));
}
.bg-gray-100 {
--tw-bg-opacity: 1;
background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
}
.rounded-lg {
border-radius: 0.5rem;
}
.cursor-pointer {
cursor: pointer;
}
.flex {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.hidden {
display: none;
}
.flex-row {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
-webkit-flex-direction: row;
flex-direction: row;
}
.flex-col {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
.flex-wrap {
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.items-center {
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.justify-center {
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
}
.justify-between {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.flex-shrink-0 {
-ms-flex-negative: 0;
-webkit-flex-shrink: 0;
flex-shrink: 0;
}
.font-medium {
font-weight: 500;
}
.font-bold {
font-weight: 700;
}
.font-extrabold {
font-weight: 800;
}
.font-normal {
font-weight: 400;
}
.h-7 {
height: 1.75rem;
}
.h-5 {
height: 1.25rem;
}
.h-8 {
height: 2rem;
}
.h-6 {
height: 1.5rem;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.text-base {
font-size: 1rem;
line-height: 1.5rem;
}
.text-sm {
font-size: 0.875rem;
line-height: 1.25rem;
}
.text-5xl {
font-size: 3rem;
line-height: 1;
}
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.leading-none {
line-height: 1;
}
.leading-relaxed {
line-height: 1.625;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
.my-6 {
margin-top: 1.5rem;
margin-bottom: 1.5rem;
}
.\!my-3 {
margin-top: 0.75rem !important;
margin-bottom: 0.75rem !important;
}
.mb-4 {
margin-bottom: 1rem;
}
.ml-3 {
margin-left: 0.75rem;
}
.mr-5 {
margin-right: 1.25rem;
}
.ml-1\.5 {
margin-left: 0.375rem;
}
.mt-4 {
margin-top: 1rem;
}
.mt-10 {
margin-top: 2.5rem;
}
.mt-6 {
margin-top: 1.5rem;
}
.mt-12 {
margin-top: 3rem;
}
.max-w-screen-lg {
max-width: 976px;
}
.max-w-5xl {
max-width: 64rem;
}
.max-w-md {
max-width: 28rem;
}
.focus\:outline-none:focus {
outline: 2px solid transparent;
outline-offset: 2px;
}
.p-5 {
padding: 1.25rem;
}
.p-2\.5 {
padding: 0.625rem;
}
.p-1 {
padding: 0.25rem;
}
.p-4 {
padding: 1rem;
}
.px-6 {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.py-24 {
padding-top: 6rem;
padding-bottom: 6rem;
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem;
}
.px-2 {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.py-16 {
padding-top: 4rem;
padding-bottom: 4rem;
}
.focus\:ring-4:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
-webkit-box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-gray-200:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgba(229, 231, 235, var(--tw-ring-opacity));
}
.dark .dark\:focus\:ring-gray-700:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgba(55, 65, 81, var(--tw-ring-opacity));
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.dark .dark\:text-white {
--tw-text-opacity: 1;
color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.text-gray-600 {
--tw-text-opacity: 1;
color: rgba(75, 85, 99, var(--tw-text-opacity));
}
.text-gray-900 {
--tw-text-opacity: 1;
color: rgba(17, 24, 39, var(--tw-text-opacity));
}
.hover\:text-gray-900:hover {
--tw-text-opacity: 1;
color: rgba(17, 24, 39, var(--tw-text-opacity));
}
.text-gray-500 {
--tw-text-opacity: 1;
color: rgba(107, 114, 128, var(--tw-text-opacity));
}
.dark .dark\:text-gray-400 {
--tw-text-opacity: 1;
color: rgba(156, 163, 175, var(--tw-text-opacity));
}
.dark .dark\:text-gray-50 {
--tw-text-opacity: 1;
color: rgba(249, 250, 251, var(--tw-text-opacity));
}
.dark .dark\:text-violet-400 {
--tw-text-opacity: 1;
color: rgba(167, 139, 250, var(--tw-text-opacity));
}
.text-gray-700 {
--tw-text-opacity: 1;
color: rgba(55, 65, 81, var(--tw-text-opacity));
}
.text-teal-600 {
--tw-text-opacity: 1;
color: rgba(13, 148, 136, var(--tw-text-opacity));
}
.dark .dark\:text-teal-300 {
--tw-text-opacity: 1;
color: rgba(94, 234, 212, var(--tw-text-opacity));
}
.hover\:text-gray-700\/75:hover {
--tw-text-opacity: 0.75;
color: rgba(55, 65, 81, var(--tw-text-opacity));
}
.dark .dark\:hover\:text-white\/75:hover {
--tw-text-opacity: 0.75;
color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.hover\:underline:hover {
-webkit-text-decoration-line: underline;
text-decoration-line: underline;
}
.tracking-tight {
letter-spacing: -0.025em;
}
.w-7 {
width: 1.75rem;
}
.w-full {
width: 100%;
}
.w-5 {
width: 1.25rem;
}
.w-6\/12 {
width: 50%;
}
.w-6 {
width: 1.5rem;
}
.w-12\/12 {
width: 100%;
}
.gap-6 {
grid-gap: 1.5rem;
gap: 1.5rem;
}
.transition {
-webkit-transition-property: background-color, border-color, color, fill, stroke, opacity, -webkit-box-shadow, -webkit-transform, filter, backdrop-filter;
-o-transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, -webkit-box-shadow, transform, -webkit-transform, filter, backdrop-filter;
-webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
-o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
-webkit-transition-duration: 150ms;
-o-transition-duration: 150ms;
transition-duration: 150ms;
}
.duration-300 {
-webkit-transition-duration: 300ms;
-o-transition-duration: 300ms;
transition-duration: 300ms;
}
@media (min-width: 480px) {
.sm\:px-6 {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
}
@media (min-width: 768px) {
.md\:flex-row {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
-webkit-flex-direction: row;
flex-direction: row;
}
.md\:text-5xl {
font-size: 3rem;
line-height: 1;
}
.md\:mb-0 {
margin-bottom: 0px;
}
.md\:ml-auto {
margin-left: auto;
}
.md\:gap-8 {
grid-gap: 2rem;
gap: 2rem;
}
}
@media (min-width: 976px) {
.lg\:text-6xl {
font-size: 3.75rem;
line-height: 1;
}
.lg\:text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.lg\:px-8 {
padding-left: 2rem;
padding-right: 2rem;
}
.lg\:gap-12 {
grid-gap: 3rem;
gap: 3rem;
}
}
</style>
<style>
@font-face {
font-family: 'Open Sans Regular';
font-style: normal;
font-weight: 400;
src: url('chrome-extension://gkkdmjjodidppndkbkhhknakbeflbomf/fonts/open_sans/open-sans-v18-latin-regular.woff');
}
</style>
<style>
@font-face {
font-family: 'Open Sans Bold';
font-style: normal;
font-weight: 800;
src: url('chrome-extension://gkkdmjjodidppndkbkhhknakbeflbomf/fonts/open_sans/open-sans-v18-latin-800.woff');
}
</style>
<style>
</style>
<style>
.cb--iframe--aMNCL_E1x046f6Be3ICM {
all: unset;
position: fixed;
right: 0;
top: 0;
height: 100%;
width: 352px;
z-index: 1000000;
background: white;
border: none;
box-shadow: -3px 2px 5px 2px rgba(0, 0, 0, 0.25);
transition: right 0.3s ease-out;
}
.cb--closed--lebfAyUbHvSjo3AjhXsJ {
right: -352px;
}
.cb--hidden--zswHA1e_s5V1Po8KlfTc {
display: none;
}
</style>
<style>
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F *:not(path) {
all: unset;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F {
position: fixed;
right: 0px;
z-index: 1000001;
/* override default button styles */
margin: 0;
padding: 0;
border: none;
cursor: pointer;
transition: right 0.3s ease-out;
border-radius: 2px 0 0 2px;
text-align: center;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F button {
/* override default button styles */
margin: 0;
padding: 0;
border: none;
cursor: pointer;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--closed--_f_rBuFcBcTMLAaGn2Tz,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--closed--_f_rBuFcBcTMLAaGn2Tz .cb--openToggleButton--mqbvYBMC__Itqt46E4EE {
height: 48px;
width: 48px;
border-radius: 4px 0 0 4px;
background: #0160ff;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--closed--_f_rBuFcBcTMLAaGn2Tz .cb--whiteBackgroundWrapper--alUDtlB95PILj6sYYEyB {
height: 48px;
width: 48px;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--open--zhmNU_iy7dqGMYCa8hIX {
right: 352px;
width: 32px;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--closed--_f_rBuFcBcTMLAaGn2Tz {
box-shadow: -2px 2px 5px 0px rgba(0, 0, 0, 0.25);
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--open--zhmNU_iy7dqGMYCa8hIX .cb--whiteBackgroundWrapper--alUDtlB95PILj6sYYEyB {
background: white;
border-radius: 2px 0 0 2px;
box-shadow: -2px 2px 5px 0px rgba(0, 0, 0, 0.25);
display: block;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--open--zhmNU_iy7dqGMYCa8hIX .cb--openToggleButton--mqbvYBMC__Itqt46E4EE,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--open--zhmNU_iy7dqGMYCa8hIX .cb--dismissButton--_Kw5IoLfNW6HCHmKxRfL {
height: 32px;
width: 32px;
background: none;
}
.cb--logoContainer--Xe9DoJlDRdjn9fzukx3a svg {
fill: white;
padding: 8px;
}
.cb--closeIconContainer--S9Gso8D9iNvh_BhjjODH svg,
.cb--dismissButton--_Kw5IoLfNW6HCHmKxRfL svg,
.cb--gripperIcon--haVTZsHtE1KPXDZXKj03 svg {
fill: #666666;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--open--zhmNU_iy7dqGMYCa8hIX .cb--logoContainer--Xe9DoJlDRdjn9fzukx3a,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--closed--_f_rBuFcBcTMLAaGn2Tz .cb--closeIconContainer--S9Gso8D9iNvh_BhjjODH,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--closed--_f_rBuFcBcTMLAaGn2Tz .cb--dismissButton--_Kw5IoLfNW6HCHmKxRfL {
display: none;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F .cb--dismissButton--_Kw5IoLfNW6HCHmKxRfL svg {
/* Shrink X icon size, it is too large compared to other icons at same width */
width: 24px;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F .cb--gripperIcon--haVTZsHtE1KPXDZXKj03 {
height: 24px;
width: 32px;
padding: 0;
margin-top: 4px;
margin-left: auto;
margin-right: auto;
display: none;
}
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F:hover .cb--gripperIcon--haVTZsHtE1KPXDZXKj03,
.cb--openCloseButton--oh3mkDsZMOZh8k0F040F.cb--dragging--gCDPU69j53T3Du6wkUGE .cb--gripperIcon--haVTZsHtE1KPXDZXKj03 {
display: block;
}
</style>
<style>
.cb--how-to-open-ftux--lJiFBsjeGgv20UWXQQDq {
all: unset;
position: fixed;
right: 0;
top: 0;
z-index: 1000000;
width: 352px;
background: white;
border: none;
box-shadow: -3px 2px 5px 2px rgba(0, 0, 0, 0.25);
border-radius: 4px;
display: flex;
flex-direction: column;
color: black;
font-family: "Roboto", Arial, sans-serif !important;
font-size: 16px !important;
font-weight: 400 !important;
line-height: 24px !important;
}
.cb--close-icon--_TFa6uTtJfnGgIJTXFfY {
all: unset;
cursor: pointer;
height: 24px;
width: 24px;
padding: 4px;
border-radius: 4px;
margin-left: auto;
background: white;
}
.cb--ftux-message--Eza1NHUnXuU6o5z9q9RE {
margin: 0 20px 20px 20px;
}
.cb--cb-icon--EmIuD7INmg1Wo_QQRXk0 {
display: inline-block;
height: 24px;
width: 24px;
border-radius: 4px;
background: #0160ff;
color: white;
vertical-align: bottom;
}
.cb--cb-icon--EmIuD7INmg1Wo_QQRXk0 svg {
fill: white;
margin: 4px;
}
</style>
</head>
<body class="dark:bg-gray-900 dark:text-white bg-white" data-new-gr-c-s-check-loaded="14.1087.0"
data-gr-ext-installed="">
<header class="text-gray-600 body-font">
<div class="container mx-auto flex flex-wrap p-5 flex-col md:flex-row items-center">
<a href="http://localhost:3000/"
class="cursor-pointer flex font-medium items-center text-gray-900 mb-4 md:mb-0 cursor title-font">
<span class="ml-3 text-xl">
</span>
</a>
<nav class="md:ml-auto flex flex-wrap items-center text-base justify-center">
<ul class="flex">
<li class="mr-5 hover:text-gray-900">
<a href="http://localhost:3000/">
Home
</a>
</li>
</ul>
</nav>
<button id="theme-toggle" type="button"
class="items-center text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5">
<svg id="theme-toggle-dark-icon" class="w-7 h-7" fill="currentColor" viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg">
<path fill="#000"
d="M305.4 18.09A192 192 0 0 0 144.9 98c25.7-9.6 54.2-13.42 83.4-9.81 96.3 11.91 164.9 99.91 153 196.31-5.9 48-30.8 89.1-66.1 116.9a192 192 0 0 0 176.2-167.8A192 192 0 0 0 324.5 19.5a192 192 0 0 0-19.1-1.41zM58.76 91.4c4 10.7 2 36.7-.99 44.2 21.09 9.4 19.19 35.2 15.99 42.9 31.14 5 35.14 15.7 36.04 33.9 13.3-11.9 23.2-16.3 48.4 3.8 3-7.5 19.2-27.3 40.2-17.7 3.1-7.5 19.3-27.2 29.4-31.8-18.1-17-42.3-18.9-59.5-17.5-6 15.2-16.5 28.5-30.5 22.1l6.3-23.8-10.1 4.3-3.8-10.6-11.8 21.6c-14.1-6.3-12.3-23.7-6.4-38.6-10.9-14-29.14-31-53.24-32.8zM317.1 301.3c-40.3.8-72.9 24.8-93.6 45.1 7.9 25.8 7.9 54-17.4 62l-16.7-37.2-8.7 16.9-16.7-8.8 7.2 40.2c-25.5 7.9-41.3-15.3-49.2-41-29.43-5-71.41-5.8-105.49 19.2 16.67 8.8 41.14 43.5 45.15 56.3 37.99-11.9 62.84 22.6 66.54 35.6 46.9-29 63.5-20.2 84.1 1.6 4.8-29.7 13.5-46.6 68.1-49.9-3.9-12.8-3.1-55.4 35-67.5-4-12.9-3.2-55.6 5.6-72.5h-3.9z">
</path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" id="theme-toggle-light-icon" class="hidden w-7 h-7" fill="currentColor"
viewBox="0 0 250 250">
<defs></defs>
<g style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;"
transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)">
<path
d="M 33.401 89.585 c -0.4 0 -0.803 -0.057 -1.196 -0.172 c -1.325 -0.389 -2.382 -1.401 -2.829 -2.708 l -3.114 -9.121 c -0.34 -0.997 -1.315 -1.628 -2.359 -1.516 l -9.59 0.956 c -1.372 0.131 -2.733 -0.403 -3.637 -1.447 C 9.77 74.534 9.428 73.11 9.759 71.77 l 2.311 -9.357 c 0.252 -1.022 -0.227 -2.071 -1.165 -2.55 l -8.585 -4.381 c -1.23 -0.628 -2.082 -1.818 -2.278 -3.185 c -0.197 -1.367 0.285 -2.749 1.288 -3.698 l 7.003 -6.621 c 0.765 -0.724 0.929 -1.865 0.399 -2.775 L 3.88 30.877 c -0.696 -1.192 -0.768 -2.655 -0.194 -3.911 c 0.573 -1.256 1.726 -2.159 3.083 -2.414 l 9.471 -1.785 c 1.035 -0.195 1.79 -1.066 1.836 -2.119 l 0.418 -9.629 c 0.06 -1.379 0.789 -2.649 1.951 -3.395 c 1.161 -0.747 2.62 -0.882 3.899 -0.364 l 8.932 3.619 c 0.977 0.396 2.083 0.071 2.69 -0.79 l 5.558 -7.874 c 0.796 -1.128 2.095 -1.801 3.476 -1.801 c 0 0 0 0 0.001 0 c 1.381 0 2.681 0.673 3.477 1.801 l 0.001 0 l 5.558 7.874 c 0.606 0.86 1.714 1.188 2.689 0.79 l 8.933 -3.619 c 1.279 -0.519 2.737 -0.383 3.898 0.364 c 1.162 0.747 1.892 2.016 1.951 3.396 l 0.419 9.629 c 0.046 1.052 0.801 1.924 1.836 2.119 l 9.471 1.785 c 1.356 0.255 2.509 1.158 3.083 2.414 c 0.573 1.256 0.501 2.718 -0.194 3.911 l -4.854 8.326 c -0.53 0.91 -0.366 2.052 0.398 2.775 l 7.003 6.621 c 1.003 0.949 1.485 2.331 1.288 3.698 c -0.196 1.366 -1.048 2.557 -2.278 3.185 l -8.584 4.381 c -0.938 0.479 -1.417 1.527 -1.165 2.551 l 2.312 9.355 c 0.331 1.342 -0.012 2.766 -0.916 3.809 c -0.904 1.044 -2.262 1.581 -3.638 1.447 l -9.59 -0.956 c -1.046 -0.11 -2.017 0.52 -2.358 1.516 l -3.114 9.121 c -0.446 1.307 -1.504 2.319 -2.829 2.708 c -1.324 0.388 -2.762 0.107 -3.843 -0.75 l -7.55 -5.988 c -0.826 -0.654 -1.979 -0.654 -2.804 0 l -7.551 5.988 C 35.287 89.267 34.35 89.585 33.401 89.585 z"
style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,169,65); fill-rule: nonzero; opacity: 1;"
transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round"></path>
<path
d="M 45 71.001 c -14.337 0 -26 -11.663 -26 -26 c 0 -14.337 11.664 -26 26 -26 c 14.337 0 26 11.664 26 26 C 71 59.338 59.337 71.001 45 71.001 z"
style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,222,85); fill-rule: nonzero; opacity: 1;"
transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round"></path>
<path
d="M 45.536 54.83 c -1.251 0 -2.439 -0.191 -3.561 -0.573 c -3.278 -1.117 -6.005 -3.871 -8.108 -8.187 c -0.242 -0.496 -0.036 -1.095 0.461 -1.336 c 0.497 -0.243 1.096 -0.035 1.337 0.461 c 1.86 3.819 4.2 6.23 6.954 7.169 c 2.755 0.938 6.081 0.455 9.885 -1.433 c 0.494 -0.246 1.094 -0.044 1.34 0.451 c 0.246 0.494 0.044 1.095 -0.451 1.34 C 50.566 54.126 47.937 54.83 45.536 54.83 z"
style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,169,65); fill-rule: nonzero; opacity: 1;"
transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round"></path>
<path
d="M 44.404 38.994 c -0.327 0 -0.646 -0.16 -0.838 -0.453 c -1.628 -2.494 -3.698 -3.198 -6.509 -2.217 c -0.521 0.181 -1.092 -0.094 -1.273 -0.615 c -0.182 -0.521 0.094 -1.091 0.615 -1.273 c 3.662 -1.278 6.72 -0.236 8.842 3.012 c 0.302 0.462 0.172 1.082 -0.291 1.384 C 44.781 38.942 44.591 38.994 44.404 38.994 z"
style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,169,65); fill-rule: nonzero; opacity: 1;"
transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round"></path>
<path
d="M 57.656 43.509 c -0.326 0 -0.646 -0.159 -0.838 -0.453 c -1.629 -2.493 -3.699 -3.198 -6.51 -2.217 c -0.523 0.183 -1.092 -0.093 -1.273 -0.615 c -0.182 -0.521 0.094 -1.092 0.615 -1.273 c 3.664 -1.278 6.721 -0.235 8.842 3.012 c 0.303 0.462 0.173 1.082 -0.29 1.384 C 58.033 43.456 57.844 43.509 57.656 43.509 z"
style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(255,169,65); fill-rule: nonzero; opacity: 1;"
transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round"></path>
</g>
</svg>
</button>
</div>
</header>
<main class="my-6">
<article class="mx-auto max-w-screen-lg px-6 py-24 dark:bg-gray-800 dark:text-gray-50">
<div class="w-full mx-auto space-y-1">
<h1
class="text-5xl font-bold mb-4 font-extrabold tracking-tight leading-none text-gray-900 md:text-5xl lg:text-6xl dark:text-white">
How to install deno in linux?</h1>
<p class="text-lg font-normal text-gray-500 lg:text-xl dark:text-gray-400">Install deno in linux with easy ways.
</p>
<div class="flex flex-wrap space-x-2 text-sm dark:text-gray-400">
<a href="http://localhost:3000/tag/install-deno" class="p-1 hover:underline">#install deno</a>
<a href="http://localhost:3000/tag/deno" class="p-1 hover:underline">#deno</a>
<a href="http://localhost:3000/tag/ubuntu" class="p-1 hover:underline">#ubuntu</a>
<a href="http://localhost:3000/tag/linux" class="p-1 hover:underline">#linux</a>
<a rel="noopener noreferrer" href="http://localhost:3000/how-to-install-deno-in-linux.html#"
class="p-1 hover:underline">#MambaUI</a>
<a rel="noopener noreferrer" href="http://localhost:3000/how-to-install-deno-in-linux.html#"
class="p-1 hover:underline">#TailwindCSS</a>
<a rel="noopener noreferrer" href="http://localhost:3000/how-to-install-deno-in-linux.html#"
class="p-1 hover:underline">#Angular</a>
</div>
<p class="text-sm dark:text-gray-400">by
<a href="http://localhost:3000/authors/rajdeep-singh" target="_blank" rel="noopener noreferrer"
class="hover:underline dark:text-violet-400">
<span>Rajdeep Singh</span>
</a>
on
<time datetime="Mon Sep 12 2022 14:13:00 GMT+0530 (India Standard Time)">
September 12th, 2022
</time>
</p>
</div>
<div class="space-y-1">
<details class="p-1">
<summary class="flex cursor-pointer items-center justify-between rounded-lg bg-blue-200 px-4">
<h4 class="px-2 !my-3 font-medium text-gray-900">
Table of contents
</h4>
<svg class="ml-1.5 h-5 w-5 flex-shrink-0 transition duration-300 group-open:-rotate-180"
xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path strokelinecap="round" strokelinejoin="round" strokewidth="2" d="M19 9l-7 7-7-7"></path>
</svg>
</summary>
<div id="tableOfContect"></div>
<p class="mt-4 px-4 leading-relaxed text-gray-700">
Here
</p>
</details>
</div>
<div class="">
<div class="prose max-w-screen-lg prose-purple w-12/12">
<!-- <nav class="toc">
<ol class="toc-level toc-level-1">
<li class="toc-item toc-item-h2"><a class="toc-link toc-link-h2"
href="http://localhost:3000/how-to-install-deno-in-linux.html#how-to-upgrade-the-old-deno-to-the-new-version">How
to upgrade the old deno to the new version?</a></li>
<li class="toc-item toc-item-h2"><a class="toc-link toc-link-h2"
href="http://localhost:3000/how-to-install-deno-in-linux.html#how-to-delete-deno-in-linux">How to
delete deno in Linux?</a>
<ol class="toc-level toc-level-2">
<li class="toc-item toc-item-h5"><a class="toc-link toc-link-h5"
href="http://localhost:3000/how-to-install-deno-in-linux.html#steps">Steps</a></li>
<li class="toc-item toc-item-h4"><a class="toc-link toc-link-h4"
href="http://localhost:3000/how-to-install-deno-in-linux.html#delete-deno-folder">Delete deno
folder</a></li>
<li class="toc-item toc-item-h4"><a class="toc-link toc-link-h4"
href="http://localhost:3000/how-to-install-deno-in-linux.html#delete-deno-configuration">Delete
deno configuration</a></li>
</ol>
</li>
<li class="toc-item toc-item-h2"><a class="toc-link toc-link-h2"
href="http://localhost:3000/how-to-install-deno-in-linux.html#conclusion">Conclusion</a></li>
<li class="toc-item toc-item-h2"><a class="toc-link toc-link-h2"
href="http://localhost:3000/how-to-install-deno-in-linux.html#references">References</a></li>
</ol>
</nav> -->
<p>Deno is a new runtime environment for javascript. You can install deno with a
bash script. For Installation, you need a curl command.</p>
<pre class="language-javascript" tabindex="0" style="position: relative;"><code class="code-highlight language-javascript">curl <span class="token operator">-</span>fsSL https<span class="token operator">:</span><span class="token operator">/</span><span class="token operator">/</span>deno<span class="token punctuation">.</span>land<span class="token operator">/</span>install<span class="token punctuation">.</span>sh <span class="token operator">|</span> sh
</code><div class="open_grepper_editor" title="Edit &amp; Save To Grepper"></div></pre>
<p><strong>Output looks like</strong></p>
<h2>How to upgrade the old deno to the new version?</h2>
<p>You can upgrade deno with <code>deno upgrade</code> command.</p>
<hr>
<h2>How to delete deno in Linux?</h2>
<p>Uninstalling the deno process is a trick for a new person. However, with my step
base guideline, you can easily delete the deno and deno configuration.</p>
<h5>Steps</h5>
<ul>
<li>Delete deno folder</li>
<li>Delete deno configuration</li>
</ul>
<h4>Delete deno folder</h4>
<p>Firstly, You can delete the <code>.deno</code> folder in your distro. Then, you can delete
it with <code>sudo rm -R $HOME/.deno</code> command.</p>
<p><code>sudo rm -R $HOME/.deno</code> command does not delete only the deno folder. It also
deletes the entire configuration and cache.</p>
<h4>Delete deno configuration</h4>
<p>In the second step, You can delete the deno configuration in <code>.bashrc</code> file.
Which is added automatically on the installation time.</p>
<p>open bash <code>.bashrc</code> file with any IDE. for example, I use nano Linux IDE and
open <code>.bashrc</code> file with nano <code>nano ./.bashrc</code></p>
<p>After oping <code>.bashrc</code> file, then you find the following configuration.</p>
<pre class="language-javascript" tabindex="0" style="position: relative;"><code class="code-highlight language-javascript"># Manually add the directory to your $<span class="token constant">HOME</span><span class="token operator">/</span><span class="token punctuation">.</span><span class="token function">bashrc</span> <span class="token punctuation">(</span>or similar<span class="token punctuation">)</span>
<span class="token keyword">export</span> <span class="token constant">DENO_INSTALL</span><span class="token operator">=</span><span class="token string">"/home/rajdeepsingh/.deno"</span>
<span class="token keyword">export</span> <span class="token constant">PATH</span><span class="token operator">=</span><span class="token string">"$DENO_INSTALL/bin:$PATH"</span>
</code><div class="open_grepper_editor" title="Edit &amp; Save To Grepper"></div></pre>
<p>If the Following configuring is found, then delete it. Now deno uninstalls
successfully in your distro.</p>
<hr>
<h2>Conclusion</h2>
<p>I hope you understand the deno installation. If you have any problems, ask in
the comment section.</p>
<hr>
<h2>References</h2>
<p><a href="https://deno.land/#installation"
title="https://deno.land/#installation">https://deno.land/#installation</a></p>
</div>
</divn>
</article>
<ul class="flex flex-row w-full mt-10 justify-between p-4">
<li class="w-6/12 text-left">
← Previous: <a href="http://localhost:3000/how-to-install-bun-in-ubuntu.html" rel="prev">How to install bun in
debian distros? </a>
</li>
<li class="w-6/12 text-right">
<strong>Next: <a href="http://localhost:3000/testing.html" rel="next">Testing The article __`helo`__</a>
→</strong>
</li>
</ul>
</main>
<footer aria-label="Site Footer" class="bg-gray-100 dark:bg-gray-900">
<div class="mx-auto max-w-5xl px-4 py-16 sm:px-6 lg:px-8">
<div class="flex justify-center text-teal-600 dark:text-teal-300">
<svg class="h-8" viewBox="0 0 118 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M37.83 19.2047C37.2352 19.237 36.6469 19.0679 36.16 18.7247C35.9566 18.5739 35.7929 18.3758 35.6831 18.1476C35.5733 17.9193 35.5208 17.6678 35.53 17.4147V8.1447C35.5252 8.1055 35.5293 8.0656 35.5422 8.0282C35.555 7.9908 35.5762 7.9569 35.6042 7.9289C35.6322 7.9009 35.6661 7.8797 35.7035 7.8669C35.7409 7.854 35.7808 7.8499 35.82 7.8547H37.5C37.69 7.8547 37.78 7.9547 37.78 8.1447V16.6947C37.78 17.0747 37.95 17.2647 38.3 17.2647C38.4484 17.2708 38.5968 17.254 38.74 17.2147C38.94 17.2147 39.05 17.2747 39.06 17.4547L39.21 18.7047C39.2172 18.7412 39.2165 18.7787 39.208 18.8149C39.1995 18.851 39.1833 18.885 39.1605 18.9143C39.1378 18.9437 39.109 18.9679 39.0762 18.9852C39.0433 19.0025 39.0071 19.0126 38.97 19.0147C38.602 19.1363 38.2175 19.2004 37.83 19.2047Z"
fill="currentColor"></path>
<path
d="M47.28 18.1347C46.4359 18.8322 45.375 19.2137 44.28 19.2137C43.185 19.2137 42.1242 18.8322 41.28 18.1347C40.5381 17.3857 40.1218 16.374 40.1218 15.3197C40.1218 14.2654 40.5381 13.2537 41.28 12.5047C42.1258 11.8108 43.186 11.4316 44.28 11.4316C45.374 11.4316 46.4342 11.8108 47.28 12.5047C48.0049 13.2606 48.4096 14.2674 48.4096 15.3147C48.4096 16.362 48.0049 17.3688 47.28 18.1247V18.1347ZM42.86 16.8147C43.2518 17.1696 43.7614 17.3661 44.29 17.3661C44.8186 17.3661 45.3283 17.1696 45.72 16.8147C46.0746 16.4071 46.2698 15.885 46.2698 15.3447C46.2698 14.8045 46.0746 14.2824 45.72 13.8747C45.3283 13.5199 44.8186 13.3233 44.29 13.3233C43.7614 13.3233 43.2518 13.5199 42.86 13.8747C42.5055 14.2824 42.3102 14.8045 42.3102 15.3447C42.3102 15.885 42.5055 16.4071 42.86 16.8147Z"
fill="currentColor"></path>
<path
d="M57.66 11.6847C57.85 11.6847 57.94 11.7847 57.94 11.9747V19.1447C57.9575 19.6287 57.8669 20.1104 57.6749 20.5549C57.4829 20.9995 57.1943 21.3957 56.83 21.7147C56.0214 22.4042 54.9816 22.7615 53.92 22.7147C52.9612 22.7484 52.0151 22.4866 51.21 21.9647C50.8662 21.739 50.5725 21.4449 50.3472 21.1009C50.1218 20.7568 49.9696 20.3701 49.9 19.9647C49.9 19.7647 49.9 19.6747 50.17 19.6747H51.85C51.9213 19.6771 51.9905 19.7002 52.049 19.741C52.1076 19.7818 52.1531 19.8386 52.18 19.9047C52.289 20.2084 52.5062 20.4613 52.79 20.6147C53.1359 20.7932 53.5209 20.8826 53.91 20.8747C54.1448 20.8876 54.3798 20.8535 54.6013 20.7745C54.8228 20.6956 55.0263 20.5732 55.2 20.4147C55.3587 20.2489 55.4821 20.0526 55.5629 19.8378C55.6437 19.623 55.6801 19.394 55.67 19.1647V18.5347C55.0685 18.9771 54.3364 19.2059 53.59 19.1847C53.0676 19.2037 52.5468 19.117 52.0587 18.9297C51.5707 18.7423 51.1256 18.4584 50.75 18.0947C50.0291 17.3489 49.6261 16.3521 49.6261 15.3147C49.6261 14.2774 50.0291 13.2806 50.75 12.5347C51.1274 12.1743 51.5731 11.8931 52.0608 11.7076C52.5486 11.5221 53.0685 11.4361 53.59 11.4547C54.358 11.4344 55.1098 11.678 55.72 12.1447V11.9847C55.7154 11.9464 55.7194 11.9075 55.7317 11.8709C55.744 11.8344 55.7643 11.801 55.7911 11.7732C55.8179 11.7454 55.8506 11.724 55.8867 11.7104C55.9229 11.6968 55.9616 11.6915 56 11.6947L57.66 11.6847ZM53.78 17.4047C54.0376 17.4127 54.2939 17.364 54.5306 17.262C54.7673 17.1601 54.9788 17.0074 55.15 16.8147C55.4825 16.3854 55.6629 15.8577 55.6629 15.3147C55.6629 14.7717 55.4825 14.2441 55.15 13.8147C54.9794 13.6247 54.7692 13.4742 54.5343 13.374C54.2993 13.2738 54.0453 13.2263 53.79 13.2347C53.5294 13.2265 53.2702 13.275 53.0302 13.3769C52.7902 13.4788 52.5752 13.6316 52.4 13.8247C52.0317 14.2354 51.838 14.7735 51.86 15.3247C51.842 15.8705 52.0314 16.4029 52.39 16.8147C52.5656 17.0073 52.7807 17.1598 53.0206 17.2616C53.2605 17.3634 53.5195 17.4122 53.78 17.4047Z"
fill="currentColor"></path>
<path
d="M66.57 18.1347C65.7242 18.8286 64.664 19.2078 63.57 19.2078C62.476 19.2078 61.4158 18.8286 60.57 18.1347C59.8445 17.3771 59.4395 16.3687 59.4395 15.3197C59.4395 14.2708 59.8445 13.2623 60.57 12.5047C61.4166 11.8126 62.4765 11.4345 63.57 11.4345C64.6635 11.4345 65.7234 11.8126 66.57 12.5047C67.2949 13.2606 67.6996 14.2674 67.6996 15.3147C67.6996 16.362 67.2949 17.3688 66.57 18.1247V18.1347ZM62.14 16.8147C62.3317 16.9971 62.5577 17.1396 62.8049 17.234C63.0521 17.3284 63.3155 17.3729 63.58 17.3647C63.8428 17.3715 64.1044 17.3265 64.3498 17.2321C64.5952 17.1377 64.8195 16.9959 65.01 16.8147C65.3588 16.4043 65.5503 15.8833 65.5503 15.3447C65.5503 14.8061 65.3588 14.2851 65.01 13.8747C64.8195 13.6936 64.5952 13.5517 64.3498 13.4574C64.1044 13.363 63.8428 13.3179 63.58 13.3247C63.3155 13.3166 63.0521 13.361 62.8049 13.4554C62.5577 13.5498 62.3317 13.6924 62.14 13.8747C61.7913 14.2851 61.5998 14.8061 61.5998 15.3447C61.5998 15.8833 61.7913 16.4043 62.14 16.8147Z"
fill="currentColor"></path>
<path
d="M71.31 9.9847C71.0457 10.2161 70.7063 10.3436 70.355 10.3436C70.0037 10.3436 69.6644 10.2161 69.4 9.9847C69.2802 9.8716 69.1847 9.7352 69.1194 9.5839C69.0542 9.4326 69.0205 9.2695 69.0205 9.1047C69.0205 8.9399 69.0542 8.7769 69.1194 8.6255C69.1847 8.4742 69.2802 8.3378 69.4 8.2247C69.6671 7.9991 70.0054 7.8754 70.355 7.8754C70.7046 7.8754 71.0429 7.9991 71.31 8.2247C71.4299 8.3378 71.5254 8.4742 71.5906 8.6255C71.6559 8.7769 71.6895 8.9399 71.6895 9.1047C71.6895 9.2695 71.6559 9.4326 71.5906 9.5839C71.5254 9.7352 71.4299 9.8716 71.31 9.9847ZM71.52 19.2047C70.9256 19.2339 70.3383 19.0651 69.85 18.7247C69.6497 18.5717 69.4888 18.3729 69.381 18.145C69.2731 17.9171 69.2213 17.6667 69.23 17.4147V11.9747C69.2252 11.9355 69.2293 11.8956 69.2422 11.8582C69.255 11.8208 69.2762 11.7869 69.3042 11.7589C69.3322 11.7309 69.3661 11.7097 69.4035 11.6969C69.4409 11.684 69.4808 11.6799 69.52 11.6847H71.2C71.39 11.6847 71.48 11.7847 71.48 11.9747V16.6947C71.48 17.0747 71.65 17.2647 71.99 17.2647C72.1417 17.2702 72.2933 17.2533 72.44 17.2147C72.64 17.2147 72.75 17.2747 72.76 17.4547L72.91 18.7047C72.9172 18.7412 72.9165 18.7787 72.908 18.8149C72.8995 18.851 72.8833 18.885 72.8605 18.9143C72.8378 18.9437 72.809 18.9679 72.7762 18.9852C72.7433 19.0025 72.7071 19.0126 72.67 19.0147C72.2988 19.137 71.9109 19.2011 71.52 19.2047Z"
fill="currentColor"></path>
<path
d="M79.09 11.4447C79.6148 11.424 80.1383 11.5089 80.6296 11.6944C81.1209 11.88 81.57 12.1623 81.95 12.5247C82.6572 13.2837 83.0504 14.2824 83.0504 15.3197C83.0504 16.357 82.6572 17.3558 81.95 18.1147C81.5718 18.4804 81.1233 18.7655 80.6317 18.9528C80.1401 19.1402 79.6157 19.2259 79.09 19.2047C78.3412 19.2214 77.6073 18.9932 77 18.5547V22.1647C77 22.3547 76.9 22.4447 76.71 22.4447H75.03C74.9917 22.4519 74.9522 22.4496 74.9149 22.4381C74.8777 22.4265 74.8438 22.4061 74.8162 22.3785C74.7887 22.3509 74.7682 22.3171 74.7567 22.2798C74.7451 22.2426 74.7429 22.2031 74.75 22.1647V13.9647C74.7618 13.8845 74.7546 13.8027 74.7292 13.7257C74.7037 13.6488 74.6605 13.5788 74.6032 13.5215C74.5459 13.4642 74.476 13.4211 74.399 13.3956C74.3221 13.3701 74.2402 13.363 74.16 13.3747H73.83C73.61 13.3747 73.5 13.2947 73.5 13.1347V11.9547C73.4948 11.8817 73.5148 11.8091 73.5567 11.7491C73.5985 11.689 73.6597 11.6451 73.73 11.6247C74.0759 11.499 74.442 11.438 74.81 11.4447C75.177 11.4122 75.5453 11.4901 75.8678 11.6682C76.1902 11.8464 76.4522 12.1168 76.62 12.4447C76.9421 12.1189 77.3273 11.8622 77.752 11.6902C78.1767 11.5183 78.632 11.4347 79.09 11.4447ZM77.53 16.8147C77.7083 17.0011 77.9225 17.1494 78.1597 17.2507C78.3969 17.352 78.6521 17.4042 78.91 17.4042C79.1679 17.4042 79.4232 17.352 79.6603 17.2507C79.8975 17.1494 80.1117 17.0011 80.29 16.8147C80.6656 16.3958 80.8629 15.8469 80.84 15.2847C80.8662 14.7221 80.6684 14.1719 80.29 13.7547C80.1117 13.5684 79.8975 13.4201 79.6603 13.3188C79.4232 13.2174 79.1679 13.1652 78.91 13.1652C78.6521 13.1652 78.3969 13.2174 78.1597 13.3188C77.9225 13.4201 77.7083 13.5684 77.53 13.7547C77.1662 14.1793 76.9768 14.726 77 15.2847C76.9797 15.843 77.1688 16.3887 77.53 16.8147Z"
fill="currentColor"></path>
<path
d="M87.77 19.2047C86.8723 19.2416 85.9822 19.0269 85.2 18.5847C84.8862 18.3957 84.619 18.1384 84.4181 17.832C84.2173 17.5256 84.0881 17.1779 84.04 16.8147C84.04 16.6147 84.11 16.5147 84.33 16.5147H85.8C85.8699 16.5175 85.9378 16.5394 85.996 16.5783C86.0542 16.6171 86.1006 16.6712 86.13 16.7347C86.34 17.2747 86.89 17.5447 87.77 17.5447C88.077 17.5588 88.3826 17.4969 88.66 17.3647C88.7558 17.3215 88.8379 17.2531 88.8978 17.1668C88.9577 17.0805 88.993 16.9795 89 16.8747C89 16.6147 88.84 16.4347 88.52 16.3147C88.1405 16.1884 87.7481 16.1045 87.35 16.0647C86.8785 16.0113 86.4109 15.9278 85.95 15.8147C85.5018 15.7133 85.0943 15.4799 84.78 15.1447C84.5949 14.9169 84.4587 14.6534 84.3797 14.3707C84.3008 14.088 84.2809 13.792 84.3212 13.5013C84.3616 13.2105 84.4613 12.9311 84.6142 12.6806C84.7671 12.43 84.9699 12.2136 85.21 12.0447C85.9308 11.5856 86.7765 11.3619 87.63 11.4047C88.4564 11.3768 89.274 11.5812 89.99 11.9947C90.2786 12.1582 90.527 12.3839 90.7173 12.6555C90.9076 12.9271 91.0349 13.2377 91.09 13.5647C91.09 13.7647 91 13.8647 90.82 13.8647H89.34C89.2777 13.8684 89.2157 13.8532 89.1622 13.8211C89.1087 13.789 89.0661 13.7414 89.04 13.6847C88.9411 13.4479 88.7549 13.2581 88.52 13.1547C88.255 13.0161 87.959 12.9472 87.66 12.9547C87.3669 12.9388 87.0745 12.9973 86.81 13.1247C86.7168 13.1607 86.6366 13.2237 86.5795 13.3057C86.5225 13.3877 86.4913 13.4849 86.49 13.5847C86.4964 13.7215 86.5465 13.8526 86.6329 13.9588C86.7193 14.065 86.8374 14.1406 86.97 14.1747C87.354 14.3195 87.7533 14.4201 88.16 14.4747C88.6277 14.5363 89.0917 14.6231 89.55 14.7347C89.9982 14.8362 90.4057 15.0695 90.72 15.4047C90.8882 15.5894 91.018 15.8055 91.1021 16.0407C91.1862 16.2758 91.2229 16.5253 91.21 16.7747C91.2186 17.1204 91.1375 17.4624 90.9745 17.7674C90.8115 18.0723 90.5722 18.3298 90.28 18.5147C89.5329 18.9944 88.6574 19.235 87.77 19.2047Z"
fill="currentColor"></path>
<path
d="M101.78 18.7047C101.786 18.7402 101.784 18.7765 101.776 18.8114C101.767 18.8464 101.752 18.8792 101.73 18.9081C101.709 18.937 101.682 18.9613 101.651 18.9796C101.62 18.9979 101.586 19.0098 101.55 19.0147C101.185 19.1339 100.804 19.198 100.42 19.2047C100.04 19.2441 99.656 19.1847 99.306 19.0323C98.955 18.8799 98.65 18.6396 98.42 18.3347C97.714 18.942 96.8 19.2536 95.87 19.2047C95.438 19.2246 95.007 19.1539 94.604 18.9972C94.201 18.8405 93.835 18.6012 93.53 18.2947C93.227 17.9736 92.9922 17.5946 92.8392 17.1805C92.6863 16.7664 92.6186 16.3257 92.64 15.8847V11.9747C92.64 11.7847 92.73 11.6847 92.92 11.6847H94.6C94.79 11.6847 94.88 11.7847 94.88 11.9747V15.5847C94.862 16.0345 95.015 16.4743 95.31 16.8147C95.457 16.9707 95.636 17.0933 95.834 17.1744C96.032 17.2555 96.246 17.2931 96.46 17.2847C96.679 17.2943 96.898 17.2604 97.104 17.1848C97.31 17.1093 97.499 16.9937 97.66 16.8447C97.812 16.6877 97.931 16.5011 98.008 16.2964C98.086 16.0917 98.12 15.8733 98.11 15.6547V11.9747C98.11 11.7847 98.2 11.6847 98.39 11.6847H100.09C100.28 11.6847 100.37 11.7847 100.37 11.9747V16.6847C100.37 17.0747 100.54 17.2647 100.87 17.2647C101.025 17.2707 101.18 17.2539 101.33 17.2147C101.368 17.2041 101.408 17.2022 101.446 17.2092C101.485 17.2161 101.521 17.2317 101.553 17.2548C101.585 17.2779 101.611 17.3079 101.63 17.3425C101.648 17.3771 101.658 17.4155 101.66 17.4547L101.78 18.7047Z"
fill="currentColor"></path>
<path
d="M117.67 18.7047C117.679 18.7405 117.68 18.7779 117.673 18.8141C117.665 18.8502 117.65 18.8844 117.628 18.914C117.606 18.9436 117.578 18.968 117.545 18.9854C117.513 19.0029 117.477 19.0129 117.44 19.0147C117.068 19.1356 116.681 19.1997 116.29 19.2047C115.695 19.2354 115.108 19.0665 114.62 18.7247C114.409 18.5783 114.238 18.3822 114.121 18.1537C114.004 17.9252 113.945 17.6713 113.95 17.4147V15.0647C113.971 14.6163 113.821 14.1766 113.53 13.8347C113.39 13.6784 113.216 13.5552 113.023 13.4739C112.829 13.3927 112.62 13.3554 112.41 13.3647C112.221 13.3576 112.033 13.3935 111.859 13.4697C111.686 13.5459 111.533 13.6605 111.41 13.8047C111.146 14.1398 111.011 14.5586 111.03 14.9847V18.6747C111.03 18.8647 110.94 18.9647 110.75 18.9647H109.06C109.021 18.9696 108.981 18.9654 108.944 18.9526C108.906 18.9397 108.872 18.9185 108.844 18.8905C108.816 18.8626 108.795 18.8286 108.782 18.7912C108.769 18.7538 108.765 18.714 108.77 18.6747V15.0647C108.792 14.6212 108.653 14.1846 108.38 13.8347C108.258 13.6877 108.105 13.5694 107.932 13.4882C107.76 13.407 107.571 13.3648 107.38 13.3647C107.176 13.3565 106.973 13.3914 106.783 13.4673C106.593 13.5431 106.422 13.6581 106.28 13.8047C105.994 14.1291 105.847 14.5529 105.87 14.9847V18.6747C105.875 18.714 105.871 18.7538 105.858 18.7912C105.845 18.8286 105.824 18.8626 105.796 18.8905C105.768 18.9185 105.734 18.9397 105.697 18.9526C105.659 18.9654 105.619 18.9696 105.58 18.9647H103.95C103.76 18.9647 103.67 18.8647 103.67 18.6747V13.9647C103.682 13.8845 103.675 13.8027 103.649 13.7257C103.624 13.6488 103.581 13.5788 103.523 13.5215C103.466 13.4642 103.396 13.4211 103.319 13.3956C103.242 13.3701 103.16 13.363 103.08 13.3747H102.75C102.53 13.3747 102.42 13.2947 102.42 13.1347V11.9547C102.415 11.8817 102.435 11.8091 102.477 11.7491C102.519 11.689 102.58 11.6451 102.65 11.6247C102.996 11.499 103.362 11.438 103.73 11.4447C104.083 11.4146 104.438 11.485 104.753 11.6478C105.068 11.8106 105.33 12.0591 105.51 12.3647C105.847 12.045 106.247 11.7982 106.684 11.6399C107.121 11.4816 107.586 11.4152 108.05 11.4447C108.501 11.4227 108.95 11.5072 109.362 11.6914C109.774 11.8756 110.136 12.1542 110.42 12.5047C110.751 12.145 111.158 11.8634 111.611 11.68C112.064 11.4967 112.552 11.4164 113.04 11.4447C113.476 11.4243 113.912 11.4946 114.32 11.6513C114.728 11.8079 115.099 12.0474 115.41 12.3547C115.714 12.6752 115.949 13.0541 116.102 13.4684C116.255 13.8826 116.323 14.3237 116.3 14.7647V16.6947C116.3 17.0747 116.47 17.2647 116.79 17.2647C116.945 17.2719 117.1 17.2551 117.25 17.2147C117.457 17.2147 117.567 17.2947 117.58 17.4547L117.67 18.7047Z"
fill="currentColor"></path>
<path
d="M0.41 10.3847C1.14777 7.4194 2.85643 4.7861 5.2639 2.90424C7.6714 1.02234 10.6393 0 13.695 0C16.7507 0 19.7186 1.02234 22.1261 2.90424C24.5336 4.7861 26.2422 7.4194 26.98 10.3847H25.78C23.7557 10.3549 21.7729 10.9599 20.11 12.1147C20.014 12.1842 19.9138 12.2477 19.81 12.3047H19.67C19.5662 12.2477 19.466 12.1842 19.37 12.1147C17.6924 10.9866 15.7166 10.3841 13.695 10.3841C11.6734 10.3841 9.6976 10.9866 8.02 12.1147C7.924 12.1842 7.8238 12.2477 7.72 12.3047H7.58C7.4762 12.2477 7.376 12.1842 7.28 12.1147C5.6171 10.9599 3.6343 10.3549 1.61 10.3847H0.41ZM23.62 16.6547C24.236 16.175 24.9995 15.924 25.78 15.9447H27.39V12.7347H25.78C24.4052 12.7181 23.0619 13.146 21.95 13.9547C21.3243 14.416 20.5674 14.6649 19.79 14.6649C19.0126 14.6649 18.2557 14.416 17.63 13.9547C16.4899 13.1611 15.1341 12.7356 13.745 12.7356C12.3559 12.7356 11.0001 13.1611 9.86 13.9547C9.2343 14.416 8.4774 14.6649 7.7 14.6649C6.9226 14.6649 6.1657 14.416 5.54 13.9547C4.4144 13.1356 3.0518 12.7072 1.66 12.7347H0V15.9447H1.61C2.39051 15.924 3.154 16.175 3.77 16.6547C4.908 17.4489 6.2623 17.8747 7.65 17.8747C9.0377 17.8747 10.392 17.4489 11.53 16.6547C12.1468 16.1765 12.9097 15.9257 13.69 15.9447C14.4708 15.9223 15.2348 16.1735 15.85 16.6547C16.9901 17.4484 18.3459 17.8738 19.735 17.8738C21.1241 17.8738 22.4799 17.4484 23.62 16.6547ZM23.62 22.3947C24.236 21.915 24.9995 21.664 25.78 21.6847H27.39V18.4747H25.78C24.4052 18.4581 23.0619 18.886 21.95 19.6947C21.3243 20.156 20.5674 20.4049 19.79 20.4049C19.0126 20.4049 18.2557 20.156 17.63 19.6947C16.4899 18.9011 15.1341 18.4757 13.745 18.4757C12.3559 18.4757 11.0001 18.9011 9.86 19.6947C9.2343 20.156 8.4774 20.4049 7.7 20.4049C6.9226 20.4049 6.1657 20.156 5.54 19.6947C4.4144 18.8757 3.0518 18.4472 1.66 18.4747H0V21.6847H1.61C2.39051 21.664 3.154 21.915 3.77 22.3947C4.908 23.1889 6.2623 23.6147 7.65 23.6147C9.0377 23.6147 10.392 23.1889 11.53 22.3947C12.1468 21.9165 12.9097 21.6657 13.69 21.6847C14.4708 21.6623 15.2348 21.9135 15.85 22.3947C16.9901 23.1884 18.3459 23.6138 19.735 23.6138C21.1241 23.6138 22.4799 23.1884 23.62 22.3947Z"
fill="currentColor"></path>
</svg>
</div>
<p class="mx-auto mt-6 max-w-md text-center leading-relaxed text-gray-500 dark:text-gray-400">
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Incidunt
consequuntur amet culpa cum itaque neque.
</p>
<nav aria-label="Footer Nav" class="mt-12">
<ul class="flex flex-wrap justify-center gap-6 md:gap-8 lg:gap-12">
<li>
<a class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75"
href="http://localhost:3000/">
About
</a>
</li>
<li>
<a class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75"
href="http://localhost:3000/">
Careers
</a>
</li>
<li>
<a class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75"
href="http://localhost:3000/">
History
</a>
</li>
<li>
<a class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75"
href="http://localhost:3000/">
Services
</a>
</li>
<li>
<a class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75"
href="http://localhost:3000/">
Projects
</a>
</li>
<li>
<a class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75"
href="http://localhost:3000/">
Blog
</a>
</li>
</ul>
</nav>
<ul class="mt-12 flex justify-center gap-6 md:gap-8">
<li>
<a href="http://localhost:3000/" rel="noreferrer" target="_blank"
class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75">
<span class="sr-only">Facebook</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"
clip-rule="evenodd"></path>
</svg>
</a>
</li>
<li>
<a href="http://localhost:3000/" rel="noreferrer" target="_blank"
class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75">
<span class="sr-only">Instagram</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z"
clip-rule="evenodd"></path>
</svg>
</a>
</li>
<li>
<a href="http://localhost:3000/" rel="noreferrer" target="_blank"
class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75">
<span class="sr-only">Twitter</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path
d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84">
</path>
</svg>
</a>
</li>
<li>
<a href="http://localhost:3000/" rel="noreferrer" target="_blank"
class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75">
<span class="sr-only">GitHub</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
clip-rule="evenodd"></path>
</svg>
</a>
</li>
<li>
<a href="http://localhost:3000/" rel="noreferrer" target="_blank"
class="text-gray-700 transition hover:text-gray-700/75 dark:text-white dark:hover:text-white/75">
<span class="sr-only">Dribbble</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z"
clip-rule="evenodd"></path>
</svg>
</a>
</li>
</ul>
</div>
</footer>
<script>
if (localStorage.getItem('color-theme') === 'dark' || (!('color-theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document
.documentElement
.classList
.add('dark');
} else {
document
.documentElement
.classList
.remove('dark')
}
var themeToggleDarkIcon = document.getElementById('theme-toggle-dark-icon');
var themeToggleLightIcon = document.getElementById('theme-toggle-light-icon');
// Change the icons inside the button based on previous settings
if (localStorage.getItem('color-theme') === 'dark' || (!('color-theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
themeToggleLightIcon
.classList
.remove('hidden');
} else {
themeToggleDarkIcon
.classList
.remove('hidden');
}
var themeToggleBtn = document.getElementById('theme-toggle');
themeToggleBtn.addEventListener('click', function () {
// toggle icons inside button
themeToggleDarkIcon
.classList
.toggle('hidden');
themeToggleLightIcon
.classList
.toggle('hidden');
// if set via local storage previously
if (localStorage.getItem('color-theme')) {
if (localStorage.getItem('color-theme') === 'light') {
document
.documentElement
.classList
.add('dark');
localStorage.setItem('color-theme', 'dark');
} else {
document
.documentElement
.classList
.remove('dark');
localStorage.setItem('color-theme', 'light');
}
// if NOT set via local storage previously
} else {
if (document.documentElement.classList.contains('dark')) {
document
.documentElement
.classList
.remove('dark');
localStorage.setItem('color-theme', 'light');
} else {
document
.documentElement
.classList
.add('dark');
localStorage.setItem('color-theme', 'dark');
}
}
});
</script>
<script src="./index.js"></script>
</body>
</html>
// The first method to add TOC in javascript
var defaults = {
levels: "h2, h3, h4, h5, h6",
listType: "ul",
listClass: "my-list",
anchorClass:'my-anchor'
};
// Target the element in DOM
const target = document.querySelector("#tableOfContect");
const headings = document?.querySelectorAll(defaults.levels)
let olElement = document.createElement(defaults.listType)
olElement.classList.add("toc-top-class")
for (let index = 0; index < headings.length; index++) {
let elementName = headings[index].localName
let slugify = headings[index].outerText.toLowerCase().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '').split(" ").join("-")
headings[index].setAttribute("id", slugify)
let listElement = document.createElement("li")
listElement.classList.add(defaults.listClass)
let anchorElement = document.createElement("a")
anchorElement.classList.add(defaults.anchorClass)
anchorElement.innerText = headings[index].outerText
anchorElement.href = `#${slugify}`
target.appendChild(olElement);
olElement.appendChild(listElement);
listElement.appendChild(anchorElement);
}
// The second method to add TOC in javascript
// Settings & Defaults
var defaults = {
levels: "h2, h3, h4, h5, h6",
listType: "ul",
innerListType:"ul"
};
// Target the element in DOM
const target = document.querySelector("#tableOfContect");
const headings = document?.querySelectorAll(defaults.levels)
let olElement = document.createElement(defaults.listType)
olElement.classList.add("toc-top-class")
let listOfHeadings= [...headings].map(
value=> { return {localName: value.localName, outerText: value.outerText}}
)
console.log(listOfHeadings,' listOfHeadings ');
let perious = 0
var periousId = null
for (let index = 0; index < headings.length; index++) {
let current = [...headings[index].localName][1]
// string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '');
let slugify = headings[index].outerText.toLowerCase().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, '').split(" ").join("-")
headings[index].setAttribute("id", slugify)
console.log(perious,'and',current,' value');
if (index===0) {
perious = current
let listElement = document.createElement("li")
let TempUniqeId=`${slugify}-${perious}`
listElement.setAttribute("id", TempUniqeId)
periousId = TempUniqeId;
let anchorElement = document.createElement("a")
anchorElement.innerText = headings[index].outerText + " " + headings[index].localName
anchorElement.href = `#${slugify}`
target.appendChild(olElement);
olElement.appendChild(listElement);
listElement.appendChild(anchorElement);
}
if (perious < current) {
const periousTarget = document.querySelector(`#${periousId}`);
let periousElement = document.createElement(defaults.innerListType)
periousElement.classList.add("toc-inner-class")
perious = current
periousId = headings[index].getAttribute('id')
let listElement = document.createElement("li")
let TempUniqeId=`${slugify}-${perious}`
listElement.setAttribute("id", TempUniqeId)
periousId = TempUniqeId;
let anchorElement = document.createElement("a")
anchorElement.innerText = headings[index].outerText + " " + headings[index].localName
anchorElement.href = `#${slugify}`
periousTarget.appendChild(periousElement);
periousElement.appendChild(listElement);
listElement.appendChild(anchorElement);
} else if(perious > current) {
perious = current
let listElement = document.createElement("li")
let TempUniqeId=`${slugify}-${perious}`
listElement.setAttribute("id", TempUniqeId)
periousId = TempUniqeId;
let anchorElement = document.createElement("a")
anchorElement.innerText = headings[index].outerText + " " + headings[index].localName
anchorElement.href = `#${slugify}`
target.appendChild(olElement);
olElement.appendChild(listElement);
listElement.appendChild(anchorElement);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment