I am building a website using Gatsby and Bulma. In my Nav.js
file, where I create a general format for the buttons at the top of the website, I have a few buttons using Bulma to which I would like to add icons inside. I went off the documentation for adding Bulma buttons with Font Awesome Icons: https://bulma.io/documentation/elements/button/. My code is exactly the same, other that the fact that I have my buttons wrapped in an <a>
tag to link to other pages in my website. I have the included <script>
file listed in documentation to have Font Awesome Icons available, and my code looks as such:
const Nav = () => {
return (
<div style={{ margin: `3rem auto`, maxWidth: 650, padding: `0 1rem` }}>
<nav>
<script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script>
<p class="buttons is-outlined is-centered">
<a href="/"><button class="button is-outlined"> <span class="icon">
<i class="fas fa-home"></i>
</span>
<span>Home</span>
</button></a>
<a href="/projects"><button class="button is-outlined">Projects</button></a>
<a href="/experience"><button class="button is-outlined">Experience</button></a>
</p>
</nav>
</div>
)
}
I'm not sure if I have the script
located in the correct part of the file, and I've only tried to put an icon for my Home button which looks like this:
The gap to the left of the "Home" is where I'm guessing the icon should be. I would appreciate any help as to why the icon is not showing up or is showing up blank. Thank you!
With the help of a friend, what solved the issue was putting the <script>
tag in the public/index.html
file of the project, and then making an exact copy and naming it index.html
and putting it in the static
folder in the project. This way, each time a Gatsby server is ran, it will create a copy of the index.html
file in the public
repository with the Font Awesome Icon script included.