From 14fdafebe4884255eb72f69857a8387a685ec70b Mon Sep 17 00:00:00 2001
From: imfunny <36105478+imfunniee@users.noreply.github.com>
Date: Mon, 20 May 2019 14:47:39 +0530
Subject: [PATCH] added commits by @DonIsaac & @Chargnn
* Created site files are now placed in an output directory `dist`
* Added a ton of comments in build.js
* Made functions in build.js use bluebird promises
* Themes are now in the assets/templates folder instead as magic
strings in the source code
* Any number of custom themes (not just light and dark) can be used by creating
a [theme].css file and putting it in assets/themes
* CSS themes are rendered with Handlebars
* CSS themes now rely on Handlebars for specifying the background
* Restored config.json to template file
* Changes to the blogging
* Moved blog templates and config files to assets/blog
* Created blog pages now go to dist/blog/
* Updated blogTemplate
* Updated the README to reflect the changes made by this pull request
* Added link to demo site in README
* Added sorting and ordering
---
CODE_OF_CONDUCT.md | 152 +++++------
README.md | 251 +++++++++---------
assets/index.css | 118 ++++++++-
assets/index.html | 17 +-
assets/themes/dark.css | 62 ++---
assets/themes/light.css | 14 +-
blog.js | 8 +-
build.js | 29 ++-
dist/blog.json | 1 +
dist/config.json | 8 +
dist/index.css | 549 ++++++++++++++++++++++++++++++++++++++++
dist/index.html | 360 ++++++++++++++++++++++++++
populate.js | 150 +++++++----
update.js | 2 +-
14 files changed, 1402 insertions(+), 319 deletions(-)
create mode 100644 dist/blog.json
create mode 100644 dist/config.json
create mode 100644 dist/index.css
create mode 100644 dist/index.html
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index ea317e7..8b36e4e 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,76 +1,76 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, sex characteristics, gender identity and expression,
-level of experience, education, socio-economic status, nationality, personal
-appearance, race, religion, or sexual identity and orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at imfunny@wybemf.com. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, sex characteristics, gender identity and expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at imfunny@wybemf.com. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
diff --git a/README.md b/README.md
index a3ea1d4..c05395f 100644
--- a/README.md
+++ b/README.md
@@ -1,128 +1,123 @@
-
-
-# Gitfolio [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=personal%20website%20and%20a%20blog%20for%20every%20github%20user%20&url=https://github.com/imfunniee/gitfolio) ![GitHub release](https://img.shields.io/github/release/imfunniee/gitfolio.svg) ![GitHub top language](https://img.shields.io/github/languages/top/imfunniee/gitfolio.svg) ![GitHub last commit](https://img.shields.io/github/last-commit/imfunniee/gitfolio.svg) ![GitHub](https://img.shields.io/github/license/imfunniee/gitfolio.svg)
-
-### personal website + blog for every github user
-
-Gitfolio will help you get started with a portfolio website where you could showcase your work + a blog that will help you spread your ideas into real world.
-
-Check out this [live demo](https://imfunniee.github.io/gitfolio/) to see gitfolio in action.
-
-# Getting Started
-
-### Let's Build
-
-```sh
-git clone https://github.com/imfunniee/gitfolio.git # Clone the repo
-cd gitfolio # Navigate into the project folder
-npm i # Install the required dependencies
-```
-
-Gitfolio is now ready to be used. The command
-
-```sh
-node build --name [username]
-```
-
-Will build your website using your GitHub username and put it in the `dist/` folder.
-If you want to use a different folder, you can specify it by setting the `--out` flag.
-
-```sh
-node build --name [username] --out [directory]
-```
-
-To open your site, run
-```sh
-open dist/index.html
-```
-
-If you specified a different output directory, replace `dist/` with the directory you used.
-Congrats, you just made yourself a personal website!
-
-> if you get stuck somewhere or get an error, please create an issue
-
-### Let's Customize
-
-#### Enabling Themes
-
-Themes are specified using the `--theme [theme-name]` flag when running the `build` command. The available themes are
-
-* `light`
-* `dark`
-> TODO: Add more themes
-
-For example, the following command will build the website with the dark theme
-```
-$ node build --name username --theme dark
-```
-
-#### Customize background image
-
-To customize the background image just provide `--background [url]` argument while building
-
-```
-$ node build --name username --background https://images.unsplash.com/photo-1557277770-baf0ca74f908?w=1634
-```
-
-You could also add in your custom CSS inside `index.css` to give it a more personal feel.
-
-
-### Let's Publish
-
-Push the files to github. You can host your website using github pages by naming your repo ``username.github.io``. You can also your custom domain.
-
-### Updating
-
-To update your info, simply run
-
-```
-$ node update
-```
-This will update your info and your repository info.
-
-To Update background or theme you need to run `build` command again.
-
-
-### Add a Blog
-
-To add your first blog run this command, make sure the title don't have spaces instead use "-".
-
-```
-$ node blog --title my-first-blog
-```
-
-This will create a `my-first-blog` folder inside `blog`. Inside `my-first-blog` you will find an `index.html` file which contains all the necessary elements for writing a blog. Customize the content of the file to write your first blog.
-
-This also adds content to `blog.json` file. This file helps in showcasing your blogs on your personal website as [cards](https://imfunniee.github.io/gitfolio/#blog_section). You could customize the JSON object that corresponds your current blog.
-
-Blog Demo? [here](https://imfunniee.github.io/gitfolio/blog/my-first-blog/)
-
-Default JSON Format
-```
-{
- "url_title": "my-first-blog", // the title you provide while creating a new blog, this appears in url
- "title": "Lorem ipsum dolor sit amet", // main title of blog
- "sub_title": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", // sub-title of blog
- "top_image": "https://images.unsplash.com/photo-1553748024-d1b27fb3f960?w=1450", // main image of blog
- "visible": true // don't worry about this
-}
-```
-
-More Arguments for Blog
-
-```
---subtitle [subtitle] : gives blog a subtitle (Deafult : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.')
---pagetitle [pagetitle] : gives blog page a title
---folder [folder] : give folder a title
-```
-
-> (use "-" instead of spaces)
-
-### Enable Blogs
-
-Blog are disabled by default. To enable them head over to `assets/index.html` and find `
`. Remove the style attribute to show your blogs on your personal website.
-
-If you have run build command before adding a blog you need have to remove the style attribute from `index.html` file aswell.
-
-## License
-![GitHub](https://img.shields.io/github/license/imfunniee/gitfolio.svg)
+
+
+# Gitfolio [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=personal%20website%20and%20a%20blog%20for%20every%20github%20user%20&url=https://github.com/imfunniee/gitfolio) ![GitHub release](https://img.shields.io/github/release/imfunniee/gitfolio.svg) ![GitHub top language](https://img.shields.io/github/languages/top/imfunniee/gitfolio.svg) ![GitHub last commit](https://img.shields.io/github/last-commit/imfunniee/gitfolio.svg) ![GitHub](https://img.shields.io/github/license/imfunniee/gitfolio.svg)
+
+### personal website + blog for every github user
+
+Gitfolio will help you get started with a portfolio website where you could showcase your work + a blog that will help you spread your ideas into real world.
+
+Check out this [live demo](https://imfunniee.github.io/gitfolio/) to see gitfolio in action.
+
+# Getting Started
+
+### Let's Build
+
+a. Clone this repo or simply download it.
+```sh
+git clone https://github.com/imfunniee/gitfolio.git
+```
+
+b. `cd` into the repo you just cloned or downloaded.
+```sh
+cd gitfolio # Navigate into the project folder
+npm i # Install the required dependencies
+```
+
+c. Gitfolio is now ready to be used. The command
+
+```sh
+node build --name [username]
+```
+Will build your website using your GitHub username and put it in the `dist/` folder.
+
+d. To run your website navigate to `./dist/index.html` in your browser. [you won't see blogs until you are on localhost]
+
+🎉 Congrats, you just made yourself a personal website!
+
+> if you get stuck somewhere or get an error, please create an issue
+
+### Let's Customize
+
+#### Enabling Themes
+
+Themes are specified using the `--theme [theme-name]` flag when running the `build` command. The available themes are
+
+* `light`
+* `dark`
+> TODO: Add more themes
+
+For example, the following command will build the website with the dark theme
+```
+$ node build --name username --theme dark
+```
+
+#### Customize background image
+
+To customize the background image just provide `--background [url]` argument while building
+
+```
+$ node build --name username --background https://images.unsplash.com/photo-1557277770-baf0ca74f908?w=1634
+```
+
+You could also add in your custom CSS inside `index.css` to give it a more personal feel.
+
+
+### Let's Publish
+
+### Let's Publish
+
+Head over to GitHub and create a new repository named `username.github.io`, where username is your username. Push the files inside`/dist` folder to repo you just created.
+
+Go To `username.github.io` your site should be up!!
+
+
+### Updating
+
+To update your info, simply run
+
+```
+$ node update
+```
+This will update your info and your repository info.
+
+To Update background or theme you need to run `build` command again.
+
+
+### Add a Blog
+
+To add your first blog run this command, make sure the title don't have spaces instead use "-".
+
+```
+$ node blog --title my-first-blog
+```
+
+This will create a `my-first-blog` folder inside `blog`. Inside `my-first-blog` you will find an `index.html` file which contains all the necessary elements for writing a blog. Customize the content of the file to write your first blog.
+
+This also adds content to `blog.json` file. This file helps in showcasing your blogs on your personal website as [cards](https://imfunniee.github.io/gitfolio/#blog_section). You could customize the JSON object that corresponds your current blog.
+
+Blog Demo? [here](https://imfunniee.github.io/gitfolio/blog/my-first-blog/)
+
+Default JSON Format
+```
+{
+ "url_title": "my-first-blog", // the title you provide while creating a new blog, this appears in url
+ "title": "Lorem ipsum dolor sit amet", // main title of blog
+ "sub_title": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", // sub-title of blog
+ "top_image": "https://images.unsplash.com/photo-1553748024-d1b27fb3f960?w=1450", // main image of blog
+ "visible": true // don't worry about this
+}
+```
+
+More Arguments for Blog
+
+```
+--subtitle [subtitle] : gives blog a subtitle (Deafult : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.')
+--pagetitle [pagetitle] : gives blog page a title
+--folder [folder] : give folder a title
+```
+
+> (use "-" instead of spaces)
+
+
+## License
+![GitHub](https://img.shields.io/github/license/imfunniee/gitfolio.svg)
diff --git a/assets/index.css b/assets/index.css
index 836e355..162dd69 100644
--- a/assets/index.css
+++ b/assets/index.css
@@ -56,7 +56,30 @@ body{
background-size: cover !important;
background-repeat:no-repeat;
position:fixed;
- color:#fff !important;
+ color:#fff !important;
+}
+
+#profile #navbar nav {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+ border: 1px solid #e7e7e7;
+ background-color: rgba(32, 32, 32, 0.2);
+}
+
+#profile #navbar a {
+ float: left;
+ text-align: left;
+ display: block;
+ color: #fff;
+ text-align: center;
+ padding: 14px 16px;
+ text-decoration: none;
+}
+
+#profile #navbar a:hover:not(.active) {
+ background-color: rgba(32, 32, 32, 0.3);
}
#display {
@@ -67,13 +90,54 @@ body{
padding-left:33vw;
}
-#display h1 {
+#display h1 span {
font-size:50px;
color:var(--text-color);
font-weight:bold;
font-family: 'Questrial', sans-serif;
}
+#display select {
+ display: inline-block;
+ font-size: 16px;
+ font-family: sans-serif;
+ font-weight: 700;
+ color: #444;
+ line-height: 1.3;
+ padding: .6em 1.4em .5em .8em;
+ max-width: 80%;
+ box-sizing: border-box;
+ margin: 0;
+ border: 1px solid #aaa;
+ box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
+ border-radius: .5em;
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: #fff;
+ background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
+ linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
+ background-repeat: no-repeat, repeat;
+ background-position: right .7em top 50%, 0 0;
+ background-size: .65em auto, 100%;
+}
+#display select::-ms-expand {
+ display: none;
+}
+#display select:hover {
+ border-color: #888;
+}
+#display select:focus {
+ border-color: #aaa;
+ box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
+ box-shadow: 0 0 0 3px -moz-mac-focusring;
+ color: #222;
+ outline: none;
+}
+#display select option {
+ font-weight:normal;
+}
+
.emoji {
width:18px;
height:18px;
@@ -249,6 +313,11 @@ body{
font-size:16px;
}
+#about span a {
+ color: #fff;
+ text-decoration: none;
+}
+
#work {
margin:2vh 0px;
padding:4vh 0px !important;
@@ -278,6 +347,30 @@ body{
transform:scale(1.03);
}
+#forks {
+ columns:2;
+}
+
+#forks section {
+ width:85%;
+ padding:2.5vh 5%;
+ display:inline-block;
+ border-radius:5px;
+ color:var(--text-color);
+ border:1px solid rgb(0, 0, 0, 0.08);
+ box-shadow:0px 0px 0px rgb(0, 0, 0, 0);
+ transition:0.4s ease-in-out;
+ margin:2vh 0px;
+ transform:scale(1);
+}
+
+#forks section:hover {
+ cursor: pointer;
+ border:1px solid rgb(0, 0, 0, 0);
+ box-shadow:0px 15px 35px rgb(0, 0, 0, 0.06);
+ transform:scale(1.03);
+}
+
.section_title {
font-size:24px;
font-weight:bold;
@@ -364,6 +457,27 @@ body{
text-align:center;
position: relative;
}
+ #profile #navbar nav {
+ padding:4vh 5vw;
+ text-align:center;
+ list-style-type: none;
+ overflow: hidden;
+ border: 1px solid #e7e7e7;
+ background-color: rgba(32, 32, 32, 0.5);
+ position: relative;
+ }
+ #profile #navbar a {
+ float: none !important;
+ display: block;
+ color: #fff;
+ text-align: center;
+ padding: 14px 16px;
+ text-decoration: none;
+ margin:0px auto !important;
+ }
+ #profile #navbar a:hover:not(.active) {
+ background-color: rgba(32, 32, 32, 0.3);
+ }
#display {
width:90vw;
padding:4vh 5vw;
diff --git a/assets/index.html b/assets/index.html
index 929185e..f5086a1 100644
--- a/assets/index.html
+++ b/assets/index.html
@@ -7,7 +7,6 @@
-
@@ -15,6 +14,7 @@