nickswalker/neuegal

简单的基于文件系统的图片库。

1.1.5 2014-08-01 00:00 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:03:19 UTC


README

一个简单、无数据库、PHP 图片库。轻量级且速度极快。

特性

  • 通过 FTP 上传。无复杂的后台界面。
  • 嵌套文件夹
  • 支持 JPEG 和 PNG 格式
  • 精美的默认主题让你的图片更加出众
  • 响应式;在移动设备上看起来也很棒
  • 可选自定义图片和文件夹描述,使用文本文件
  • 自动生成缩略图,或使用你自己的自定义缩略图(或同时进行两者)
  • 完全可主题化...
  • 或者只需简单使用自定义 CSS 调整

安装

使用 Composer

nickswalker/neuegal 添加到你的 composer.json 的 require 部分。运行 composer update。你现在应该可以访问到 \Nickswalker\NeueGal\NeueGal,这是项目的主要类。使用完整的路径构造一个 NeueGal 对象和额外的路径参数。以下是一个基本的实现,可以在服务器的根目录下运行

require 'vendor/autoload.php';

$themePathFromRoot = realpath('themes/default'); //Where is your theme?
												 //Note that the theme MUST be in a publicly accesible directory!
												 //Otherwise your CSS won't load :(
$galleryPathFromRoot = realpath('Sample Gallery');

$neuegal = new \Nickswalker\NeueGal\NeueGal($themePathFromRoot, $galleryPathFromRoot);

$neuegal->display();

你需要将 index.php、resume.xml、主题文件夹和示例图片库文件夹从 composer 放置的 vendor 目录移动到你希望简历可用的位置,否则使用 composer update 更新将覆盖文件。请注意,主题目录和照片目录必须在你的服务器上公开访问。使用你的更改修改 index.php 中的路径。

不使用 Composer

转到上面的版本标签,下载最新版本的存档。直接从 GitHub 下载源代码 将不会工作,因为它不会包含 composer 的自动加载文件。将其解压到运行 PHP 5.3 或更高版本的 PHP 服务器的期望安装位置,你就可以开始使用了。

使用

添加图片和文件

如果你不喜欢内置的花卉照片库(来自我自己的作品;)),你可以将其清空。只需通过 FTP 将图片或文件夹添加到目录中,你的图片库就会更新并显示它们,就像你想象的那样。然而请注意,目录信息被缓存,你可能需要删除照片目录中的缓存文件夹,以便服务器立即更新。

添加描述

图片描述从照片目录中的 .txt 文件中动态检索。因此,要为 flower.jpg 添加描述,你需要在照片存储的同一目录中创建 flower.txt。文件夹描述从给定目录中的 description.txt 文件中动态检索。

### 覆盖动态生成的缩略图 NeueGal 会将缩略图生成并缓存到照片目录中的缓存文件夹。如果你想有更多的控制权,你可以在画廊中的 custom thumbnails 目录中创建自己的缩略图并上传它。例如,如果你想为 mygallery/nested folder/flower.png 创建缩略图,你需要在 mygallery/custom thumbnails/nested folder/flower.png 创建缩略图。

设置

在你的主题目录中,你会找到一个 settings.php 文件,它可以选择性地覆盖位于 src 目录中的根设置文件中的设置。不要在根文件中调整设置,因为所有更改都会在更新期间被覆盖。

主题化

"我只是想调整一些东西"

简单!将一个custom-style.css文件添加到存放你照片的文件夹中,它将自动被加载。

“我想编写一个完全定制的主题”

默认主题是NeueGal灵活性的一个例子。但项目的目标是尽可能轻量,这意味着放弃任何依赖,包括模板引擎。内置的解析和模板功能可能不如专注于该目的的许多PHP框架强大,但它们是相当不错的。

入门指南

在主题目录中创建一个文件夹。确保在初始化NeueGal时传递此目录的路径。在你的主题目录中创建一个settings.php和一个template.php文件,然后你就可以开始了。

更改格式

你可以通过在设置数组中设置以下索引来覆盖NeueResume将XML元素放入的HTML结构

return array(
    'theme' => array(
		'imageFormat' => $imageFormat,
		'folderFormat' => $folderFormat
		)
);

请注意,你可以覆盖此文件中的任何设置(甚至可以自己创建一些,这些将通过当模板被处理时传递到你的模板中的$settings变量来访问)。默认的imageFormat索引字符串(可以在根settings.php文件中找到)看起来像这样

<li>
	<a title="{{Title}} {{Description}}" class="thumb-container" href="{{Path}}" >
		<img src="{{ThumbPath}}" alt="{{Title}}" />
	</a>
</li>

双括号中的单词将被正在处理的item对应的节点内容所替换。默认的folderFormat非常相似。

更改页面结构

你主题文件夹中的template.php是你可以更改整个页面的地方。把它当作一个HTML文件,你可以从中调用PHP来获取一些重要变量。<?php $this->showGallery();?>将输出当前目录处理成你主题指定的HTML格式的图像和文件夹。你可以访问传递到模板中的$settings数组上创建的任何设置。此外,你还可以访问$vars数组中的一些有用值。以下是在访问mygallery/Nested Folder/时(其中画廊根也是服务器的文档根)的$varsvar_dump示例

	[current_directory] => Nested Folder/
    [gallery_url] => /
    [current_folder_name] => Nested Folder
    [description] => That's right, folders in folders

查看默认主题的模板以了解如何使用这些信息创建一个连贯的结构。

问题

有bug吗?请在GitHub上创建一个issue:https://github.com/nickswalker/neuegal/issues