The project contains my developer portfolio which can easily be customized for your own needs.
The homepage is optimized for desktop computers as well as mobile devices (responsive design).
It has been tested on
- Android: Chrome
- Arch Linux: Firefox
- iPad OS: Safari
- Windows 10: Chrome, Edge, Firefox
- Windows 11: Edge, Firefox
Keyboard navigation is supported, too.
Apart from HTML, CSS, and JavaScript, I use PHP for templating, i.e., to avoid code duplication.
For more convenient styling, I included Tailwind CSS.
All required tools for developing the homepage are provided by two Docker images.
- npm_web: This image provides the TailwindCSS build toolchain
- apache-php: This image provides the PHP web server that hosts the homepage
- Install Docker, Docker Buildx, and Docker compose.
# Needs to be done only once
# Example: Arch Linux
pacman -Syu docker docker-buildx docker-compose
- Build the npm_web Docker image:
# Needs to be done only once
./setupDocker.sh`
- Run the TailwindCSS tool and the web server while testing your modifications to the homepage.
docker compose up
- Visit http://localhost
Most of the customizable data is stored at site/data.php.
It is not necessary to restart the server when you change content (HTML, PHP, JS, CSS, images etc.). On each modification, TailwindCSS automatically rebuilds the styles.
TailwindCSS is already configured to create a minified CSS file.
HTML minification runs on-the-fly whenever the client (browser) requests the web page.
In order to minify JavaScript sources as well, create a production build:
./buildProd.sh
Besides, the production build creates an archive (build_prod/homepage.tar.gz) that only contains relevant files for a production system.
Install a PHP server at your production machine (or use the above-mentioned Docker image) and extract the built archive's site folder to your server's document root.
Note: Third party resources (icons / images) that I have used for my specific presentation have their own licenses stored under the LICENSES folder.
The functional part of the homepage does not use third party resources and is subject to the MIT license (see LICENSE.txt).