A sleek, fast, and fully customizable portfolio for everyone
View Live »
Quickstart
·
Report Bug
·
Request Feature
Table of Contents
MonoSlate is a black & white theme portfolio website template that you can quickly setup and customize to make it your own. The design is sleek yet well-organized with multiple sections to suit your needs regardless of which background you come from.
This project is a fork of v4 of Brittany Chiang's portfolio website which is quite awesome. Make sure to check that out as well.
The key features are:
- Sleek Design: Modern, minimalist and consistent design.
- Organized Sections: Essential sections that suit everyone and are easy and intuitive to nagivate.
- Customizable Content: Effortlessly update your content and sections with zero coding work.
- Free Hosting: Quickly and easily deploy your portfolio website for free on Netlify or Github Pages.
To get a local copy up and running follow these simple steps:
Make sure that you have Node.js installed as it would help in running the Gatsby server and yarn for installing the dependencies.
-
Clone the repo
git clone https://github.com/biswajit-k/MonoSlate.git
-
Install the Gatsby CLI
npm install -g gatsby-cli
-
Install dependencies
yarn
-
Start the development server
npm start
Finally, below services will be running-
- Website:
http://localhost:8000
- GraphiQL Server:
http://localhost:8000/___graphql
-
Generate a full static production build
npm run build
-
Preview the site as it will appear once deployed
npm run serve
├── gatsby-config.js
├── gatsby-node.js
├── prettier.config.js
├── .babelrc
├── .editorconfig
├── .eslintrc
├── README.md
├── LICENSE
├── package.json
└── content
└── about
└── draft
└── jobs
└── posts
└── projects
└── resume
└── src
└── components
├── icons
├── sections
├── *layout files*
└── fonts
└── hooks
└── images
└── icons
├── logo.png
└── pages
└── styles
├── GlobalStyle.js
├── variables.js
└── templates
└── utils
├── config.js
└── static
├── resume.pdf
Below are some details for important files you would deal with while customizing the template for your use:
-
content
folder contains all your personal details that would be automatically fetched and reflected on the website. Also theconfig.js
file insidesrc
folder with your details. -
src
folder contains all the source files for any customization. -
images
folder contains logo images. -
components
folder contains the layout files like header, footer, etc. -
pages
folder contains all the pages of the website. You can add your own page folder which would be accessible athttps://localhost:8000/<folder-name>
. -
styles
folder contains the common styling used in the website. For customizations, you would mostly work withGlobalStyle.js
andvariables.js
files. -
static
folder contains all the static files you would want to serve in your website. These can also be accessed athttps://localhost:8000/<file-name>
directly. -
gatsby-config.js
andgatsby-node.js
files contain some other details like plugins and metadata that you might want to look at.
Note
If you wish to only modify the content and keep the design the same, you just have to modify the content
, static
folders and config.js
files. That's it.
The template is ready to be used, however like always, there is some scope for improvement that I see which I have listed below:
Code Refactoring
There is a lot of code, especially styling which is redundant. Also, some parts of extraneous code exist.
Template Usability
Overall, the current template provides good flexibility in customizing content. However, some improvements can be made to improve it further like the option to add a custom logo, flexibility in changing the design, re-arranging sections like lego blocks and more.
Improving Accessibility
General HTML needs to be replaced with semantic versions, navigating sections through keyboard navigation, use of ARIA attributes and other practices for improving accessibility need to be implemented.
Featured Section Design
I want to have a different design for the featured section on the home page. The current one doesn't completely sync with the overall design.
Apart from that, I am open to more suggestions. You can always open an issue and we can discuss and build on it further.
See the contribution section on how to propose improvements.
Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Don't forget to give the project a star! Thanks again!