Git Product home page Git Product logo

ryanfitzgerald / devportfolio Goto Github PK

View Code? Open in Web Editor NEW
4.3K 64.0 3.6K 1018 KB

A lightweight, customizable single-page personal portfolio website template built with JavaScript and Sass

Home Page: https://ryanfitzgerald.github.io/devportfolio

License: MIT License

JavaScript 12.64% HTML 35.00% SCSS 52.36%
sass skills javascript timeline template portfolio portfolio-template portfolio-website

devportfolio's Introduction

Dev Portfolio

๐Ÿš€ Dev Portfolio V2 has arrived. Meet Devfolio, a modern portfolio + blog template built with GatsbyJS and TailwindCSS ๐Ÿš€

This repo contains an easy-to-customize personal dev portfolio template that was created with Sass and JavaScript. It is lightweight and fully responsive, as well as comes with the Bootstrap grid system and loaded with Font Awesome. The site is static and comes production ready if you just want to add your information and go. Alternatively, you can edit styles, colours, and scripts fairly easily. The site was built as modular as possible to make it easy to shift around styles and content.

To view a live demo, click here.

Looking for a blog template? Checkout DevBlog.

Features

  • Gulp ready (compiles Sass and minifies JS)
  • Sass ready with lots of commenting
  • Fully responsive
  • Comes with Bootstrap grid system
  • Easy colour changes can be done through simple variable edits

Contents

Setup and Configuration

The setup required can be broken into two types:

  1. If you want to make edits or customize the template
  2. If you just want to add your information as use as is

Making Edits / Customizing the Template

To setup, simply fork the repo and run npm install in order to get all the Gulp dev dependencies. Next, run Gulp watch to compile the Sass and minify the JavaScript. Alternatively, if you don't have Gulp installed globally, you can run the npm script npm run watch. Any changes done to the JavaScript (js/scripts.js) or Sass (sass/styles.scss) will be autocompiled and ready to go.

All scripts are within js/scripts.js and get minified to js/scripts.min.js. All styles are in sass/styles.scss and get compiled to css/styles.css. Both the minified scripts file and compiled CSS file are what is loaded on the page by default.

At this point, the page is ready to go and you can begin to add your own information and make any needed changes. The sections below contains a quick breakdown of each of the default sections and how they work.

Using The Template As Is

If you wish to use the template as is (i.e. how it's seen in the demo), then all that's required is the css, images, js, libs folders and the index.html file. You would then add your content to index.html as needed and you're good to go!

Customization and Editing

General

In general, most styles on the page are based off the definitions of variables in the variable section of the style sheet:

// Define base and accent colors
$base-color: #3498db;
$base-color-hover: darken($base-color, 10%);

// Define background colors
$background: #fff;
$background-alt: #f2f2f5;

// Define border colors
$border: #dcd9d9;

// Define text colors
$heading: #374054;
$text: #74808a;

If you wish to change the general colour scheme of the page for example, simply change the value of $base-color.

There is also a number of default CSS classes that can be applied such as .shadow, .shadow-large, .btn-rounded-white, and various others. These can be found under the General Styles section in the style sheet.

Images

By default, the template comes with a number of images, some of which can be kept and others which act simply as placeholders and should be switched. The template contains the following:

  • Main background (images/lead-bg.jpg) - this is the main background image provided via Unsplash. This can be kept or changed easily by replacing images/lead-bg.jpg with your new background (recommended size of at least 1920x1080).
  • Favicon (/favicon.ico) - this is the favicon used for the page. Similar to the main bg, this can be kept or changed easily by replacing the favicon.ico with your new one.
  • Project image - these are the images associated with the projects under the project section. These are simply placeholders and should either be replaced or removed.

Header Section

The header section can be found within the <header> tag and simply contains an unordered list of anchors to different sections of the page. If you add a new section and want to be able to quickly navigate to it from the top, simply add another list element with an anchor that has the href of the ID of the section. Conversely, if you remove a section, don't forget to remove the associated navigation element.

If you wish to add a header link to an external page, simply add the class no-scroll to the anchor. For example:

<li>
    <a href="https://google.com" class="no-scroll">Google</a>
</li>

If you wish to have a sticky (fixed) header, you simply need to add a class of sticky to the main header. For example, that would be accomplished as follows:

<header class="sticky">
    <!-- Header content -->
</header>

Lead Section

The Lead section is pretty straightforward, it contains an h1 for your name and an h2 for your title. It also contains a link that can be used to link to your resume should you wish to add it as well.

If you want your resume to automatically download when the button is clicked instead of opening up in another tab (the default behaviour), add the following code (Thanks to jkfran for the suggestion) in the lead:

<a href="path/to/resume.pdf" download="resume.pdf" class="btn-rounded-white">Download Resume</a>

The href attribute points to where your resume is stored and the download attribute is what triggers the download / provides the name the file will be downloaded as when the user clicks the button (In this case, it will download as resume.pdf).

About Section

The about section contains a quick about blurb that can be edited by changing the text within the paragraph tags.

Experience Section

The experience section creates a vertical timeline with all your relevant experience. The code for the timeline creation can be found within js/scripts.js and is an adaptation of RyanFitzgerald/vertical-timeline.

The default format is as follows:

<div id="experience-timeline">
    <div data-date="September 2015 โ€“ September 2016">
        <h3>Employer Name</h3>
        <h4>Job Title</h4>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex.
        </p>
    </div>
</div>

The data attribute data-date is what is used to add a date to the associated timeline point. All that is really required is a wrapping div (i.e. #experience-timeline) and nested divs to build the timeline. The h3, h4, and p tags are optional and the contents of the div can be styled however you wish.

To add an additional section, simply add additional nested divs under the main wrapping div.

Education Section

The Education is just a series of .education-block classes with some details associated with them. By default, it shows school name, date, degree, and some additional details. For example:

<div class="education-block">
    <h3>University of Ottawa</h3>
    <span class="education-date">Sept 2016 - Sept 2017</span>
    <h4>Bachelor of Science in Computer Science</h4>
    <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex.
    </p>
</div>

To add additional section, simply add additional .education-block elements.

Projects Section

The Project section contains a number of .project elements that represent each of your projects. By default, it contains a 300x300 image under .project-image and relevant project information under .project-info. An example is as follows:

<div class="project">
    <div class="project-image">
        <img src="images/project.jpg" />
    </div>
    <!-- End .project-image -->

    <div class="project-info">
        <h3>Project Name Here</h3>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex.
        </p>
        <a href="#">View Project</a>
    </div>
    <!-- End .project-info -->
</div>

If you want to hide some projects by default, you can throw them in an additional row and add the markup for the "Show More" button. This would be done as follows:

<!-- Projects Above -->

<a id="view-more-projects" href="#">View More Projects</a>
<div id="more-projects" class="row">
    <div class="project shadow-large">
        <div class="project-image">
            <img src="images/project.jpg" />
        </div>
        <!-- End .project-image -->
        <div class="project-info">
            <h3>Project Name Here</h3>
            <p>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
            </p>
            <a href="#">View Project</a>
        </div>
        <!-- End .project-info -->
    </div>
    <!-- End .project -->
</div>

This will add a link that says "View More Projects" under the current projects and when clicked, all projects in the "More-projects" div will be shown. This is optional functionality and isn't provided by default. It is important that you keep the wrapping div ID intact ("#more-projects") as well as the anchor ID ("#view-more-projects"), however the contents of the div and the anchor text itself can be edited however you like.

Projects without images

If you do not wish to have a project image associated with a project, you can simply add no-image as an additional class to the project. It would look like the following:

<div class="project no-image">
    <div class="project-info">
        <h3>Project Name Here</h3>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex.
        </p>
        <a href="#">View Project</a>
    </div>
    <!-- End .project-info -->
</div>

Skills Section

The Skills section is simply an unordered list that spits out a "Skill Cloud" with all the skills listed. To add / remove skills, simply edit or add list elements, like so:

<ul>
    <li>JavaScript</li>
    <li>Python</li>
    <li>Ruby</li>
    <li>Go</li>
    <li>Node.js</li>
</ul>

Contact Section

Since the page is static, I opted to use the awesome Formspree to allow for a contact form without the need for anything else. To use it, you must have the page hosted on a server (loading a basic HTML page won't work) where a referrer header is generated. Also, simply add the email to the action. An example is as follows:

<form method="POST" action="https://formspree.io/[email protected]">
    <input type="hidden" name="_subject" value="Contact request from personal website" />
    <input type="email" name="_replyto" placeholder="Your email" required>
    <textarea name="message" placeholder="Your message" required></textarea>
    <button type="submit">Send</button>
</form>

For more information on configuration of the contact form or dealing with errors, check out Formspree.

For a quick tutorial about formspree, check out this tutsplus tutorial that covers different aspects and features of the form tool.

Footer Section

The Footer contains an optional copyright where you can place your name as well as an unordered list of all of your social or coding related profiles. By default it contains Github, Stack Overflow, Facebook, Twitter, and Google Plus. You can add or remove them easily and simply use the Font Awesome icon associated with the social profile you wish to use. For a list of all icons, click here.

Optional Sections

The template comes with an optional section that can be added to the page markup to list things like Certifications, Hobbies, and more (Note: these are not included by default). The markup for the additional optional section is as follows:

<div class="optional-section background-alt">
    <h2 class="heading">Section Name</h2>

    <div class="optional-section-block">
        <h3>Some content title</h3>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
        </p>
        <ul>
            <li>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            </li>
            <li>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            </li>
            <li>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            </li>
        </ul>
    </div>
    <!-- End .optional-section-block -->

</div>
<!-- End .optional-section -->

You can copy .optional-section-block for each new item you wish you have in the optional section. Also, the background-alt class may need to be removed depending on where the optional section is placed in your layout as this adds the grey background. If you play it at the bottom after "Skills", it can be used as is. Also, by default the border is applied at the top, but this can also be adjusted as needed.

The optional section blocks have styling for h3 (the block title), h4, p, and ul tags by default.

Changelog

1.2.2

  • Updated dependencies and gulpfile

1.2.1

  • Updated dependencies and gulpfile
  • Added no-image optional class for projects without images (see above for usage)

1.2.0

  • Added support for optional "Show More Projects" that hides some projects by default if included
  • Added optional sections to display certifications, languages, etc.

1.1.3

  • Added default favicon to be used or changed
  • Added sticky class to make header fixed
  • Updated docs to add image section

1.1.2

  • Added no-scroll class option to header navigation anchor if you want to link to external site
  • Changed contact form input / textarea colours to be based off $base-color
  • Changed main background to 100vh so it doesn't overflow if viewport height < 700px

1.1.1

  • Made input placeholder text more readable
  • Removed timeline line when no JS
  • Added some basic styling to timeline when no JS

1.1.0

  • Fixed menu toggle on mobile devices
  • Fixed z-index / scrolling issue with mobile menu
  • Mobile menu now closes once a nav element is hit

License

Completely free (MIT)! See LICENSE.md for more.

devportfolio's People

Contributors

dependabot[bot] avatar devs1993 avatar googlr avatar lex111 avatar martinjac avatar minimalistic avatar ryanfitzgerald avatar sav-valerio avatar spekulatius avatar vikasganiga05 avatar yousefamar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devportfolio's Issues

Where's your copyright? :(

Hello there,
This template looks neat!

The MIT license requires users (us) to give you credit.

Conditions: License and copyright notice

I haven't seen your name anywhere in your demo's source-code.
How would you like to be thanked? :-) imo it's possible to have minified files with a copyright header, would this be enough?

Cheers!

Project Images

I forked this project and have it up and running on jasonbunnell.com. I am having trouble with the project images. I was able to change the project.jpg image. When I attempted to use my-own-image.jpg it did not conform to the formating. I tried changing:

.project-image {
    float: left;
    max-width: 300px; 

Thoughts?

npm install fails

i cloned this project and ran 'npm install' but gulp-sass gives this error.

3477 timing build:run:postinstall:node_modules/es5-ext Completed in 396ms
3478 info run [email protected] postinstall { code: 1, signal: null }
3479 timing reify:rollback:createSparse Completed in 2270ms
3480 timing reify:rollback:retireShallow Completed in 0ms
3481 timing command:i Completed in 131897ms
3482 verbose stack Error: command failed
3482 verbose stack     at ChildProcess.<anonymous> (C:\Users\Name\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:63:27)
3482 verbose stack     at ChildProcess.emit (node:events:390:28)
3482 verbose stack     at maybeClose (node:internal/child_process:1064:16)
3482 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
3483 verbose pkgid [email protected]
3484 verbose cwd D:\projects\devportfolio
3485 verbose Windows_NT 10.0.19044
3486 verbose node v16.13.1
3487 verbose npm  v8.12.1
3488 error code 1
3489 error path D:\projects\devportfolio\node_modules\node-sass
3490 error command failed
3491 error command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
3492 error Building: C:\Program Files\nodejs\node.exe D:\projects\devportfolio\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
3493 error gyp info it worked if it ends with ok
3493 error gyp verb cli [
3493 error gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
3493 error gyp verb cli   'D:\\projects\\devportfolio\\node_modules\\node-gyp\\bin\\node-gyp.js',
3493 error gyp verb cli   'rebuild',
3493 error gyp verb cli   '--verbose',
3493 error gyp verb cli   '--libsass_ext=',
3493 error gyp verb cli   '--libsass_cflags=',
3493 error gyp verb cli   '--libsass_ldflags=',
3493 error gyp verb cli   '--libsass_library='
3493 error gyp verb cli ]
3493 error gyp info using [email protected]
3493 error gyp info using [email protected] | win32 | x64
3493 error gyp verb command rebuild []
3493 error gyp verb command clean []
3493 error gyp verb clean removing "build" directory
3493 error gyp verb command configure []
3493 error gyp verb check python checking for Python executable "python2" in the PATH
3493 error gyp verb `which` failed Error: not found: python2
3493 error gyp verb `which` failed     at getNotFoundError (D:\projects\devportfolio\node_modules\which\which.js:13:12)
3493 error gyp verb `which` failed     at F (D:\projects\devportfolio\node_modules\which\which.js:68:19)
3493 error gyp verb `which` failed     at E (D:\projects\devportfolio\node_modules\which\which.js:80:29)
3493 error gyp verb `which` failed     at D:\projects\devportfolio\node_modules\which\which.js:89:16
3493 error gyp verb `which` failed     at D:\projects\devportfolio\node_modules\isexe\index.js:42:5
3493 error gyp verb `which` failed     at D:\projects\devportfolio\node_modules\isexe\windows.js:36:5
3493 error gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
3493 error gyp verb `which` failed  python2 Error: not found: python2
3493 error gyp verb `which` failed     at getNotFoundError (D:\projects\devportfolio\node_modules\which\which.js:13:12)
3493 error gyp verb `which` failed     at F (D:\projects\devportfolio\node_modules\which\which.js:68:19)
3493 error gyp verb `which` failed     at E (D:\projects\devportfolio\node_modules\which\which.js:80:29)
3493 error gyp verb `which` failed     at D:\projects\devportfolio\node_modules\which\which.js:89:16
3493 error gyp verb `which` failed     at D:\projects\devportfolio\node_modules\isexe\index.js:42:5
3493 error gyp verb `which` failed     at D:\projects\devportfolio\node_modules\isexe\windows.js:36:5
3493 error gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21) {
3493 error gyp verb `which` failed   code: 'ENOENT'
3493 error gyp verb `which` failed }
3493 error gyp verb check python checking for Python executable "python" in the PATH
3493 error gyp verb `which` succeeded python C:\Python39\python.EXE
3493 error gyp ERR! configure error 
3493 error gyp ERR! stack Error: Command failed: C:\Python39\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
3493 error gyp ERR! stack   File "<string>", line 1
3493 error gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
3493 error gyp ERR! stack                       ^
3493 error gyp ERR! stack SyntaxError: invalid syntax
3493 error gyp ERR! stack 
3493 error gyp ERR! stack     at ChildProcess.exithandler (node:child_process:397:12)
3493 error gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
3493 error gyp ERR! stack     at maybeClose (node:internal/child_process:1064:16)
3493 error gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
3493 error gyp ERR! System Windows_NT 10.0.19044
3493 error gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\projects\\devportfolio\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
3493 error gyp ERR! cwd D:\projects\devportfolio\node_modules\node-sass
3493 error gyp ERR! node -v v16.13.1
3493 error gyp ERR! node-gyp -v v3.8.0
3493 error gyp ERR! not ok 
3493 error Build failed with error code: 1
3494 verbose exit 1
3495 timing npm Completed in 134349ms
3496 verbose unfinished npm timer reify 1655718519663
3497 verbose unfinished npm timer reify:build 1655718644390
3498 verbose unfinished npm timer build 1655718644393
3499 verbose unfinished npm timer build:deps 1655718644395
3500 verbose unfinished npm timer build:run:postinstall 1655718645611
3501 verbose unfinished npm timer build:run:postinstall:node_modules/node-sass 1655718645863
3502 verbose code 1```

Add "See More" to the projects Section

Adding a "See-More" to the projects section would be a great idea.
You could then prioritize your projects keeping the best ones on the top while the projects little lower in importance can be loaded when clicking see-more.

color scheme changes not taking effect

Hi Ryan, thanks for a great template! I'm running into an issue where color scheme changes made in the variable section of styles.scss are not taking effect. I made the edits as outlined in the general section of your Readme. Would really appreciate if you could point me in the right direction on this.

node-sass build fails when running npm install

I'm not sure if this is something with my local configuration, but when running npm install on a fresh clone of this repo, the node-sass dependency failed to install. This prevented Gulp from working properly. After a quick Googling, I found a recommendation in the issues on the node-sass repo that solved my issue. I ran this command:

yarn add node-sass

...and everything appears to work as intended. Just wanted to drop this pointer for anyone else who might run into the same issue. (Note: this assumes you've got Yarn installed as well.)

Edit: It does seem to be an issue with my particular setup. I tried installing BrowserSync via NPM and it also failed...

Colours Refusing To Change

Hi Ryan,
I just wanted to start out by telling you how much I love this template. You've really broken everything down amazingly and I've been looking for a good template to use for my website and out of the ~500 templates I've been through, I love yours the most.

Just wanted to report a bug... I'm trying to change the colours which have been defined in the styles.scss located here (devportfolio-master/scss/styles.scss).

This is how my styles.scss looks:

// Define base and accent colors
$base-color: #FF0000;
$base-color-hover: darken($base-color, 20%);

// Define background colors
$background: #FF0000;
$background-alt: #f2f2f5;

// Define border colors
$border: #dcd9d9;

// Define text colors
$heading: #374054;
$text: #74808a;

But this is how the page rendered looks:
Screenshot 2020-10-05 at 9 17 24 PM

Is this a bug or something which I'm doing wrong?

Thanks a ton,
JR

node.js version for npm installing gulp-sass

Hi Ryan, thanks a lot for sharing it, as well as V2. But im struggling with a bounch of errors from npm install, and it looks that many users have thoese issues.

I have solve the problem and it turns out that the key point is the correct version of node.js, which is not mentioned in this repo. One should use node.js with the correct version v10.22.0 (npm v6.14.6). It perfecly works whlie installing gulp-sass (node-sass). Newer node.js might not work no matter how to config, i.e. gym, MSVC.

Am i correct? Or i missed some tricks?

use netlify

i am trying to deploy on netlify but is saying there is a build command, should it be gulp build or something else? (i dont have gulp on my computer)

Gulp watch doesnt update scss or js

The path for the watch script in the gulpfile.js is wrong:

gulp.task('watch', function() {
    gulp.watch('js/scripts.js', gulp.series('scripts'));
    gulp.watch('scss/styles.scss', gulp.series('styles'));
});

Should be:

gulp.task('watch', function() {
    gulp.watch('./js/scripts.js', gulp.series('scripts'));
    gulp.watch('./scss/styles.scss', gulp.series('styles'));
});

Need some changes in design

I think we need to update some CSS live in navbar will be full width or like in skill list need some radius in this also

Removing Project Image Bug

Nice job,

The issue is that when I remove the project image, the whole project div is removed. somehow the height of that div is related to the image height.

Expcted behavior,

when removing the image div, content should be left aligned and div expand to fill the content

Section adding

Hello,

Great template, I like it.

It would be great if a user could add new sections, for languages or other important informations (hobbies, certifications or trainings for example)

Limit spam with the contact form

As stated on https://formspree.io/ you can add <input type="text" name="_gotcha" style="display:none" /> to the contact form.

Add this "honeypot" field to avoid spam by fooling scrapers. If a value is provided, the submission will be silently ignored. The input should be hidden with CSS.

You can also follow this tip from https://webdesign.tutsplus.com/tutorials/quick-tip-add-a-formspree-form-to-your-static-sites--cms-23870 to avoid email scraping.

<script>
    var contactform =  document.getElementById('contactform');
    contactform.setAttribute('action', '//formspree.io/' + 'your' + '@' + 'email' + '.' + 'com');
</script>

`npm install` error?

I'm still new in npm thingy so a help is appreciated

AFFAN@AFFAN-PC MINGW32 /d/PROGRAMMING/git/devportfolio-template (master)
$ npm install
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher                                                              to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher                                                              to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail o                                                             n node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible                                                             . Use 'npm ls graceful-fs' to find it in the tree.
[email protected] D:\PROGRAMMING\git\devportfolio-template
+-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | `-- [email protected]
| | | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | |   `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| |   +-- [email protected]
| |   `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | | `-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | | +-- [email protected]
| | | | | | `-- [email protected]
| | | | | |   +-- [email protected]
| | | | | |   +-- [email protected]
| | | | | |   | `-- [email protected]
| | | | | |   `-- [email protected]
| | | | | +-- [email protected]
| | | | | `-- [email protected]
| | | | +-- [email protected]
| | | | | `-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | | `-- [email protected]
| | | | +-- [email protected]
| | | | | `-- [email protected]
| | | | +-- [email protected]
| | | | | +-- [email protected]
| | | | | | `-- [email protected]
| | | | | `-- [email protected]
| | | | +-- [email protected]
| | | | | +-- [email protected]
| | | | | | `-- [email protected]
| | | | | `-- [email protected]
| | | | `-- [email protected]
| | | |   +-- [email protected]
| | | |   `-- [email protected]
| | | `-- [email protected]
| | |   `-- [email protected]
| | |     +-- [email protected]
| | |     | +-- [email protected]
| | |     | | `-- [email protected]
| | |     | +-- [email protected]
| | |     | `-- [email protected]
| | |     |   `-- [email protected]
| | |     `-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | `-- [email protected]
| | |   +-- [email protected]
| | |   | `-- [email protected]
| | |   |   `-- [email protected]
| | |   |     `-- [email protected]
| | |   +-- [email protected]
| | |   `-- [email protected]
| | |     `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| |   `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | |   `-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| | `-- [email protected]
| `-- [email protected]
|   +-- [email protected]
|   +-- [email protected]
|   | +-- [email protected]
|   | | `-- [email protected]
|   | +-- [email protected]
|   | | `-- [email protected]
|   | +-- [email protected]
|   | | `-- [email protected]
|   | |   +-- [email protected]
|   | |   `-- [email protected]
|   | +-- [email protected]
|   | +-- [email protected]
|   | | `-- [email protected]
|   | `-- [email protected]
|   +-- [email protected]
|   | `-- [email protected]
|   |   `-- [email protected]
|   |     +-- [email protected]
|   |     | +-- [email protected]
|   |     | `-- [email protected]
|   |     +-- [email protected]
|   |     `-- [email protected]
|   |       +-- [email protected]
|   |       `-- [email protected]
|   +-- [email protected]
|   | `-- [email protected]
|   +-- [email protected]
|   | `-- [email protected]
|   +-- [email protected]
|   | +-- [email protected]
|   | `-- [email protected]
|   +-- [email protected]
|   | `-- [email protected]
|   |   `-- [email protected]
|   `-- [email protected]
|     `-- [email protected]
+-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| |   `-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | `-- [email protected]
| | `-- [email protected]
| `-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  +-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  +-- [email protected]
  | +-- [email protected]
  | `-- [email protected]
  |   +-- [email protected]
  |   +-- [email protected]
  |   | +-- [email protected]
  |   | | +-- [email protected]
  |   | | | +-- [email protected]
  |   | | | `-- [email protected]
  |   | | `-- [email protected]
  |   | +-- [email protected]
  |   | `-- [email protected]
  |   +-- [email protected]
  |   `-- [email protected]
  `-- [email protected]

npm WARN [email protected] No repository field.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_                                                        modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! path D:\PROGRAMMING\git\devportfolio-template\node_modules\.staging\invert-k                                                        v-60559123\package.json.2278776155
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall rename

npm ERR! Error: EPERM: operation not permitted, rename 'D:\PROGRAMMING\git\devportfol                                                        io-template\node_modules\.staging\invert-kv-60559123\package.json.2278776155' -> 'D:\                                                        PROGRAMMING\git\devportfolio-template\node_modules\.staging\invert-kv-60559123\packag                                                        e.json'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, rename 'D:\PROGRAMMING\git\devport                                                        folio-template\node_modules\.staging\invert-kv-60559123\package.json.2278776155' -> '                                                        D:\PROGRAMMING\git\devportfolio-template\node_modules\.staging\invert-kv-60559123\pac                                                        kage.json'
npm ERR!     at Error (native)
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'rename',
npm ERR!   path: 'D:\\PROGRAMMING\\git\\devportfolio-template\\node_modules\\.staging                                                        \\invert-kv-60559123\\package.json.2278776155',
npm ERR!   dest: 'D:\\PROGRAMMING\\git\\devportfolio-template\\node_modules\\.staging                                                        \\invert-kv-60559123\\package.json',
npm ERR!   parent: 'devportfolio-template' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     D:\PROGRAMMING\git\devportfolio-template\npm-debug.log

Missing social button for LinkedIn

Hey, thanks man. Really cool and simple template.

Since this is a dev-professional portfolio, i feel link LinkedIn should be present along GitHub & stackoverflow links.

Dynamically change footer copyright year

Change the footer copyright static year to dynamic using JavaScript Date() Object.

Screenshot

image

Solution

Change the static year to the following dynamically created year.

const currentYear = new Date().getFullYear();    // 2021

Body of project's doesn't center.

When you make the description for a project too short, it will align left in the parent and looks somewhat strange.

Example:

<div class="project shadow-large">
    <div class="project-image">
        <img src="images/project.jpg" />
    </div>
    <!-- End .project-image -->
    <div class="project-info">
        <h3>Synful</h3>
        <p>
            A versatile PHP framework for you to create your own API with ease.
        </p>
        <a href="http://git.nathanf.tk/synful" target="_blank">View Project</a>
    </div>
    <!-- End .project-info -->
</div>
<!-- End .project -->

Ooo

935ea4c726f327a2e9c319127168652e20314784

Add favicon to index.html

Hi Ryan: firstly, great work on this template.

I'm just wondering if you'd consider adding a favicon to the index.html file? I've added one in a test fork that I've been playing with, and could do a pull request for you if you're interested in it.

Project page

Hi there,

Great work on the template! Keep it up :)

I think that a cool addition would be to have a template for a project page where you could put more details about a particular project.

Let me know what you think.

Regards,
Patryk

Adding a 404 page

Hi

I know it might be a bit much to ask, but a 404 page with that simple, nice way you code would be nice as well for this portfolio site, in case you have time.

Redesigned Page

Hello there,

Great work you have done there.
I have worked on this template and re-designed it for my own purposes, and I'd like to share it to the community as well. Would that be ok?

(I will keep mentioning you as the main author, and edited version from myself)

Need more attraction

The portfolio is nice, but you can make it little more attractive by 3d designs.

Un-hardcode all colors to allow for dark themes

First of all, love this template. I use a pug port at http://yousefamar.com (GitHub). You'll notice I like things dark. I remember there was some talk of themes. Short of that, I think it might be useful to have all the remaining colors that are hardcoded in become variables up top too, to at least be able to tweak for colors for dark themes. I've already done this for my version though I ended up doing my own hardcoding and we've diverged quite a bit. That way, having a dark theme could just be a matter of uncommenting a block of variables on the top (and lightens becoming darkens automatically).

npm install returning errors (i have python3 installed)

2218 info run [email protected] install node_modules/node-sass node scripts/install.js
2219 info run [email protected] install { code: 0, signal: null }
2220 timing build:run:install:node_modules/node-sass Completed in 786ms
2221 timing build:run:install Completed in 786ms
2222 info run [email protected] postinstall node_modules/node-sass node scripts/build.js
2223 info run [email protected] postinstall { code: 1, signal: null }
2224 timing reify:rollback:createSparse Completed in 884ms
2225 timing reify:rollback:retireShallow Completed in 0ms
2226 timing command:install Completed in 16028ms
2227 verbose stack Error: command failed
2227 verbose stack at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\node_modules@npmcli\promise-spawn\lib\index.js:63:27)
2227 verbose stack at ChildProcess.emit (node:events:513:28)
2227 verbose stack at maybeClose (node:internal/child_process:1091:16)
2227 verbose stack at ChildProcess._handle.onexit (node:internal/child_process:302:5)
2228 verbose pkgid [email protected]
2229 verbose cwd C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio
2230 verbose Windows_NT 10.0.22000
2231 verbose node v18.12.1
2232 verbose npm v8.19.2
2233 error code 1
2234 error path C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-sass
2235 error command failed
2236 error command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
2237 error Building: C:\Program Files\nodejs\node.exe C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
2238 error gyp info it worked if it ends with ok
2238 error gyp verb cli [
2238 error gyp verb cli 'C:\Program Files\nodejs\node.exe',
2238 error gyp verb cli 'C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-gyp\bin\node-gyp.js',
2238 error gyp verb cli 'rebuild',
2238 error gyp verb cli '--verbose',
2238 error gyp verb cli '--libsass_ext=',
2238 error gyp verb cli '--libsass_cflags=',
2238 error gyp verb cli '--libsass_ldflags=',
2238 error gyp verb cli '--libsass_library='
2238 error gyp verb cli ]
2238 error gyp info using [email protected]
2238 error gyp info using [email protected] | win32 | x64
2238 error gyp verb command rebuild []
2238 error gyp verb command clean []
2238 error gyp verb clean removing "build" directory
2238 error gyp verb command configure []
2238 error gyp verb check python checking for Python executable "python2" in the PATH
2238 error gyp verb which failed Error: not found: python2
2238 error gyp verb which failed at getNotFoundError (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:13:12)
2238 error gyp verb which failed at F (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:68:19)
2238 error gyp verb which failed at E (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:80:29)
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:89:16
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\index.js:42:5
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\windows.js:36:5
2238 error gyp verb which failed at FSReqCallback.oncomplete (node:fs:207:21)
2238 error gyp verb which failed python2 Error: not found: python2
2238 error gyp verb which failed at getNotFoundError (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:13:12)
2238 error gyp verb which failed at F (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:68:19)
2238 error gyp verb which failed at E (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:80:29)
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:89:16
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\index.js:42:5
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\windows.js:36:5
2238 error gyp verb which failed at FSReqCallback.oncomplete (node:fs:207:21) {
2238 error gyp verb which failed code: 'ENOENT'
2238 error gyp verb which failed }
2238 error gyp verb check python checking for Python executable "python" in the PATH
2238 error gyp verb which failed Error: not found: python
2238 error gyp verb which failed at getNotFoundError (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:13:12)
2238 error gyp verb which failed at F (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:68:19)
2238 error gyp verb which failed at E (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:80:29)
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:89:16
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\index.js:42:5
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\windows.js:36:5
2238 error gyp verb which failed at FSReqCallback.oncomplete (node:fs:207:21)
2238 error gyp verb which failed python Error: not found: python
2238 error gyp verb which failed at getNotFoundError (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:13:12)
2238 error gyp verb which failed at F (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:68:19)
2238 error gyp verb which failed at E (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:80:29)
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\which\which.js:89:16
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\index.js:42:5
2238 error gyp verb which failed at C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\isexe\windows.js:36:5
2238 error gyp verb which failed at FSReqCallback.oncomplete (node:fs:207:21) {
2238 error gyp verb which failed code: 'ENOENT'
2238 error gyp verb which failed }
2238 error gyp verb could not find "python". checking python launcher
2238 error gyp verb could not find "python". guessing location
2238 error gyp verb ensuring that file exists: C:\Python27\python.exe
2238 error gyp ERR! configure error
2238 error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
2238 error gyp ERR! stack at PythonFinder.failNoPython (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-gyp\lib\configure.js:484:19)
2238 error gyp ERR! stack at PythonFinder. (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-gyp\lib\configure.js:509:16)
2238 error gyp ERR! stack at callback (C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\graceful-fs\polyfills.js:295:20)
2238 error gyp ERR! stack at FSReqCallback.oncomplete (node:fs:207:21)
2238 error gyp ERR! System Windows_NT 10.0.22000
2238 error gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
2238 error gyp ERR! cwd C:\Users\bhara\OneDrive\Desktop\PORTFOLIO\devportfolio\node_modules\node-sass
2238 error gyp ERR! node -v v18.12.1
2238 error gyp ERR! node-gyp -v v3.8.0
2238 error gyp ERR! not ok
2238 error Build failed with error code: 1
2239 verbose exit 1
2240 timing npm Completed in 16545ms
2241 verbose unfinished npm timer reify 1674770029200
2242 verbose unfinished npm timer reify:build 1674770042779
2243 verbose unfinished npm timer build 1674770042780
2244 verbose unfinished npm timer build:deps 1674770042780
2245 verbose unfinished npm timer build:run:postinstall 1674770043830
2246 verbose unfinished npm timer build:run:postinstall:node_modules/node-sass 1674770043830
2247 verbose code 1
2248 error A complete log of this run can be found in:
2248 error C:\Users\bhara\AppData\Local\npm-cache_logs\2023-01-26T21_53_48_704Z-debug-0.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.