2 Commits

Author SHA1 Message Date
2838e494d6 Update version to 0.1.3 and simplify version output
- Update Cargo.toml version to 0.1.3
- Custom version flag implementation to output version only
- Update GitHub Actions to handle simplified version output
- Update Gitea Actions (action.yml) for version handling
- Now `ailog -V` or `ailog --version` outputs just "0.1.3"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 17:12:04 +09:00
5838adf5a6 Fix code block file path display for mobile
- Move file path from right-top overlay to top header bar
- Use block display instead of absolute positioning
- Add dedicated styling for filename header bar
- Adjust code padding when filename is present
- Optimize mobile responsiveness to prevent overlap

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 17:03:31 +09:00
5 changed files with 47 additions and 21 deletions

View File

@ -35,7 +35,7 @@ jobs:
# Check current binary version if exists # Check current binary version if exists
mkdir -p ./bin mkdir -p ./bin
if [ -f "./bin/ailog" ]; then if [ -f "./bin/ailog" ]; then
CURRENT_VERSION=$(./bin/ailog --version | awk '{print $2}' || echo "unknown") CURRENT_VERSION=$(./bin/ailog --version 2>/dev/null || echo "unknown")
echo "Current version: $CURRENT_VERSION" echo "Current version: $CURRENT_VERSION"
else else
CURRENT_VERSION="none" CURRENT_VERSION="none"
@ -49,7 +49,7 @@ jobs:
https://github.com/${{ github.repository }}/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf - https://github.com/${{ github.repository }}/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf -
mv ailog ./bin/ailog mv ailog ./bin/ailog
chmod +x ./bin/ailog chmod +x ./bin/ailog
echo "Updated to version: $(./bin/ailog --version)" echo "Updated to version: $(./bin/ailog --version 2>/dev/null)"
else else
echo "Binary is up to date" echo "Binary is up to date"
chmod +x ./bin/ailog chmod +x ./bin/ailog

View File

@ -1,6 +1,6 @@
[package] [package]
name = "ailog" name = "ailog"
version = "0.1.0" version = "0.1.3"
edition = "2021" edition = "2021"
authors = ["syui"] authors = ["syui"]
description = "A static blog generator with AI features" description = "A static blog generator with AI features"

View File

@ -69,7 +69,7 @@ runs:
# Check current binary version if exists # Check current binary version if exists
mkdir -p ./bin mkdir -p ./bin
if [ -f "./bin/ailog" ]; then if [ -f "./bin/ailog" ]; then
CURRENT_VERSION=$(./bin/ailog --version | awk '{print $2}' 2>/dev/null || echo "unknown") CURRENT_VERSION=$(./bin/ailog --version 2>/dev/null || echo "unknown")
echo "Current version: $CURRENT_VERSION" echo "Current version: $CURRENT_VERSION"
else else
CURRENT_VERSION="none" CURRENT_VERSION="none"
@ -83,13 +83,13 @@ runs:
if curl -sL https://github.com/syui/ailog/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf - 2>/dev/null; then if curl -sL https://github.com/syui/ailog/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf - 2>/dev/null; then
mv ailog ./bin/ailog mv ailog ./bin/ailog
chmod +x ./bin/ailog chmod +x ./bin/ailog
echo "Downloaded binary: $(./bin/ailog --version)" echo "Downloaded binary: $(./bin/ailog --version 2>/dev/null)"
else else
echo "Download failed, building from source..." echo "Download failed, building from source..."
if command -v cargo >/dev/null 2>&1; then if command -v cargo >/dev/null 2>&1; then
cargo build --release cargo build --release
cp ./target/release/ailog ./bin/ailog cp ./target/release/ailog ./bin/ailog
echo "Built from source: $(./bin/ailog --version)" echo "Built from source: $(./bin/ailog --version 2>/dev/null)"
else else
echo "Error: Neither download nor cargo build available" echo "Error: Neither download nor cargo build available"
exit 1 exit 1

View File

@ -517,25 +517,21 @@ a.view-markdown:any-link {
margin: 16px 0; margin: 16px 0;
font-size: 14px; font-size: 14px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
position: relative;
} }
/* File name display for code blocks */ /* File name display for code blocks - top bar style */
.article-body pre[data-filename]::before { .article-body pre[data-filename]::before {
content: attr(data-filename); content: attr(data-filename);
position: absolute; display: block;
top: 0;
right: 0;
background: #2D2D30; background: #2D2D30;
color: #CCCCCC; color: #AE81FF;
padding: 4px 12px; padding: 8px 16px;
font-size: 12px; font-size: 12px;
font-family: 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace; font-family: 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace;
border-bottom-left-radius: 4px; border-bottom: 1px solid #3E3D32;
border: 1px solid #3E3D32; margin: 0;
border-top: none; width: 100%;
border-right: none; box-sizing: border-box;
z-index: 1;
} }
.article-body pre code { .article-body pre code {
@ -548,6 +544,11 @@ a.view-markdown:any-link {
line-height: 1.4; line-height: 1.4;
} }
/* Adjust padding when filename is present */
.article-body pre[data-filename] code {
padding: 16px;
}
/* Inline code (not in pre blocks) */ /* Inline code (not in pre blocks) */
.article-body code { .article-body code {
background: var(--light-white); background: var(--light-white);
@ -853,6 +854,16 @@ a.view-markdown:any-link {
white-space: pre-wrap; white-space: pre-wrap;
} }
/* Mobile filename display */
.article-body pre[data-filename]::before {
padding: 6px 12px;
font-size: 11px;
}
.article-body pre[data-filename] code {
padding: 12px;
}
.article-body code { .article-body code {
word-break: break-all; word-break: break-all;
} }

View File

@ -18,10 +18,14 @@ mod mcp;
#[derive(Parser)] #[derive(Parser)]
#[command(name = "ailog")] #[command(name = "ailog")]
#[command(about = "A static blog generator with AI features")] #[command(about = "A static blog generator with AI features")]
#[command(version)] #[command(disable_version_flag = true)]
struct Cli { struct Cli {
/// Print version information
#[arg(short = 'V', long = "version")]
version: bool,
#[command(subcommand)] #[command(subcommand)]
command: Commands, command: Option<Commands>,
} }
#[derive(Subcommand)] #[derive(Subcommand)]
@ -135,8 +139,19 @@ enum OauthCommands {
#[tokio::main] #[tokio::main]
async fn main() -> Result<()> { async fn main() -> Result<()> {
let cli = Cli::parse(); let cli = Cli::parse();
// Handle version flag
if cli.version {
println!("{}", env!("CARGO_PKG_VERSION"));
return Ok(());
}
// Require subcommand if no version flag
let command = cli.command.ok_or_else(|| {
anyhow::anyhow!("No subcommand provided. Use --help for usage information.")
})?;
match cli.command { match command {
Commands::Init { path } => { Commands::Init { path } => {
commands::init::execute(path).await?; commands::init::execute(path).await?;
} }