Giter Club home page Giter Club logo

portfolio_roquec's Introduction

roquec.com

roquec.com | source | project

CI/CD Workflow Lighthouse performance badge Lighthouse accessibility badge Lighthouse best-practices badge Lighthouse SEO badge

Welcome to the repository of my personal portfolio website roquec.com. The site is built using Jekyll, styled to imitate Visual Studio Code and hosted on GitHub Pages. For more information check out Portfolio Website Project.

Screenshot of roquec.com

Preparation

Before running the website locally, follow these steps to prepare the environment.

Installing Ruby:

  1. Install Ruby latest version from Ruby Installer.
  2. Choose MSYS2 and MINGW development tool chain option during installation.
  3. Verify with installation ruby -v gem -v.

Downloading Repository and Dependencies:

  1. Clone portfolio repository.
git clone https://github.com/roquec/portfolio.git
  1. Navigate to directory.
cd portfolio
  1. Run install script to install bundler and gems.
.\scripts\install.ps1

Development

Once your environment is set up, here's how to run and develop the site locally.

Running Locally

Execute serve script to build the site and serve it locally:

.\scripts\serve.ps1

This will generate the output in ./_site and update it when the source in src is modified.

The site will be available at http://127.0.0.1:4000/.

Note: changes to _config.yml file will not be automatically applied and require a manual re-build of the site

Project Structure

portfolio
  |-.github         -> Workflows and scripts used for GitHub Actions CI/CD pipeline
  |-_site           -> Autogenerated Jekyll output site directory
  |-scripts         -> Management scripts like 'serve.ps1' or 'install.ps1'
  |-src             -> Source code for Jekyll site
    |-_html         -> HTML layouts and includes
    |-_js           -> Javascript files to be bundled into scripts.js
    |-_sass         -> SASS files to be bundled into styles.css
    |-assets        -> Static assets like images, fonts...
    |-content       -> Content of the site like articles, projects and other posts
    |-_config.yml   -> Jekyll configuration file
    |-index.html    -> Root level files
    ...

Deployment

This website is hosted on GitHub Pages, and it is released on every new change to the main branch. The build and release of the website is entirely done via GitHub Actions. The workflow that handles the release is ci-cd.yml.

CI/CD Pipeline Image

Build Job

This job does the following:

  1. Execute set-placeholders.ps1 script to fill in data like the version information.
  2. Build the Jekyll site.
  3. Execute asset-hash.ps1 to generate hashes for all static assets and append them to the links.
  4. Upload resulting artifact.

Deploy Job

This job simply publishes the previously generated artifact (the _site folder) to GitHub Pages.

Lighthouse Job

This job runs automated Lighthouse tests on the deployed site and publishes the results so we can have cool badges like this:

Lighthouse performance badge

References

License

This project is open sourced under the MIT License.

Contact

Got questions or feedback? Feel free to reach out at [email protected] or create an issue on GitHub.

portfolio_roquec's People

Contributors

roquec avatar dependabot[bot] avatar

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.