Add artist website and portfolio files with LFS
Test in latest available Safari / build (push) Failing after 6m25s

This commit is contained in:
Warren
2026-05-25 13:50:38 +08:00
parent 60e16943a7
commit dfb2dbba7c
3007 changed files with 1181275 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
[package]
name = "artist-website"
version = "1.0.0"
description = "Artist portfolio website built with Tauri + Vue"
authors = [""]
license = ""
repository = ""
edition = "2021"
[build-dependencies]
tauri-build = { version = "1.5", features = [] }
[dependencies]
tauri = { version = "1.5", features = [ "fs-read-file", "path-all", "shell-open"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
[features]
default = ["custom-protocol"]
custom-protocol = ["tauri/custom-protocol"]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
fn main() {
tauri_build::build()
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

+55
View File
@@ -0,0 +1,55 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
use serde::Serialize;
use tauri::Builder;
#[derive(Serialize)]
pub struct PortfolioItem {
pub id: u32,
pub title: String,
pub description: String,
pub media_type: String,
pub media_path: String,
pub year: String,
pub tags: Vec<String>,
}
#[tauri::command]
fn get_portfolio_items() -> Vec<PortfolioItem> {
vec![
PortfolioItem {
id: 1,
title: "雕塑作品一".to_string(),
description: "探索形體與空間的對話".to_string(),
media_type: "image".to_string(),
media_path: "assets/images/work1.jpg".to_string(),
year: "2024".to_string(),
tags: vec!["雕塑".to_string()],
},
PortfolioItem {
id: 2,
title: "材料實驗系列".to_string(),
description: "探索不同媒材的可能性".to_string(),
media_type: "image".to_string(),
media_path: "assets/images/work2.jpg".to_string(),
year: "2024".to_string(),
tags: vec!["雕塑".to_string(), "材料".to_string()],
},
PortfolioItem {
id: 3,
title: "創作過程記錄".to_string(),
description: "雕塑創作過程記錄影片".to_string(),
media_type: "video".to_string(),
media_path: "assets/videos/work1.mp4".to_string(),
year: "2024".to_string(),
tags: vec!["過程".to_string(), "影片".to_string()],
},
]
}
fn main() {
Builder::default()
.invoke_handler(tauri::generate_handler![get_portfolio_items])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
+54
View File
@@ -0,0 +1,54 @@
{
"$schema": "https://schema.tauri.app/config/1.0.0",
"build": {
"beforeDevCommand": "npm run dev",
"beforeBuildCommand": "npm run build",
"devPath": "http://localhost:1420",
"distDir": "../dist"
},
"package": {
"productName": "ArtistWebsite",
"version": "1.0.0"
},
"tauri": {
"allowlist": {
"all": false,
"shell": {
"all": false,
"open": true
},
"path": {
"all": true
},
"fs": {
"readFile": true
}
},
"bundle": {
"active": true,
"targets": "all",
"identifier": "com.artist.website",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
},
"security": {
"csp": null
},
"windows": [
{
"fullscreen": false,
"resizable": true,
"title": "Artist Portfolio",
"width": 1280,
"height": 800,
"minWidth": 800,
"minHeight": 600
}
]
}
}
+1
View File
@@ -0,0 +1 @@
{}