4 Commits

Author SHA1 Message Date
5f692a4708 gitignore added 2025-12-11 18:22:29 +10:00
b98abb94cc aboba commit 2025-12-10 12:31:34 +10:00
abc37ce5a0 hw3 done 2025-11-13 16:42:59 +10:00
a8f0326fa0 hw3 start 2025-10-31 10:12:28 +10:00
10 changed files with 243 additions and 269 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
**node_modules
**to_reform

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

BIN
images/16x10/rpi-nano.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

BIN
images/remote.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
images/sqesp32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

273
index.css
View File

@@ -1,19 +1,26 @@
/* menu part */ /* menu part */
.menu { .menu {
border-top: double 4px silver; border-top: double thick silver;
border-bottom: double 4px silver; border-bottom: double thick silver;
text-align: right;
font-size: 0; font-size: 0;
display: grid;
grid-template-columns: repeat(7, min-content);
grid-template-rows: 1fr;
justify-items: start;
} }
.menu-item { .menu-item {
display: inline-block; display: inline-block;
width: 8%; width: max-content;
height: 3em; height: 3em;
line-height: 3em; /* to align to center */ line-height: 3em;
/* to align to center */
text-align: center; text-align: center;
vertical-align: middle; vertical-align: middle;
margin: 0 1%; padding: 0 10px;
margin: 0 10px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: medium; font-size: medium;
@@ -23,14 +30,13 @@
.menu .selected { .menu .selected {
color: green; color: green;
font-weight: bold; font-weight: bold;
border-left: double 4px silver; border-left: double thin silver;
border-right: double 4px silver; border-right: double thin silver;
} }
.menu .menu-header { .menu .menu-header {
color: green; color: green;
font-weight: bold; font-weight: bold;
float: left;
} }
.menu a { .menu a {
@@ -38,177 +44,154 @@
} }
/* 4 images part */ @media screen and (max-width: 800px) {
.images-container *{ .menu {
border:solid thin black; grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
justify-items: center;
} }
.menu .selected {
border-bottom: double thick silver;
}
}
/* 3 images part */
.images-container { .images-container {
display: flex;
flex-direction: row;
width: 90%; width: 90%;
height: 200pt;
margin: auto; margin: auto;
overflow: hidden;
} }
.half-size { .images-container>img {
width: 49%; margin: auto;
margin: 0.2%;
float: left;
}
.quarter-size {
width: 24%;
margin: 0.2%;
float: left;
}
.image-column-container {
width: 24%;
height:100%;
margin: 0.15%;
float: left;
}
.image-column-container > div {
width:100%; width:100%;
height: 50%; border: thin solid black;
margin-bottom: 1.4%;
overflow: hidden;
/* text-align: center; */
} }
.images-container>img:nth-child(2n+1) {
.images-container img{ margin-top: 10px;
width:100%
} }
/* main block part */ @media screen and (max-width: 800px) {
.images-container {
.main-block{ display: inline-flex;
width:80%; flex-direction: column;
margin:1.2% auto; width: 100%;
} }
.main-column{
display: inline-block; .images-container>img {
width:25%; width: 100%;
}
.main-center{
vertical-align: top;
width: 48%;
height: 100%; height: 100%;
display: inline-block;
} }
.img-margin-fix { .images-container>img:nth-child(2n+1) {
margin-right:10px; margin-top: 0px;
} }
.info-block{
height:10%;
padding: 5%;
}
.bg-aqua{
background: #80DEEA;
}
.bg-grey{
background: #B0BFC6;
}
.bg-blue{
background: #BBDEFA;
}
.bg-yellow{
background: #FFE0B2;
} }
/* text block part */
.info-block-header { .info-block-header {
display: block; display: block;
margin:auto;
text-align: center;
font-size: 1.5em;
font-weight: bold; font-weight: bold;
text-align: center;
} }
.info-block-text{
display: block; .block-border {
border: solid thin black;
padding: 2vw;
margin: 1vw 0;
}
.block-a-container {
display: grid;
grid-template-columns: 3fr 3fr 2fr;
grid-template-rows: 1fr;
}
@media screen and (max-width: 800px) {
.block-a-container {
display: flex;
flex-direction: column;
}
}
.block-b-container {
display: grid;
grid-template-columns: 4fr 7fr 4fr;
grid-template-rows: 1fr;
}
@media screen and (max-width: 800px) {
.block-b-container {
display: flex;
flex-direction: column;
}
}
.h-block>* {
margin: 2vw;
}
.h-block>span,
.h-block>div {
text-align: justify; text-align: justify;
} }
.info-block-image{
margin: 0% 5% 5%; .h-block>img {
width:90%; margin: auto;
overflow: hidden;
}
.info-block-image >img{
width: 100%; width: 100%;
} }
.rounded{ /*small articles part*/
border-radius: 20px; .main-right{
overflow: hidden; border-left: thin solid black;
margin: 30px 0 0 50px;
} }
.info-block-button{ .small-info-block{
float: right; margin: 20px 10px 0 ;
color:white; display: grid;
background-color: #2294F4; grid-template-columns: 1fr 1fr;
border-radius: 5px; grid-template-rows: auto;
} }
.button-left{ @media screen and (max-width: 1000px) {
float: left; .small-info-block {
display: flex;
flex-direction: column;
} }
.pad-down{
margin-top: 40%;
bottom: 0;
} }
/* main block center part */
.center-upper, .center-lower, .center-center{ .small-info-block-header{
/* background-color: lightblue; DEBUG*/ display: block;
margin:5%; font-weight: bold;
}
.info-block-image-small{
display: inline-block;
width: 20%;
height: 100%;
background-color:black ;
overflow: hidden;
vertical-align: top;
}
.info-block-image-small >img{
width: 100%;
}
.align-left{
text-align: left;
}
.align-right{
text-align: right; text-align: right;
} }
.inline {
display: inline-block;
} .small-info-block-image >img{
.info-block-wide-text-container{
width: 75%;
margin: 0 1%;
}
.link{
display: block;
color:gray;
margin-bottom: 0px;
white-space: nowrap;
}
.info-block-image-center{
display: inline-block;
width: 50%;
/* height: 100px; */
background-color:black ;
overflow: hidden;
vertical-align: top;
}
.info-block-image-center >img{
width: 100%; width: 100%;
} }
.small-w{ .small-info-block-text {
vertical-align: top; text-align: justify;
width: 23%; }
.small-info-block-text >a{
display: block;
text-align: right;
}
/*main part*/
.main{
display: grid;
grid-template-columns: 3fr 1fr;
grid-template-rows: 1fr;
}
@media screen and (max-width: 800px) {
.main {
display: flex;
flex-direction: column;
}
} }

View File

@@ -11,7 +11,6 @@
<body> <body>
<div class="menu"> <div class="menu">
<div class="menu-item menu-header">Portfolio Site </div>
<a href="./index.html"> <a href="./index.html">
<div class="menu-item selected">Home</div> <div class="menu-item selected">Home</div>
</a> </a>
@@ -34,136 +33,113 @@
<div class="images-container"> <div class="images-container">
<div class="half-size"> <img src="./images/sqarucos.png" alt="Arduino">
<img src="./images/arduino.png" alt="Arduino"> <img src="./images/sqstm32.png" alt="Institute">
<img src="./images/sqesp32.png" alt="ESP32">
</div> </div>
<div class="main">
<div class="quarter-size"> <div class="main-center">
<img src="./images/esp32.png" alt="ESP32"> <div class="block-border">
</div>
<div class="image-column-container">
<div>
<img src="./images/institute.png" alt="ESP32">
</div>
<div>
<img src="./images/arucos.png" alt="ESP32">
</div>
</div>
</div>
<div class="main-block">
<div class="main-column">
<div class="info-block rounded bg-aqua">
<span class="info-block-header">Embedded Systems</span> <span class="info-block-header">Embedded Systems</span>
<span class="info-block-text">THad a serval projects with different MCUs and wrote firmware for them. <div class="block-a-container h-block">
<span>Had a serval projects with different MCUs and wrote firmware for them.
My main stack consists of Platformio+EspIdf or Arduino, also tried STM32 My main stack consists of Platformio+EspIdf or Arduino, also tried STM32
</span> </span>
<div class="info-block-image rounded"> <div>
<img src="./images/16x9/esp32.png" alt="ESP32"> <div>I love embeded development beceuse of autonomity of produced devices, the redices are not
dependant on
any other hardware and can work autunomously
</div>
<a href="#"> More info</a>
</div>
<img src="./images/AQ_monitor.png" alt="ESP32">
</div> </div>
<button type="button" class="info-block-button">More info»</button>
</div> </div>
<div class="info-block rounded bg-grey pad-down"> <div class="block-border">
<span class="info-block-header">OpenCV</span> <span class="info-block-header">Embedded Systems</span>
<span class="info-block-text">I love when programs are able to see things or recognise them <div class="block-b-container h-block">
so i had serval projects involding image processing <span>Had a serval projects with different MCUs and wrote firmware for them.
Sadly i'm used to opencv binding in python and not C++ , but that is solvable) My main stack consists of Platformio+EspIdf or Arduino, also tried STM32
</span> </span>
<div class="info-block-image rounded"> <img src="./images/remote.jpeg" alt="ESP32">
<img src="./images/16x9/opencv.png" alt="ESP32"> <div>
</div> <div>I love embeded development device because of autonomity of produced devices, the devices
<button type="button" class="info-block-button">More info»</button> are
</div> not dependant on
any other hardware and can work autunomously or off the grid</div>
<a href="#"> More info</a>
</div> </div>
<div class="main-center">
<div class="center-upper">
<div class="info-block-image-small ">
<img src="./images/sqstm32.png" alt="stm32">
</div> </div>
<div class="inline info-block-wide-text-container "> </div>
<span class="info-block-header align-left">STM 32</span> </div>
<span class="info-block-text ">Chinese STM32 microcontrollers are affordable and compatible with <div class="main-right">
STM32 tools but may face flashing issues due to bootloader differences. Proper connections and <div class="small-info-block">
reliable tools can help resolve these.</span> <div class="small-info-block-text">
<div class="small-info-block-header">Заголовок</div>
<span>
3D printers are versatile tools
used for creating prototypes,
custom parts, and artistic designs.
They work by layering materials.
</span> </span>
<a class="link align-left" href="./index.html">More info»</a> <a href="#">Подробнее»</a>
</div>
<div class="small-info-block-image">
<img src="images/16x10/3d-printer.jpeg" alt="3D Printer">
</div> </div>
</div> </div>
<div class="center-center"> <div class="small-info-block">
<span class="info-block-header">Stephen King's books</span> <div class="small-info-block-text">
<span class="info-block-text inline small-w">Stephen King's books are a fascinating blend of horror, <div class="small-info-block-header">BLHeli ESCs</div>
suspense, and deep <span>
character development. His storytelling captivates readers and keeps them on the edge of their BLHeli ESCs are electronic
seats.</span> speed controllers designed
for drones, offering smooth
<div class="info-block-image-center"> and precise motor control.
<img src="./images/institute.png" alt="ESP32">
</div>
<span class="info-block-text inline small-w">
Especially I love the institute, its architecture, and the vibrant community it fosters. The
institute has been a source of inspiration and growth for me, providing countless opportunities to
learn and collaborate.
<a class="link small-w" href="./index.html">More info»</a>
</span> </span>
<a href="#">Подробнее»</a>
</div> </div>
<div class="center-lower"> <div class="small-info-block-image">
<img src="images/16x10/blheli-esc.jpeg" alt="BLHeli ESC">
<div class="inline info-block-wide-text-container"> </div>
<span class="info-block-header align-right">Arucos</span> </div>
<span class="info-block-text ">ArUco markers are widely used in computer vision for camera <div class="small-info-block">
calibration, pose estimation, and augmented reality applications. They are square fiducial <div class="small-info-block-text">
markers with a unique binary pattern that can be easily detected and identified in <div class="small-info-block-header">Raspberry Pi Nano</div>
images.</span> <span>
Raspberry Pi Nano is a compact
computer ideal for learning,
prototyping, and IoT projects.
It is highly energy-efficient.
</span> </span>
<a class="link align-right" href="./index.html">More info»</a> <a href="#">Подробнее»</a>
</div> </div>
<div class="info-block-image-small"> <div class="small-info-block-image">
<img src="./images/sqarucos.png" alt="ESP32"> <img src="images/16x10/rpi-nano.jpeg" alt="Raspberry Pi Nano">
</div>
</div>
<div class="small-info-block">
<div class="small-info-block-text">
<div class="small-info-block-header">Smart Thermostats</div>
<span>
Smart thermostats help regulate
home temperatures efficiently,
saving energy and enhancing
comfort with automation.
</span>
<a href="#">Подробнее»</a>
</div>
<div class="small-info-block-image">
<img src="images/16x10/thermostat.jpeg" alt="Smart Thermostat">
</div> </div>
</div> </div>
</div> </div>
<div class="main-column">
<div class="info-block rounded bg-blue">
<div class="info-block-image rounded">
<img src="./images/16x9/image0.png" alt="Photography">
</div> </div>
<span class="info-block-header">Photography</span>
<span class="info-block-text">Capturing moments through the lens is a passion of mine. I enjoy exploring
different perspectives and techniques to create different visuals.</span>
<button type="button" class="info-block-button button-left">More info»</button>
</div>
<div class="info-block rounded bg-yellow pad-down">
<div class="info-block-image rounded">
<img src="./images/16x9/AQ_monitor.png" alt="Air Quality Monitor">
</div>
<span class="info-block-header">IoT and Air Quality Monitoring</span>
<span class="info-block-text">The Internet of Things (IoT) enables devices to communicate and share data
seamlessly. One of the applications is air quality monitoring, where sensors collect data on
pollutants and environmental conditions, providing real-time insights to improve health and
safety.</span>
<button type="button" class="info-block-button button-left">More info»</button>
</div>
</div>
</div>
<p>Author: Kulesh <br>
Group: Б9123-09.03.04</p>
</body> </body>
</html> </html>

View File

@@ -3,9 +3,17 @@ h3{
margin: 1vh; margin: 1vh;
} }
a{
/* display: inline-flex;
flex-direction: row;
flex-wrap: wrap;
background-color: gray;
width: 10%; это grid!!!*/
}
.content{ .content{
background-color: lightgreen; background-color: lightgreen;
display: flex; display: inline-flex;
flex-direction: row; flex-direction: row;
flex-wrap: nowrap; flex-wrap: nowrap;
padding:10px; padding:10px;
@@ -30,8 +38,13 @@ h3{
} }
@media (max-width:800px) { @media (max-width:800px) {
.content{ .content{
display: flex;
flex-direction: column; flex-direction: column;
} }
.topic{
width: calc(100%-20px);
/* width:50%; */
}
} }
/* grid part */ /* grid part */