-
Notifications
You must be signed in to change notification settings - Fork 2
/
blog.html
119 lines (103 loc) · 7.67 KB
/
blog.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Praveen Kumar - Blogs</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon2.ico" />
<!-- Custom Google font-->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="stylesheet" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css" rel="stylesheet" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
</head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<!-- Navigation-->
<nav class="navbar navbar-expand-lg navbar-light bg-white py-3">
<div class="container px-5">
<a class="navbar-brand" href="index.html">
<img src="assets/favicon2.png" alt="Logo" style="height: 30px;" class="d-inline-block align-text-top">
<span class="fw-bolder text-primary">Praveen</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ms-auto mb-2 mb-lg-0 small fw-bolder">
<li class="nav-item"><a class="nav-link" href="index.html">Home</a></li>
<li class="nav-item"><a class="nav-link" href="resume.html">Resume</a></li>
<li class="nav-item"><a class="nav-link" href="projects.html">Projects</a></li>
<li class="nav-item"><a class="nav-link" href="blog.html">Blogs</a></li>
<li class="nav-item"><a class="nav-link" href="contact.html">Contact</a></li>
</ul>
</div>
</div>
</nav>
<section>
<div class="container my-6">
<div class="row mb-3 d-flex align-items-stretch">
<div class="col">
<input type="text" id="searchInput" onkeyup="searchBlog()" placeholder="Search for blog titles..." class="form-control">
</div>
</div>
<div class="row d-flex align-items-stretch" id="blogContainer">
<!-- Blog tiles will be inserted here dynamically -->
</div>
</div>
</section>
</main>
<script>
const blogs = [
{ title: "Movie Recommendation System | Python AI Web-Application | Cloud Deployment", image: "assets/blogs/blog-3.png", link: "https://medium.com/analytics-vidhya/movie-recommendation-system-python-flask-web-application-heroku-deployment-7e39492b640c" },
{ title: "14. Introduction to Deep Learning with Computer Vision — Learning Rates & Mathematics — Part 2 (SuperConvergence)", image: "assets/blogs/blog-5.png", link: "https://medium.com/hitchhikers-guide-to-deep-learning/14-introduction-to-deep-learning-with-computer-vision-learning-rates-mathematics-part-2-c5290b492f0b"},
{ title: "13. Introduction to Deep Learning with Computer Vision — Learning Rates & Mathematics — Part 1", image: "assets/blogs/blog-6.png", link: "https://medium.com/hitchhikers-guide-to-deep-learning/13-introduction-to-deep-learning-with-computer-vision-learning-rates-mathematics-part-1-4973aacea801"},
{ title: "12. Introduction to Deep Learning with Computer Vision — Receptive fields", image: "assets/blogs/blog-7.png", link: "https://medium.com/hitchhikers-guide-to-deep-learning/12-introduction-to-deep-learning-with-computer-vision-receptive-fields-93d227ce8fd5"},
{ title: "11. Introduction to Deep Learning with Computer Vision — Image Augmentations", image: "assets/blogs/blog-8.png", link: "https://medium.com/hitchhikers-guide-to-deep-learning/11-introduction-to-deep-learning-with-computer-vision-image-augmentations-f65530a67409"},
{ title: "10. Introduction to Deep Learning with Computer Vision — Types of Convolutions & Atrous Convolutions", image: "assets/blogs/blog-9.gif", link: "https://medium.com/hitchhikers-guide-to-deep-learning/10-introduction-to-deep-learning-with-computer-vision-types-of-convolutions-atrous-convolutions-3cf142f77bc0"},
{ title: "Natural Language Processing — The Next Wave to Prepare for in 2024–25", image: "assets/blogs/blog-1.png", link: "https://medium.com/@inboxpraveen/natural-language-processing-the-next-wave-to-prepare-for-in-2024-25-b432a1345494" },
{ title: "Python Data Models Explained — Object, Type & Identity", image: "assets/blogs/blog-2.png", link: "https://medium.com/@inboxpraveen/python-data-models-explained-object-type-identity-8232d174cca1" },
{ title: "Real-World Problems & How Machine Learning comes into the picture", image: "assets/blogs/blog-4.png", link: "https://medium.com/ai-techsystems/real-world-problems-how-machine-learning-comes-into-the-picture-719463910d39" },
];
function createBlogTiles(blogs) {
if (blogs.length) {
const container = document.getElementById('blogContainer');
container.innerHTML = ''; // Clear the container
blogs.forEach(blog => {
const colDiv = document.createElement('div');
colDiv.classList.add('col-md-4', 'mb-3');
colDiv.innerHTML = `
<div class="card" onclick="location.href='${blog.link}'">
<img src="${blog.image}" class="img-fluid rounded mx-auto d-block" alt="${blog.title}">
<div class="card-body">
<h5 class="card-title">${blog.title}</h5>
</div>
</div>
`;
container.appendChild(colDiv);
});
}
else {
const container = document.getElementById('blogContainer');
container.innerHTML = 'Looks like the search did not match any title.';
}
}
function searchBlog() {
const input = document.getElementById('searchInput');
const filter = input.value.toUpperCase();
const filteredBlogs = blogs.filter(blog => blog.title.toUpperCase().includes(filter));
createBlogTiles(filteredBlogs);
}
// Initialize the blog tiles on page load
createBlogTiles(blogs);
</script>
<!-- Bootstrap core JS-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- Core theme JS-->
<script src="js/scripts.js"></script>
</body>
</html>