initial commit

This commit is contained in:
Shuvam Khamrui
2025-06-11 21:00:46 +05:30
commit df0e0f9481
191 changed files with 18146 additions and 0 deletions

353
static/css/main.css Normal file
View File

@@ -0,0 +1,353 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--dark-black-1: hsl(215.56deg 31.03% 17.06%);
--dark-black-2: hsl(215.38deg 28.47% 26.86%);
--gray: hsl(217.24deg 21.17% 26.86%);
--gray-text: hsl(213.6deg 15.53% 68.43%);
--bg-color: hsl(0, 40%, 5%);
--text-color: hsl(0, 40%, 90%);
--story-submit-btn-bg-color: hsl(180, 30%, 50%);
}
html {
font-size: 62.5%;
}
body {
background-color: var(--text-color);
min-height: 100vh;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
nav {
width: 100%;
padding: 2rem 4%;
display: flex;
align-items: center;
justify-content: space-between;
background-color: var(--story-submit-btn-bg-color);
}
/* .pagefind-ui__form {
padding: 0.5rem 0.8rem;
background-color: var(--dark-black-1);
flex: 1;
border: none;
outline: none;
font-size: 1.4rem;
&::before {
content: "\f002";
color: var(--gray-text);
position: absolute;
left: 0;
top: 0;
background-color: var(--dark-black-2);
}
}
.pagefind-ui__search-input {
background-color: var(--dark-black-2);
border: none;
outline: none;
font-size: 1.4rem;
padding: 1rem;
width: 100%;
&::placeholder {
color: var(--gray-text);
}
}
.pagefind-ui__search-clear {
display: none;
} */
/* dropdown */
.dropbtn {
background-color: var(--dark-black-2);
color: var(--text-color);
padding: 16px;
text-transform: uppercase;
font-size: 16px;
font-weight: 700;
border: none;
cursor: pointer;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: var(--dark-black-2);
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
right: 0;
}
/* Links inside the dropdown */
.dropdown-content a {
color: var(--text-color);
padding: 12px 16px;
font-size: 1.6rem;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {
background-color: hsl(from var(--dark-black-2) h s 30%);
}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: var(--dark-black-1);
}
main {
width: 100%;
}
.hero {
width: 100%;
min-height: 40rem;
display: grid;
gap: 2rem;
padding: 2rem 4%;
grid-template-columns: repeat(4, 1fr);
}
h1 {
font-size: 4rem;
color: var(--bg-color);
}
p {
font-size: 2.5rem;
font-weight: 200;
color: var(--bg-color);
}
.hero > div:first-child {
grid-column: 1/3;
height: 100%;
display: flex;
gap: 2rem;
justify-content: center;
flex-direction: column;
}
.tags_categories {
grid-column: 3/5;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2rem;
}
.tags_list,
.category_list {
width: 100%;
padding: 2rem 4rem;
background-color: var(--dark-black-1);
h3 {
font-size: 2.5rem;
text-transform: uppercase;
margin-bottom: 1.5rem;
color: var(--gray-text);
}
ul {
list-style: none;
display: flex;
align-items: center;
row-gap: 2.5rem;
column-gap: 1rem;
flex-wrap: wrap;
}
}
.chip a {
font-size: 1.8rem;
color: var(--text-color);
text-decoration: none;
text-transform: capitalize;
background-color: var(--gray);
padding: 0.8rem;
border-radius: 0.4rem;
&:hover {
background-color: hsl(from var(--gray) h s 40%);
}
}
.story-btn {
width: 100%;
padding: 2rem;
font-size: 3.5rem;
cursor: pointer;
border: none;
outline: none;
background-color: var(--story-submit-btn-bg-color);
&:hover {
background-color: hsl(from var(--story-submit-btn-bg-color) h s 55%);
}
}
dialog {
margin: auto;
width: 100%;
#closeStoryModal {
padding: 0.5rem 2rem;
font-size: 1.5rem;
cursor: pointer;
color: var(--text-color);
border: none;
outline: none;
background-color: red;
}
}
iframe {
height: 90vh;
width: 100%;
}
.story__grid {
padding: 5rem 2rem;
display: grid;
gap: 3rem 4rem;
grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
}
.story__card {
--border-radius: 0.8rem;
display: flex;
flex-direction: column;
justify-content: start;
border-radius: var(--border-radius);
background-color: var(--gray);
.story__coverImg {
width: 100%;
object-fit: cover;
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
}
.story__card__details {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
gap: 1.2rem;
padding: 1.5rem 1.4rem;
}
.card__title {
color: var(--text-color);
font-size: 2.2rem;
}
.card__description {
color: var(--gray-text);
font-size: 1.2rem;
}
.story__card__icon {
height: 1.5rem;
width: auto;
}
.card__tags_categories {
display: flex;
gap: 0.6rem 1rem;
align-items: center;
flex-wrap: wrap;
a {
font-size: 1rem;
text-decoration: none;
}
}
.category__chip {
background-color: hsl(120, 100%, 30%);
padding: 0.2rem 0.6rem;
color: var(--text-color);
word-break: keep-all;
}
.tag__chip {
color: var(--gray-text);
word-break: keep-all;
}
.hastag {
font-size: 1.8rem;
margin-right: 0.2rem;
}
.publish__date__timeToRead {
display: flex;
align-items: center;
gap: 2rem;
}
.publish__date {
display: flex;
align-items: center;
gap: 0.5rem;
time {
color: var(--gray-text);
font-size: 1.2rem;
}
}
@media (width<=768px) {
.dropbtn {
font-size: 1.4rem;
padding: 1rem;
margin-left: 0.5rem;
}
.hero {
grid-template-columns: 1fr;
h1 {
font-size: 3.5rem;
}
p {
font-size: 1.8rem;
}
}
.hero > div:first-child {
grid-column: 1;
}
.hero > .tags_categories {
grid-column: 1;
}
.tags_list,
.category_list {
padding: 3rem 2rem;
}
.story__grid {
grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
}
}

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M360-300q-42 0-71-29t-29-71q0-42 29-71t71-29q42 0 71 29t29 71q0 42-29 71t-71 29ZM200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Z"/></svg>

After

Width:  |  Height:  |  Size: 405 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="m80-520 200-360 200 360H80Zm200 400q-66 0-113-47t-47-113q0-67 47-113.5T280-440q66 0 113 47t47 113q0 66-47 113t-113 47Zm0-80q33 0 56.5-23.5T360-280q0-33-23.5-56.5T280-360q-33 0-56.5 23.5T200-280q0 33 23.5 56.5T280-200Zm-64-400h128l-64-115-64 115Zm304 480v-320h320v320H520Zm80-80h160v-160H600v160Zm80-320q-57-48-95.5-81T523-659q-23-25-33-47t-10-47q0-45 31.5-76t78.5-31q27 0 50.5 12.5T680-813q16-22 39.5-34.5T770-860q47 0 78.5 31t31.5 76q0 25-10 47t-33 47q-23 25-61.5 58T680-520Zm0-105q72-60 96-85t24-41q0-13-7.5-21t-20.5-8q-10 0-19.5 5.5T729-755l-49 47-49-47q-14-14-23.5-19.5T588-780q-13 0-20.5 8t-7.5 21q0 16 24 41t96 85Zm0-78Zm-400 45Zm0 378Zm400 0Z"/></svg>

After

Width:  |  Height:  |  Size: 774 B

1
static/icons/hastag.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="m240-160 40-160H120l20-80h160l40-160H180l20-80h160l40-160h80l-40 160h160l40-160h80l-40 160h160l-20 80H660l-40 160h160l-20 80H600l-40 160h-80l40-160H360l-40 160h-80Zm140-240h160l40-160H420l-40 160Z"/></svg>

After

Width:  |  Height:  |  Size: 321 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M320-160h320v-120q0-66-47-113t-113-47q-66 0-113 47t-47 113v120Zm160-360q66 0 113-47t47-113v-120H320v120q0 66 47 113t113 47ZM160-80v-80h80v-120q0-61 28.5-114.5T348-480q-51-32-79.5-85.5T240-680v-120h-80v-80h640v80h-80v120q0 61-28.5 114.5T612-480q51 32 79.5 85.5T720-280v120h80v80H160Z"/></svg>

After

Width:  |  Height:  |  Size: 407 B

1
static/icons/person.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M480-480q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 66-47 113t-113 47ZM160-160v-112q0-34 17.5-62.5T224-378q62-31 126-46.5T480-440q66 0 130 15.5T736-378q29 15 46.5 43.5T800-272v112H160Zm80-80h480v-32q0-11-5.5-20T700-306q-54-27-109-40.5T480-360q-56 0-111 13.5T260-306q-9 5-14.5 14t-5.5 20v32Zm240-320q33 0 56.5-23.5T560-640q0-33-23.5-56.5T480-720q-33 0-56.5 23.5T400-640q0 33 23.5 56.5T480-560Zm0-80Zm0 400Z"/></svg>

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB