Skip to content

Commit 77b12e2

Browse files
authored
Merge pull request #30 from igormcsouza/feature/add-news-section
Feature/add news section
2 parents 62d0a09 + 832bf71 commit 77b12e2

File tree

4 files changed

+71
-1
lines changed

4 files changed

+71
-1
lines changed

assets/js/fetch_news.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
fetch('https://news-api-d1e5.herokuapp.com/fetch', {
2+
method: 'POST',
3+
body: JSON.stringify({topic: "Machine Learning"}),
4+
headers: {'Content-Type': 'application/json'}
5+
}).then(function (response) {
6+
// The API call was successful!
7+
if (response.ok) {
8+
return response.json();
9+
} else {
10+
return Promise.reject(response);
11+
}
12+
}).then(function (data) {
13+
// This is the JSON from our response
14+
newsFromApi = document.getElementById("news-from-api")
15+
loading = document.getElementById("news-from-api-loading")
16+
17+
newsFromApi.removeChild(loading)
18+
19+
for (i in data['headlines']) {
20+
let htmlstring = `
21+
<div class="card-body">
22+
<h5 class="card-title">${data['headlines'][i][0]}</h5>
23+
<p class="card-text">
24+
${data['headlines'][i][2]}
25+
</p>
26+
<a href="https://${data['headlines'][i][1]}" class="btn btn-primary">
27+
More
28+
</a>
29+
</div>
30+
`
31+
let div = document.createElement('div')
32+
div.innerHTML = htmlstring.trim()
33+
div.className = "card col-lg-3 col-md-4 col-sm-6"
34+
35+
newsFromApi.appendChild(div)
36+
if (i == 11) break
37+
}
38+
console.log(data);
39+
}).catch(function (err) {
40+
// There was an error
41+
console.warn('Something went wrong.', err);
42+
});

blog/articles/2021-09-01-welcome.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
<li class="nav-item">
3434
<a class="nav-link" href="/#Projects">Projects</a>
3535
</li>
36+
<li class="nav-item">
37+
<a class="nav-link" href="/#News">News</a>
38+
</li>
3639
<li class="nav-item">
3740
<a class="nav-link" href="/blog/">Blog</a>
3841
</li>

blog/index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
<li class="nav-item">
3333
<a class="nav-link" href="/#Projects">Projects</a>
3434
</li>
35+
<li class="nav-item">
36+
<a class="nav-link" href="/#News">News</a>
37+
</li>
3538
<li class="nav-item">
3639
<a class="nav-link" href="/blog/">Blog</a>
3740
</li>

index.html

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
<li class="nav-item">
3333
<a class="nav-link" href="/#Projects">Projects</a>
3434
</li>
35+
<li class="nav-item">
36+
<a class="nav-link" href="/#News">News</a>
37+
</li>
3538
<li class="nav-item">
3639
<a class="nav-link" href="/blog/">Blog</a>
3740
</li>
@@ -160,7 +163,24 @@ <h5 class="card-title">Pymetaheuristics</h5>
160163
</div>
161164
</div>
162165
</div>
163-
<div class="d-flex justify-content-center my-3">
166+
<div id="News" class="container my-3">
167+
<div class="card my-3">
168+
<div class="card-body">
169+
<p class="h2 mb-0">News</p>
170+
</div>
171+
</div>
172+
173+
<div id="news-from-api" class="row d-flex justify-content-between mx-0">
174+
<div id="news-from-api-loading" class="d-flex justify-content-center">
175+
<div class="spinner-border text-secondary" style="width: 4rem; height: 4rem;" role="status">
176+
<span class="visually-hidden">Loading...</span>
177+
</div>
178+
</div>
179+
</div>
180+
</div>
181+
182+
<!-- Back to top -->
183+
<div class="d-flex justify-content-center my-5">
164184
<a class="btn btn-seconday" role="button" href="#">
165185
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" class="bi bi-arrow-up-circle-fill" viewBox="0 0 16 16">
166186
<path d="M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z"/>
@@ -204,5 +224,7 @@ <h6 class="card-title">Follow-me also on my social medias</h6>
204224
<!-- Add javascript -->
205225
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
206226
<script src="/assets/js/index.js"></script>
227+
<!-- Fetch news from News API -->
228+
<script src="/assets/js/fetch_news.js"></script>
207229
</body>
208230
</html>

0 commit comments

Comments
 (0)