From 63d160f484f5017d1a736c99ea7f20bbc61503b9 Mon Sep 17 00:00:00 2001 From: Kristijan Popovski Date: Wed, 8 Apr 2026 23:24:41 +0200 Subject: [PATCH] Renaming projects site html link --- contact.html | 4 + contact/index.html | 147 ++++++++++++++++++++++++++ cv.html | 4 + cv/index.html | 247 ++++++++++++++++++++++++++++++++++++++++++++ export_code.ps1 | 170 ++++++++++++++++++++++++++++++ export_code.sh | 43 +++++++- index.html | 32 +++--- projects.html | 16 +++ projects/index.html | 44 ++++---- 9 files changed, 666 insertions(+), 41 deletions(-) create mode 100644 contact/index.html create mode 100644 cv/index.html create mode 100644 export_code.ps1 create mode 100644 projects.html diff --git a/contact.html b/contact.html index 271d54f..3fa46f8 100644 --- a/contact.html +++ b/contact.html @@ -5,6 +5,10 @@ Contact | Kristijan Popovski + + + + diff --git a/contact/index.html b/contact/index.html new file mode 100644 index 0000000..81baab2 --- /dev/null +++ b/contact/index.html @@ -0,0 +1,147 @@ + + + + + + Contact | Kristijan Popovski + + + + + + + +
+ + +
+
+
+
+
+
Contact
+

Let's architect your next vision.

+

Interested in working together? Open to discussions around strategic collaboration, governance initiatives, advisory work, and thoughtfully run projects.

+
+
+ Portrait of Kristijan Popovski on the contact page +
+
+
+
+ +
+
+
+

Fill out to connect

+
+
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+
+ + +
+
+ +
+

This is a static form prepared for backend connection later. Current validation runs entirely in the browser.

+
+
+ + +
+
+
+ +
+ +
+
+ + + diff --git a/cv.html b/cv.html index 46319c7..97363f1 100644 --- a/cv.html +++ b/cv.html @@ -5,6 +5,10 @@ CV | Kristijan Popovski + + + + diff --git a/cv/index.html b/cv/index.html new file mode 100644 index 0000000..0a39b18 --- /dev/null +++ b/cv/index.html @@ -0,0 +1,247 @@ + + + + + + CV | Kristijan Popovski + + + + + + + +
+ + +
+
+
+
+
+

Curriculum Vitae

+

BA of Business and Economics - MSc in Business and Organisation (IMB)

+
+ +
+ +
+
+
+
+ + + + Work Experience +
+
+
+ + 2022 - now +

Founder and President

+

Macedonian Student Organisation in Slovenia

+

Founded and led a student organization that grew to more than 120 members, organized over 50 events, and built more than 20 partnerships with institutions, embassies, and sponsors.

+
+
+ + 2021 - now +

Board Member

+

Leaders for Education, Activism, and Development (LEAD)

+

Active board member of a youth-focused NGO working on education, activism, and civic engagement.

+
+
+ + 2024 - 2025 +

Intern in Finance and Accounting

+

CVS Mobile d.d. (a Eurowag company)

+

Supported finance operations across four subsidiaries, reviewing reports, processing invoice-related data, and contributing to daily operational workflows.

+
+
+ + 2024 +

Student Intern

+

Department for Internationalisation and Strategic Partnerships, University of Ljubljana

+

Organized webinars for incoming students, prepared data reports, and supported regional university cooperation activities.

+
+
+
+ +
+
+ + + + Education +
+
+
+ 2022 - 2026 +

University of Ljubljana, School of Economics and Business

+

MSc in Business and Organisation (IMB)
Ranked 44th globally in Financial Times Masters in Management 2025.

+

Bachelor's Degree in Economics and Business
Major in Entrepreneurship.

+
+
+ 2024 +

Resilient Cities Summer School

+

Slovak University of Technology in Bratislava.

+

2017 - 2021
Nikola Karev Skopje, Natural Sciences and Mathematics.

+
+
+
+ +
+
+ + + + Leadership and Governance +
+
+
+

Student Ambassador

+

Supported prospective students through one-on-one mentorship and onboarding support at the University of Ljubljana.

+
+
+

Student Senate Member

+

Represented around 5,000 students at faculty level and contributed within university governance structures.

+
+
+

Volunteering

+

Served in the Red Cross Youth Club and twice as President of the high school student council.

+
+
+

Selected Projects

+

22nd International Youth Conference Krushevo and consulting support for ATech Electronics.

+
+
+
+ +
+
+
+ Portrait background of Kristijan Popovski +
+
+

"Building a career in management, leadership, and organizational growth."

+
+
+
+
+ + +
+
+
+
+ +
+ +
+
+ + + diff --git a/export_code.ps1 b/export_code.ps1 new file mode 100644 index 0000000..e8759b5 --- /dev/null +++ b/export_code.ps1 @@ -0,0 +1,170 @@ +param( + [string]$OutputFile = "code_export.txt" +) + +$ErrorActionPreference = "Stop" + +$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path + +if ([System.IO.Path]::IsPathRooted($OutputFile)) { + $OutputPath = $OutputFile +} +else { + $OutputPath = Join-Path $ScriptDir $OutputFile +} + +$ExcludedDirectories = @("node_modules", "vendor", "dist", "build", "images") +$ExcludedExtensions = @( + ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".svg", ".ico", ".webp", + ".mp4", ".mov", ".avi", ".mkv", ".webm", + ".mp3", ".wav", ".ogg", ".flac", + ".pdf", + ".zip", ".tar", ".gz", ".bz2", ".rar", ".7z", + ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", + ".eot", ".ttf", ".woff", ".woff2" +) + +function Get-RelativePath { + param( + [string]$BasePath, + [string]$FullPath + ) + + $baseUri = [System.Uri](([System.IO.Path]::GetFullPath($BasePath)).TrimEnd("\") + "\") + $fullUri = [System.Uri]([System.IO.Path]::GetFullPath($FullPath)) + $relativeUri = $baseUri.MakeRelativeUri($fullUri) + + return [System.Uri]::UnescapeDataString($relativeUri.ToString()).Replace("/", "\") +} + +function Test-IsProbablyBinary { + param( + [string]$Path + ) + + try { + $stream = [System.IO.File]::OpenRead($Path) + try { + $buffer = New-Object byte[] 4096 + $bytesRead = $stream.Read($buffer, 0, $buffer.Length) + } + finally { + $stream.Dispose() + } + } + catch { + return $true + } + + if ($bytesRead -ge 2) { + if ( + ($buffer[0] -eq 0xFF -and $buffer[1] -eq 0xFE) -or + ($buffer[0] -eq 0xFE -and $buffer[1] -eq 0xFF) + ) { + return $false + } + } + + if ($bytesRead -ge 3) { + if ($buffer[0] -eq 0xEF -and $buffer[1] -eq 0xBB -and $buffer[2] -eq 0xBF) { + return $false + } + } + + if ($bytesRead -ge 4) { + if ( + ($buffer[0] -eq 0xFF -and $buffer[1] -eq 0xFE -and $buffer[2] -eq 0x00 -and $buffer[3] -eq 0x00) -or + ($buffer[0] -eq 0x00 -and $buffer[1] -eq 0x00 -and $buffer[2] -eq 0xFE -and $buffer[3] -eq 0xFF) + ) { + return $false + } + } + + for ($index = 0; $index -lt $bytesRead; $index++) { + if ($buffer[$index] -eq 0) { + return $true + } + } + + return $false +} + +function Test-ShouldSkipFile { + param( + [System.IO.FileInfo]$File + ) + + $fullPath = [System.IO.Path]::GetFullPath($File.FullName) + if ($fullPath -eq [System.IO.Path]::GetFullPath($OutputPath)) { + return $true + } + + $relativePath = Get-RelativePath -BasePath $ScriptDir -FullPath $File.FullName + + if ($relativePath -eq "export_code.sh" -or $relativePath -eq "export_code.ps1") { + return $true + } + + $segments = $relativePath -split "[\\/]+" + foreach ($segment in $segments) { + if ($segment.StartsWith(".")) { + return $true + } + + if ($ExcludedDirectories -contains $segment) { + return $true + } + } + + if ($ExcludedExtensions -contains $File.Extension) { + return $true + } + + return $false +} + +if (Test-Path -LiteralPath $OutputPath) { + Remove-Item -LiteralPath $OutputPath -Force +} + +$builder = New-Object System.Text.StringBuilder + +$files = Get-ChildItem -LiteralPath $ScriptDir -File -Recurse | Sort-Object { + (Get-RelativePath -BasePath $ScriptDir -FullPath $_.FullName).Replace("\", "/") +} + +foreach ($file in $files) { + if (Test-ShouldSkipFile -File $file) { + continue + } + + if (Test-IsProbablyBinary -Path $file.FullName) { + continue + } + + try { + $content = Get-Content -LiteralPath $file.FullName -Raw -ErrorAction Stop + } + catch { + continue + } + + $relativePath = (Get-RelativePath -BasePath $ScriptDir -FullPath $file.FullName).Replace("\", "/") + + [void]$builder.AppendLine(("`"./{0}`" : " -f $relativePath)) + [void]$builder.AppendLine('"""') + [void]$builder.Append($content) + + if (-not $content.EndsWith("`n")) { + [void]$builder.AppendLine() + } + + [void]$builder.AppendLine('"""') + [void]$builder.AppendLine() + [void]$builder.AppendLine() +} + +$utf8NoBom = New-Object System.Text.UTF8Encoding $false +[System.IO.File]::WriteAllText($OutputPath, $builder.ToString(), $utf8NoBom) + +Write-Host ("Code export finished. Output saved to {0}" -f $OutputPath) diff --git a/export_code.sh b/export_code.sh index 1a37df6..3736992 100755 --- a/export_code.sh +++ b/export_code.sh @@ -1,7 +1,44 @@ -#!/bin/bash +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" + +run_powershell_export() { + local ps_script="$SCRIPT_DIR/export_code.ps1" + + if command -v pwsh >/dev/null 2>&1; then + pwsh -NoLogo -NoProfile -ExecutionPolicy Bypass -File "$ps_script" "$@" + return + fi + + if command -v powershell.exe >/dev/null 2>&1; then + if command -v cygpath >/dev/null 2>&1; then + powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File "$(cygpath -w "$ps_script")" "$@" + else + powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File "$ps_script" "$@" + fi + return + fi + + echo "PowerShell was not found. Run export_code.ps1 manually." >&2 + exit 1 +} + +case "$(uname -s 2>/dev/null || printf '')" in + CYGWIN*|MINGW*|MSYS*) + run_powershell_export "$@" + exit 0 + ;; +esac + +if [[ "${OS:-}" == "Windows_NT" ]]; then + run_powershell_export "$@" + exit 0 +fi # Nastavitev imena izhodne datoteke -OUTPUT_FILE="code_export.txt" +OUTPUT_FILE="${1:-code_export.txt}" # Odstrani izhodno datoteko, če že obstaja, da začnemo s čisto datoteko if [ -f "$OUTPUT_FILE" ]; then @@ -43,7 +80,7 @@ find . -type f \ | sort | while read -r file; do # Preskoči samo izhodno datoteko in to skripto - if [[ "$file" == "./$OUTPUT_FILE" || "$file" == "./export_code.sh" ]]; then + if [[ "$file" == "./$OUTPUT_FILE" || "$file" == "./export_code.sh" || "$file" == "./export_code.ps1" ]]; then continue fi diff --git a/index.html b/index.html index 68e04ae..5647316 100644 --- a/index.html +++ b/index.html @@ -15,17 +15,17 @@
@@ -54,7 +54,7 @@

Delivering institutional excellence across governance, finance, and project execution. From policy and representation to operational detail, the focus is always on clarity, trust, and outcomes.

@@ -106,7 +106,7 @@

Selected Experience

A concise view of leadership, representation, and operational roles that shape the broader body of work.

- + View full CV @@ -212,7 +212,7 @@ IMB x NLB Slovenia

Individual Investment Accounts Strategy

Developed a go-to-market and marketing strategy for NLB's Individual Investment Accounts (INR) in Slovenia through primary research, segmentation, personas, and customer journey design.

- + View project details @@ -228,7 +228,7 @@ Perles / ATech Electronics

Business Model & Marketing Strategy

Researched the power tools market and customer needs for the Perles brand, then helped shape an updated business model with refurbished products and a digital community concept.

- + Explore all projects @@ -287,8 +287,8 @@ diff --git a/projects.html b/projects.html new file mode 100644 index 0000000..51b2f52 --- /dev/null +++ b/projects.html @@ -0,0 +1,16 @@ + + + + + + Redirecting to Projects | Kristijan Popovski + + + + + + + +

Redirecting to projects/...

+ + diff --git a/projects/index.html b/projects/index.html index 6167cbe..93c8a2b 100644 --- a/projects/index.html +++ b/projects/index.html @@ -8,23 +8,23 @@ - +
@@ -62,7 +62,7 @@
- Presentation of an Individual Investment Accounts strategy project for NLB at the IMB programme + Presentation of an Individual Investment Accounts strategy project for NLB at the IMB programme Consulting
@@ -83,11 +83,11 @@
- Student consulting team in discussion with Perles and ATech Electronics + Student consulting team in discussion with Perles and ATech Electronics Consulting
- Student Intern Consultant • Feb 2025 - Jun 2025 + Student Intern Consultant - Feb 2025 to Jun 2025

Perles / ATech Business Model & Marketing Strategy

Worked as part of a student consulting team researching the power tools market for the Perles brand, mapping customer needs, and co-developing a refreshed business model together with a sharper marketing strategy.

@@ -104,7 +104,7 @@
- Interior green wall and glass architecture in a sustainable building + Interior green wall and glass architecture in a sustainable building Innovation
@@ -125,7 +125,7 @@
@@ -170,15 +170,15 @@
- +