we never used these zh-* translation things so remove, and add
skeleton terminology page. SVN revision: 73518
This commit is contained in:
parent
4f85617ddb
commit
cfd966b6da
|
@ -1 +1 @@
|
|||
Enlightenment 0.16
|
||||
E16
|
||||
|
|
|
@ -1,113 +0,0 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h1>Enlightenment DR16</h1>
|
||||
|
||||
<p>The Enlightenment Window Manager was first released in 1997 by Carsten "Rasterman" Haitzler</p>
|
||||
|
||||
<span class="contentmain">
|
||||
<p> It's release revolutionized the face of desktops on UNIX platforms and beyond,
|
||||
featuring a more graphically stimulating enviroment than ever previously seen on a conventional
|
||||
desktop. Since that time the window manager has been emulated and has driven the graphical appeal
|
||||
we see on desktops everywhere. In 2000, the latest major release occured with the release of DR16.0,
|
||||
a release that remains in heavy usage today. In 2003 Kim "kwo" Woelders took over
|
||||
management of the DR16 codebase and released DR16.6, improving opon the window manager and
|
||||
modernizing its dependencies, and even now the DR16 window manager has a long life ahead of itself,
|
||||
even after the release of DR17. </p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/spongebob1.jpg" target="_self">
|
||||
<img width="300" height="50" src="http://enlightenment.org/i/e16_1.jpg" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>The Enlightenment DR16 Window Manager is a robust, flexable, highly configurable, graphically
|
||||
rich yet unobtrusive desktop enviroment for the X11 windowing system. It is fully themable and
|
||||
easily configured. There are a wide range of configuration options to suite any taste. DR16
|
||||
provides an innovate way of managing applications found no where else, allowing for not only virtual
|
||||
desktops, but also multiple desktops (a seperate set of virtual desktops). A unique snapshoting pager
|
||||
allows for easy management of application placement and even will zoom on on mouse-over of a
|
||||
window in the pager for easily locating applications. Support exists for up to 32 multiple desktops,
|
||||
and virtual desktops up to 8x8 in size! (Thats 2048 possible desktops!) Standard options such as
|
||||
focus settings and autoraise are extremely configurable to fit your individual tastes. Several
|
||||
different types of move and resize effects exist, including Opaque, Technical, Box, Shaded,
|
||||
Semi-solid, and Translucent, depending on your preference and CPU requirements. "Remember"
|
||||
settings can be assigned to each window allowing it to be placed and configured just as you want on
|
||||
each startup of the window manager without having to edit any files. Windows can be individually
|
||||
configured to meet any desire, to change stacking payers, border styles, window size, grouping,
|
||||
tab skip, stickiness, and more. And EESH, the Enlightenment Shell, allows for complete remote
|
||||
control of the window manager and easy scripting. </p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/shot4.png" target="_self">
|
||||
<img width="300" height="50" src="http://enlightenment.org/i/e16_2.png" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>The menu system is flexable, providing easy access to applications, theme selection,
|
||||
documentation, settings, and background selection. DR16 uniquely allows background selection
|
||||
to be done from the main menu system using thumbnailed views of the background providing a
|
||||
quick and easy way to change wallpaper. In addition, desktop "FX" exist that can
|
||||
add a unique flare, including a ripple effect at the base of your desktop.</p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/shot_09-12-03_193147.jpg" target="_self">
|
||||
<img width="300" height="50" src="http://enlightenment.org/i/e16_3.jpg" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>A simple group of flat text files allow for easy editing of user appliation menus,
|
||||
including the ability to create hierarchical user menus to suite your various needs. At first
|
||||
startup DR16 will even scan for your KDE and GNOME menus to add an application menu for them. </p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/e16.6.jpg" target="_self">
|
||||
<img width="300" height="50" src="http://enlightenment.org/i/e16_4.jpg" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>Standard mouseless features such as tab switching exist, but we've built on even more than that.
|
||||
Virtual desktops can be navigated using the keyboard arrow keys and nearly anything including application
|
||||
launching can be keybound via e16bindings making DR16 an excellent choice for users who want a graphically
|
||||
rich enviroment that doesn't require constant intervention of the mouse. </p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/dr16-kde31.png" target="_self">
|
||||
<img width="300" height="50" src="http://enlightenment.org/i/e16_5.png" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>A built in help system called "eDox" provides an excellent resource for learning the
|
||||
wide variety of diffrent methods of interaction and configuration. Graphical Tool Tips can also be
|
||||
enabled to assist normal usage.</p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/codewarrier-xinerama.jpg" target="_self">
|
||||
<img width="400" height="50" src="http://enlightenment.org/i/e16_6.jpg" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>Enlightenment DR16 integrates well with both GNOME and KDE. Replace the default window
|
||||
mangers for each with Enlightenment and you'll have the power to leverage the best of GNOME and
|
||||
KDE at the same time, while enjoying the superior windowing interface that Enlightenment provides.</p>
|
||||
|
||||
<p>EESH, the Enlightenment Shell, allows for complete remote control of the window manager and easy scripting.</p>
|
||||
|
||||
<center>
|
||||
<a href="http://enlightenment.org/i/solaris9-shot1.jpg" target="_self">
|
||||
<img width="300" height="50" src="http://enlightenment.org/i/e16_7.jpg" class="shot" />
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>Enlightenment DR16 is highly portable, with binaries avalible for or testing done on all
|
||||
Linux platforms, Solaris X86 and Sparc, HP-UX, AIX, IRIX, OpenBSD, FreeBSD, NetBSD, OS/2 and
|
||||
more.</p>
|
||||
|
||||
<p class="manager">Enlightenment DR16's project manager is Kim "kwo" Woelders.</p>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment e16
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 0.16
|
|
@ -1,39 +0,0 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h1>Enlightenment DR17</h1>
|
||||
|
||||
<p>Enlightenment 0.17 是下一代 UNIX 图形环境。它不仅仅是一个窗口管理器,更是一个桌面 shell。
|
||||
桌面 shell 意味着在窗口管理器外还包含了文件管理器、配置工具集,而不再是通常意义上相互独立的组件。
|
||||
现在让我们更深入地查看 E17 的特性。</p>
|
||||
|
||||
<p>Enlightenment 运行快速。确实是这样,众所周知它可以在非常慢的机器(如 100 Mhz CPU, 64 MB 内存)
|
||||
上运行良好。所以您不需要配置一台非常现代的电脑来实现这些美仑美奂的现代图形环境。甚至您可以通过性能配置面
|
||||
板通过缓存等设置来调整它运行的速度。</p>
|
||||
|
||||
<p>高性能并不代表没有美丽的界面。Enlightenment 为您准备了前所未见的美丽效果。从动态启动画面开始,到
|
||||
各种主题所能提供的动态效果,直至华丽的动态背景。这些都是实时渲染的动画效果而非数量巨大的 GIF 图像。每个
|
||||
虚拟桌面(目前最大可达24个)均可设置独立背景(动态或非动态),所以您可以为每个虚拟桌面设置不同的背景图片。
|
||||
当您在虚拟桌面间切换时也有众多的特效可供选择。在窗口管理器中菜单、边框和其他桌面管理器中应用动画效果的部
|
||||
分,外加部分组件(例如幻灯)都允许以动画形式呈现。请记住这些效果是由主题所提供的,所以每个主题都可以让 E
|
||||
变得大不相同。</p>
|
||||
|
||||
<p>正如前面所提及的,E17 还提供了一个文件管理器。目前它还没有完成并仍在积极开发当中。完成后它将是一个非
|
||||
常优秀的作品。现在您已经可以使用它来完成一些常规的文件管理操作,诸如浏览、复制、移动、删除文件等。它还将
|
||||
提供图片预览等功能。</p>
|
||||
|
||||
<p>E17 是高度可定制的。它为各种各样的需求准备了相应的配置面板。您可以更改壁纸、主题、字体、分辨率、显示
|
||||
器电源设置、键盘鼠标设置以及 Enlightenment 与您交互所使用的语言等。您几乎可以控制 E 的任何一个组件的
|
||||
行为,它将按照您的意愿进行工作。</p>
|
||||
|
||||
<p>E17 目前已被翻译到约 30 种语言,另有一部分语言可以提供部分的支持。
|
||||
请注意 E 可以在运行中更改语言而无须重启 E 或者 X server。</p>
|
||||
|
||||
<p>您可以看到 Enlightenment 0.17 拥有众多特性,还有一个非常重要的是您可以通过模块来增加或删除功能。
|
||||
这些模块是用以扩展 E17 的小程序,它们可以用来显示您那里的天气状况、日历、控制音量或者您想要的任何功能。
|
||||
开发一个模块并非难事,所以当您有一定的开发能力时,我们欢迎您作为开发者为社区开发并维护一些模块。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 0.17
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 0.17
|
|
@ -1,29 +0,0 @@
|
|||
<table class='main'><tr><td class='main'><div class="main">
|
||||
<h1>Eet</h1>
|
||||
|
||||
<p>Eet is primarily a data encoding, decoding and storage library. It is meant
|
||||
to be very programmer friendly, removing lots of work from loading and saving
|
||||
data held in data structures. It can store multiple chunks of data in a single
|
||||
file and random-access retrieve the data very efficiently, encode and decode
|
||||
image data and any other kind of data. Files are compact and efficient as well as
|
||||
being portable between platforms (e.g. take a file written on a 32-bit x86 system
|
||||
and move it to a 64-bit PPC system and it will "just work"). Eet is portable
|
||||
between many architectures and operating systems and can function on embedded
|
||||
systems all the way up to multi-CPU server farms.</p>
|
||||
|
||||
<p>The result of this is a tiny (52Kb on x86-32, 56Kb on ARM4) library that
|
||||
removes a lot of the need to parse configuration, and handle storage efficiently
|
||||
as well as transport stored data to other locations without loss.</p>
|
||||
|
||||
<p>Eet has very few requirements. On UNIX, beyond the normal libc and system
|
||||
compiling tools and headers, you will need libjpeg (also know as jpeglib) and its
|
||||
headers and build packages, as well as zlib (libz) and its headers and build
|
||||
packages.</p>
|
||||
|
||||
<p>Download Latest Source Release <b>(1.1.0)</b>:
|
||||
<ul>
|
||||
<li><a href=http://download.enlightenment.org/releases/eet-1.1.0.tar.gz>eet-1.1.0.tar.gz</a></li>
|
||||
<li><a href=http://download.enlightenment.org/releases/eet-1.1.0.tar.bz2>eet-1.1.0.tar.bz2</a></li>
|
||||
</ul></p>
|
||||
|
||||
</div></td></tr></table>
|
|
@ -1 +0,0 @@
|
|||
Eet
|
|
@ -1 +0,0 @@
|
|||
Eet
|
|
@ -1,69 +0,0 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h1>EFL 概览</h1>
|
||||
|
||||
<span class="contentmain">
|
||||
<p>Library specific pages:</p>
|
||||
<p>
|
||||
<ul>
|
||||
<li><?php a("about/efl/eet", "Eet");?></li>
|
||||
</ul>
|
||||
</p>
|
||||
</span>
|
||||
|
||||
<hr>
|
||||
|
||||
<span class="contentmain">
|
||||
<p>The Enlightenment Foundation Libraries (EFL) are a collection of libraries that make up the foundation
|
||||
of the DR17 window manager. While their original intent was solely to support the window manager, the libraries
|
||||
quickly took on a life of their own, which is a contributing factor to the delays of the window manager itself.
|
||||
These libraries are so powerful, flexable, and easy to use that they present a strong platform on which to
|
||||
develop nearly any graphical application you could think of.</p>
|
||||
|
||||
<p>The EFL begins with Imlib2, a general image manipulation and rendering
|
||||
library, and Evas, our canvas library. Because Evas is built on several diffrent selectable engines (Linux
|
||||
FrameBuffer, DirectFB, X11, OpenGL, QTopia, etc) the platform is extremely portable, which
|
||||
translates thru to all of the libraries built on top of it.
|
||||
Ecore is a modular convience library that in its base provides timers,
|
||||
callback functionality, and loop management for
|
||||
event handling. Ecore's various modules can simplify the setup of an
|
||||
X11 drawable for general use (Ecore_X11), an X11 drawable for
|
||||
use with Evas (Ecore_Evas), manage IPC (Ecore_IPC), manage BSD Sockets
|
||||
(Ecore_Con), management of the FrameBuffer (Ecore_FB), and more.
|
||||
Because Ecore can simplify so many tasks that are used in conjuction
|
||||
with Evas it has lived up to its name as the core componant of nearly
|
||||
any EFL application.</p>
|
||||
|
||||
<p>Edje provides a revolutionary method of absstacting every aspect of
|
||||
your interface from the application itself. By passing signals
|
||||
between the interface and the application all communication is done in
|
||||
an interface neutral way. No longer are "themes" simple changes
|
||||
of pixmaps over a fixed area. Using Embryo we can provide scripting
|
||||
ability to the interface componant itself to harness even more power
|
||||
and flexability.</p>
|
||||
|
||||
<p>Ewl brings all the libs into focus, providing a complete end-to-end
|
||||
widget library for fast and easy development of complex graphical applications.</p>
|
||||
|
||||
<p>Below is a diagram of how the various componants of the EFL fit together. Because
|
||||
of complexity of the libraries and the fact that so many libraries can be used
|
||||
independant of other EFL libraries we have a diagram alittle more complex than
|
||||
your standard block diagram.</p>
|
||||
|
||||
<center>
|
||||
<?php img("efl.png", "EFL Diagram");?>
|
||||
</a>
|
||||
</center>
|
||||
|
||||
<p>If you're interested in working with, or on, the EFL take a look at the
|
||||
<a href="http://wiki.enlightenment.org">wiki</a> for more
|
||||
information.</p>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 构架函数库
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 构架函数库
|
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
|
@ -0,0 +1,18 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h1>Terminology</h1>
|
||||
|
||||
<span class="contentmain">
|
||||
<p>
|
||||
<center>
|
||||
<?php img("efl.png", "EFL Diagram");?></a>
|
||||
</center>
|
||||
</p>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -0,0 +1 @@
|
|||
Terminology
|
|
@ -0,0 +1 @@
|
|||
Terminology
|
|
@ -1,76 +0,0 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h1>关于 Enlightenment</h1>
|
||||
<p>我们致力于提供先进的图形函数库、工具和环境。目前项目正在努力构建三个不同的组件:
|
||||
Enlightenment DR16、Enlightenment DR17 以及 Enlightenment 构架函数库(EFL)。
|
||||
Enlightenment 窗口管理器本身在很长时间就以提供优秀的函数库以及相应的工具著称,例如 Imlib、
|
||||
Imlib2 和 FNLib 来提供远远超出窗口管理器本身的功能。现在,在 DR17 桌面 Shell 的开发中我们将
|
||||
目标锁定于打造一个全新的函数库和工具集,以提供比其他任何图形函数库都更加强大灵活的功能 - 它就是
|
||||
Enlightenment 构架函数库(EFL, the Enlightenment Foundation Libraries)。
|
||||
</p>
|
||||
|
||||
<center>
|
||||
<p>
|
||||
<a href="http://enlightenment.org/i/rephorm-desktop.png">
|
||||
<img src="http://enlightenment.org/i/tn2_rephorm-desktop.png" class="shot" height="50" width="300" />
|
||||
</a>
|
||||
</p>
|
||||
</center>
|
||||
|
||||
<h2>Enlightenment DR16</h2>
|
||||
<p>Enlightenment 窗口管理器 DR16,也被称作 e16,首次发布于 2000 年。
|
||||
尽管传言中它已经不再更新,我们还是2009年09月10日发布了它的 1.0.1 版。DR16 由于其低额外开销、高图形化程
|
||||
度、广泛的主题支持、极佳的可定制性和毫不张扬的界面被众多的普通用户和艺术工作者所选用。几乎全部窗口管理操作
|
||||
均可不使用鼠标操作,包括通过
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=2">e16keyedit</a> 启动应
|
||||
用程序。它还被广泛地移植到多种平台之上,包括 Linux、FreeBSD、IRIX、Solaris X86 及 Sparc、HP-UX、
|
||||
AIX、OS/2 等。</p>
|
||||
|
||||
<center>
|
||||
<p>
|
||||
<a href="http://enlightenment.org/i/benr-desktop.png">
|
||||
<img src="http://enlightenment.org/i/tn2_benr-desktop.png" class="shot" height="50" width="300" />
|
||||
</a>
|
||||
</p>
|
||||
</center>
|
||||
|
||||
<h2>Enlightenment DR17</h2>
|
||||
<p>Enlightenment DR17 代表了窗口管理器已经进入了下一代:桌面 Shell。DR17 将通过一个高度图形化的可定制构架提供文件与环境之间的无缝集成。
|
||||
它虽然无发与 GNOME 或 KDE 这样巨大的项目相比,却是一个全新的基于 EFL 的图形化桌面解决方案。</p>
|
||||
|
||||
<p>DR17 仍处于开发之中,其中的大部分程序已经提供了开发快照,其余的部分也均已经可通过 SVN 获取,例如
|
||||
Entice、Entrance 和 Evidence 等。</p>
|
||||
|
||||
<center>
|
||||
<p>
|
||||
<a href="http://enlightenment.org/i/az-desktop.png">
|
||||
<img src="http://enlightenment.org/i/tn2_az-desktop.png" class="shot" height="50" width="300" />
|
||||
</a>
|
||||
</p>
|
||||
</center>
|
||||
|
||||
<h2>Enlightenment 构架函数库</h2>
|
||||
<p>在 DR17 的开发过程中我们明确地意识到需要一组全新的函数库和工具。Raster 首先在 Imlib2 和 EVAS
|
||||
中首先展示了他所希望达成目标的概览,并最终发展出了一套基于 EVAS 的全新函数库。
|
||||
这组函数库的用途将远远超过 DR17 本身,就如同 Imlib 的作用远不止于 DR16。因此他们被给予了一个独立的名称:
|
||||
Enlightenment 构架函数库(the Enlightenment Foundation Libraries,简称 EFL)。</p>
|
||||
|
||||
<p>EFL 提供了图形界面所需的绝大多数解决方案。EVAS 本身提供了一个高度优化的 canvas 函数库,Ecore
|
||||
提供了一个包含计时器等高级事件管理能力的简洁模块模型,EDB 提供了包括存储二进制文件在内的易于配置管理的紧凑数据库格式,
|
||||
EET 提供了以 tarball 形式发布主题的集成式的可定制容器。Edje 提供了一组革命性的函数库和工具使得程序界面和代码
|
||||
<i>完全</i> 分离,并由此诞生了一个新的界面设计方法。EWL 提供了一个基于其他 EFL 部件的组件函数库。</p>
|
||||
|
||||
<center>
|
||||
<p>
|
||||
<a href="http://enlightenment.org/i/trill-desktop.png">
|
||||
<img src="http://enlightenment.org/i/tn2_trill-desktop.png" class="shot" height="50" width="300" />
|
||||
</a>
|
||||
</p>
|
||||
</center>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment - 关于
|
|
@ -1,410 +0,0 @@
|
|||
<?php
|
||||
/******* Enlightenment Developers Map *******/
|
||||
$cvs_dir="/var/www/web/devs";
|
||||
$geocache_file="/tmp/e_devs_map_geocache";
|
||||
//***************************************************
|
||||
|
||||
function
|
||||
GetValueFromInfoFile($field, $InfoFile)
|
||||
{
|
||||
if ($i=eregi("$field:[ \t]*([ ,@.:/~()!a-zA-Z0-9_-]*)", "$InfoFile", $result))
|
||||
return trim($result[1]);
|
||||
else return "";
|
||||
}
|
||||
|
||||
function
|
||||
GeoCoordsQuery($address)
|
||||
{
|
||||
global $geocache_file;
|
||||
global $geocache;
|
||||
|
||||
$coords['lat'] = 0;
|
||||
$coords['lon'] = 0;
|
||||
|
||||
/* check if address is already in the geocache */
|
||||
if (array_key_exists($address, $geocache))
|
||||
{
|
||||
$coords['lat'] = $geocache[$address][0];
|
||||
$coords['lon'] = $geocache[$address][1];
|
||||
if (isset($_REQUEST["debug"]))
|
||||
print "CACHED: $address COORDS: $coords[lat] $coords[lon]<br><br>";
|
||||
return $coords;
|
||||
}
|
||||
|
||||
/* or perform the heavy query */
|
||||
if (isset($_REQUEST["debug"])) print "GEOCODING: $address<br>";
|
||||
$url = "http://maps.google.com/maps/api/geocode/json?sensor=false&address=".
|
||||
rawurlencode($address);
|
||||
if($result = file_get_contents($url))
|
||||
{
|
||||
$result_parts = json_decode($result);
|
||||
if($result_parts->status == "OK")
|
||||
{
|
||||
$coords['lat'] = $result_parts->results[0]->geometry->location->lat;
|
||||
$coords['lon'] = $result_parts->results[0]->geometry->location->lng;
|
||||
if (isset($_REQUEST["debug"]))
|
||||
print "RES: $coords[lat] $coords[lon]<br><br>";
|
||||
|
||||
/* store the result in the cache */
|
||||
$line = "$address=$coords[lat]|$coords[lon]\n";
|
||||
file_put_contents($geocache_file, $line, FILE_APPEND);
|
||||
}
|
||||
elseif (isset($_REQUEST["debug"]))
|
||||
print "<font color=red>ERR: $result_parts->status </font><br><br>";
|
||||
}
|
||||
return $coords;
|
||||
}
|
||||
|
||||
/* check cvs dir */
|
||||
if (!is_dir($cvs_dir))
|
||||
{
|
||||
echo "<div align=center><b>ERROR: can't find cvs devs directory path.</b></div>";
|
||||
exit();
|
||||
}
|
||||
|
||||
/* load cache file if present */
|
||||
$geocache = array();
|
||||
if (file_exists($geocache_file))
|
||||
{
|
||||
$blob = file_get_contents($geocache_file);
|
||||
$lines = explode("\n", $blob);
|
||||
|
||||
/* parse lines */
|
||||
foreach ($lines as $line)
|
||||
{
|
||||
/* line format: 'Sant Cugat, Barcelona, Spain=41.4718638|2.0821392' */
|
||||
$fields = explode("=", $line);
|
||||
$geocache[$fields[0]] = explode("|", $fields[1]);
|
||||
}
|
||||
|
||||
/* debug: print the whole cache */
|
||||
if (isset($_REQUEST["debug"]))
|
||||
{
|
||||
print "<b>GEOCACHE:</b><pre>"; print_r($geocache); print "</pre><hr>";
|
||||
}
|
||||
}
|
||||
|
||||
/* build a list of directory that contain the info.txt file */
|
||||
$dirs = array();
|
||||
if ($dh = opendir($cvs_dir))
|
||||
{
|
||||
while (($file = readdir($dh)) !== false)
|
||||
if (is_dir("$cvs_dir/$file") AND file_exists("$cvs_dir/$file/info.txt"))
|
||||
$dirs[] = $file;
|
||||
}
|
||||
|
||||
/* build the devs array, populated by parsing all the info.txt files */
|
||||
$devs = array();
|
||||
$tot_geodata = 0;
|
||||
$tot_guessed = 0;
|
||||
foreach ($dirs as $dir)
|
||||
{
|
||||
/* get user info from info.txt file */
|
||||
$txt = file_get_contents("$cvs_dir/$dir/info.txt");
|
||||
$Coords = GetValueFromInfoFile("GeoData", $txt);
|
||||
$Location = GetValueFromInfoFile("Location", $txt);
|
||||
$IRC = GetValueFromInfoFile("IRC Nick", $txt);
|
||||
|
||||
/* skip user without a nickname */
|
||||
if (!$IRC OR $IRC == "N/A")
|
||||
continue;
|
||||
|
||||
/* parse the GeoData fields */
|
||||
$lat = $lon = 0;
|
||||
$Coords = explode(" ", str_replace(","," ", $Coords));
|
||||
if($Coords && (count($Coords) == 2))
|
||||
{
|
||||
$tot_geodata ++;
|
||||
$lat = floatval($Coords[0]);
|
||||
$lon = floatval($Coords[1]);
|
||||
$icon = "http://labs.google.com/ridefinder/images/mm_20_green.png";
|
||||
}
|
||||
|
||||
/* or use the geocoder to guess the position */
|
||||
if (!($lat AND $lon) AND $Location)
|
||||
{
|
||||
$coords = GeoCoordsQuery($Location);
|
||||
if ($coords["lat"] AND $coords["lon"])
|
||||
{
|
||||
$tot_guessed ++;
|
||||
$lat = $coords["lat"];
|
||||
$lon = $coords["lon"];
|
||||
$icon = "http://labs.google.com/ridefinder/images/mm_20_red.png";
|
||||
}
|
||||
}
|
||||
|
||||
/* skip users without a position */
|
||||
if (!($lat AND $lon))
|
||||
continue;
|
||||
|
||||
/* create an array entry for this developer */
|
||||
$dev = array();
|
||||
$dev["IRC"] = $IRC;
|
||||
$dev["lat"] = $lat;
|
||||
$dev["lon"] = $lon;
|
||||
$dev["Location"] = $Location;
|
||||
$dev["Name"] = GetvalueFrominfoFile("Name", $txt);
|
||||
$dev["Email"] = GetvalueFrominfoFile("E-Mail", $txt);
|
||||
if ($dev["Email"][0] == '-') $dev["Email"] = "";
|
||||
$dev["WWW"] = GetValueFromInfoFile("WWW", $txt);
|
||||
$dev["Managing"] = GetValueFromInfoFile("Managing", $txt);
|
||||
$dev["Contributing"] = GetValueFromInfoFile("Contributing", $txt);
|
||||
$dev["Group"] = GetValueFromInfoFile("Group", $txt);
|
||||
$dev["Platform"] = GetValueFromInfoFile("Platform", $txt );
|
||||
|
||||
/* check the user icon (icon-map.png, green or red) */
|
||||
if (file_exists("$cvs_dir/$dir/icon-map.png"))
|
||||
$dev["Icon"] = "http://download.enlightenment.org/devs/$dir/icon-map.png";
|
||||
else
|
||||
$dev["Icon"] = $icon;
|
||||
|
||||
/* check the user image (icon-med.png) */
|
||||
if (file_exists("$cvs_dir/$dir/icon-med.png"))
|
||||
$dev["IconBig"] = "http://download.enlightenment.org/devs/$dir/icon-med.png";
|
||||
else
|
||||
$dev["IconBig"] = "";
|
||||
|
||||
$devs[] = $dev;
|
||||
}
|
||||
|
||||
/* sort the devs array by nickname */
|
||||
function sort_by_irc($a, $b) { return strcasecmp($a["IRC"], $b["IRC"]); }
|
||||
usort($devs, "sort_by_irc");
|
||||
|
||||
/* debug: print the whole devs array */
|
||||
if (isset($_REQUEST["debug"]))
|
||||
{
|
||||
print "<hr><b>DEVS ARRAY</b><pre>"; print_r($devs); print "</pre><hr>";
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
?>
|
||||
|
||||
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
|
||||
|
||||
<style type="text/css">
|
||||
html { height: 100% }
|
||||
body { height: 100% }
|
||||
#map_canvas { height: 500px; width: 100% }
|
||||
#map_table { width: 100%; font-size: 11px; border: 1px solid #CCC }
|
||||
.infowin td { font-size: 11px }
|
||||
|
||||
#sidebar { height: 500px; overflow-y: scroll }
|
||||
#sidebar a { display: block ; padding-right: 5px }
|
||||
#sidebar a:nth-child(2n) { background-color: #EEE }
|
||||
|
||||
#totals { float: right; font-size: 11px; margin-right: 5px }
|
||||
#coords { float: left; font-size: 11px; margin-left: 5px }
|
||||
</style>
|
||||
|
||||
<center><h1>Enlightenment 开发者地图</h1></center>
|
||||
<p>此地图以地理图形方式显示了拥有 SVN 帐号的人员的地理位置。信息直接来自于开发者自己的 info.txt。
|
||||
绿色代表开发者自己填写了 Geo 数据,红色的则是通过“Location”栏信息匹配的,并不十分精确。</p>
|
||||
<p>点击标记将会显示该开发人员的相关信息。
|
||||
</p>
|
||||
|
||||
<div id="coords">Coords:</div>
|
||||
<div id="totals">
|
||||
Total devs: <?=$tot_geodata+$tot_guessed?> (<?=$tot_guessed?> guessed)
|
||||
</div>
|
||||
<table id="map_table" border=0>
|
||||
<tr>
|
||||
<td><div id="sidebar"></div></td>
|
||||
<td width="100%"><div id="map_canvas"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="cluster_dbg"></div>
|
||||
<br><br>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
/******************************************************************************/
|
||||
/* Initialize map canvas */
|
||||
var map = new google.maps.Map(document.getElementById("map_canvas"), {
|
||||
zoom: 2,
|
||||
center: new google.maps.LatLng(26, 0),
|
||||
mapTypeId: google.maps.MapTypeId.SATELLITE
|
||||
})
|
||||
var infowin = new google.maps.InfoWindow()
|
||||
var overlay = new google.maps.OverlayView() // used only for coord2pixel conversion
|
||||
overlay.draw = function() {}
|
||||
overlay.setMap(map)
|
||||
var markers = []
|
||||
|
||||
/* on mouse-move update the coords div */
|
||||
google.maps.event.addListener(map, 'mousemove', function(event) {
|
||||
update_coords(event.latLng)
|
||||
});
|
||||
|
||||
/* on zoom changes rebuild the cluster */
|
||||
google.maps.event.addListener(map, 'zoom_changed', function() {
|
||||
clusterize_markers()
|
||||
});
|
||||
google.maps.event.addListener(overlay, 'projection_changed', function() {
|
||||
clusterize_markers()
|
||||
});
|
||||
|
||||
|
||||
/* add all the markers in js (from the php array)*/
|
||||
<?php
|
||||
foreach ($devs as $dev)
|
||||
echo "create_dev_marker($dev[lat], $dev[lon], '$dev[IRC]', '$dev[Location]',
|
||||
'$dev[Icon]', '$dev[IconBig]', '$dev[Name]', '$dev[Email]',
|
||||
'$dev[WWW]', '$dev[Managing]', '$dev[Contributing]',
|
||||
'$dev[Platform]', '$dev[Group]')\n";
|
||||
if (isset($_REQUEST["debug"]))
|
||||
echo "var debug = true\n";
|
||||
else
|
||||
echo "var debug = false\n";
|
||||
?>
|
||||
|
||||
|
||||
/* Create a new developer marker */
|
||||
function
|
||||
create_dev_marker(lat, lon, IRC, Location, Icon, IconBig, Name, Email, WWW,
|
||||
Managing, Contributing, Platform, Group)
|
||||
{
|
||||
/* set icons sizes */
|
||||
if (Icon.match("icon-map.png$") == "icon-map.png")
|
||||
var icon = new google.maps.MarkerImage(Icon,
|
||||
new google.maps.Size(22, 29), // icon size
|
||||
new google.maps.Point(0,0), // icon origin point
|
||||
new google.maps.Point(11, 29)) // icon anchor point
|
||||
else
|
||||
var icon = new google.maps.MarkerImage(Icon,
|
||||
new google.maps.Size(12, 20), // icon size
|
||||
new google.maps.Point(0,0), // icon origin point
|
||||
new google.maps.Point(6, 20)) // icon anchor point
|
||||
|
||||
var shadow = new google.maps.MarkerImage(
|
||||
'http://labs.google.com/ridefinder/images/mm_20_shadow.png',
|
||||
new google.maps.Size(22, 20), // shadow size
|
||||
new google.maps.Point(0,0), // shadow origin point
|
||||
new google.maps.Point(6, 20)) // shadow anchor point
|
||||
|
||||
/* create infowindow html content */
|
||||
var html = ""
|
||||
html += '<div class="infowin">'
|
||||
html += '<table><tr>'
|
||||
if (IconBig) html += '<td><img src="' + IconBig + '"></td>'
|
||||
html += '<td><h3>' + IRC
|
||||
if (Name) html += ' (' + Name + ')'
|
||||
html += '</h3>'
|
||||
if (Email) html += Email
|
||||
if (Email && WWW) html += ' - '
|
||||
if (WWW) html += '<a href="' + WWW + '">' + WWW + '</a>'
|
||||
html += '<br>'
|
||||
if (Managing) html += '<b>Managing:</b> ' + Managing + '<br>'
|
||||
if (Contributing) html += '<b>Contributing:</b> ' + Contributing + '<br>'
|
||||
if (Group) html += '<b>Group:</b> ' + Group + '<br>'
|
||||
if (Platform) html += '<b>Platform:</b> ' + Platform + '<br>'
|
||||
if (Location) html += '<b>Location:</b> ' + Location + '<br>'
|
||||
html += '</td></tr></table>'
|
||||
html += '</div>'
|
||||
|
||||
/* create the marker */
|
||||
if (lat != 0 && lon != 0)
|
||||
{
|
||||
var latlng = new google.maps.LatLng(lat, lon)
|
||||
var marker = new google.maps.Marker({
|
||||
position: latlng,
|
||||
title: IRC,
|
||||
map: map,
|
||||
icon: icon,
|
||||
shadow: shadow
|
||||
})
|
||||
marker._original_latlng = latlng
|
||||
markers.push(marker);
|
||||
|
||||
/* on marker click show the infowin */
|
||||
google.maps.event.addListener(marker, 'click', function() {
|
||||
show_infowin(marker, html)
|
||||
})
|
||||
|
||||
/* add the marker to the sidebar list */
|
||||
sidebar_add_entry(IRC, marker, html)
|
||||
}
|
||||
}
|
||||
|
||||
function
|
||||
show_infowin(marker, html)
|
||||
{
|
||||
infowin.setContent(html)
|
||||
infowin.open(map, marker)
|
||||
}
|
||||
|
||||
function
|
||||
sidebar_add_entry(IRC, marker, html)
|
||||
{
|
||||
var newlink = document.createElement('a')
|
||||
newlink.onclick = function() { show_infowin(marker, html); return false; }
|
||||
newlink.innerHTML = IRC
|
||||
newlink.setAttribute('href', '#');
|
||||
document.getElementById("sidebar").appendChild(newlink)
|
||||
}
|
||||
|
||||
function
|
||||
update_coords(latLng)
|
||||
{
|
||||
var coords_div = document.getElementById("coords")
|
||||
var coords = "Coords: " + latLng.toUrlValue(5)
|
||||
coords_div.innerHTML = coords.replace(",", " ")
|
||||
}
|
||||
|
||||
function
|
||||
clusterize_markers()
|
||||
{
|
||||
var Projection = overlay.getProjection()
|
||||
var M = markers
|
||||
var i, j, x1, x2, y1, y2
|
||||
var pos, base_pos
|
||||
var latlon
|
||||
|
||||
/* mark all marker to be 'checked' */
|
||||
for (i in M)
|
||||
M[i]._checked = false;
|
||||
|
||||
/* DEBUG */
|
||||
if (debug) document.getElementById("cluster_dbg").innerHTML = "<b>Clusterize</b><br>"
|
||||
|
||||
/* loop all unchecked markers */
|
||||
for (i in M)
|
||||
{
|
||||
if (M[i]._checked) continue;
|
||||
|
||||
/* use this marker as the base for a new cluster */
|
||||
M[i].setPosition(M[i]._original_latlng) // move in the original pos
|
||||
M[i]._checked = true
|
||||
base_pos = Projection.fromLatLngToDivPixel(M[i]._original_latlng)
|
||||
|
||||
/* define the cluster 'neighbour' rect (in pixel) */
|
||||
x1 = base_pos.x - 15
|
||||
y1 = base_pos.y - 15
|
||||
x2 = base_pos.x + 15
|
||||
y2 = base_pos.y + 15
|
||||
|
||||
if (debug) pt = M[i].getTitle() + " " + base_pos /* DEBUG */
|
||||
|
||||
/* check for other (unchecked) marker near this */
|
||||
for (j in M)
|
||||
{
|
||||
if (M[j]._checked) continue
|
||||
pos = Projection.fromLatLngToDivPixel(M[j]._original_latlng)
|
||||
|
||||
/* if in 'neighbour' rect */
|
||||
if ((pos.x > x1) && (pos.x < x2) && (pos.y > y1) && (pos.y < y2))
|
||||
{
|
||||
/* move the marker near the 'base' one */
|
||||
base_pos.x += 7
|
||||
base_pos.y -= 2
|
||||
latlon = Projection.fromDivPixelToLatLng(base_pos)
|
||||
M[j].setPosition(latlon)
|
||||
M[j]._checked = true
|
||||
if (debug) pt += " | " + M[j].getTitle() /* DEBUG */
|
||||
}
|
||||
}
|
||||
if (debug) document.getElementById("cluster_dbg").innerHTML += pt + "<br>" /* DEBUG */
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -1 +0,0 @@
|
|||
开发者地图
|
|
@ -1 +0,0 @@
|
|||
开发者地图
|
|
@ -1,344 +0,0 @@
|
|||
<h1>联系</h1>
|
||||
|
||||
<h2><b class="contentheading">邮件列表及存档</b></h2>
|
||||
|
||||
<p>
|
||||
Enlightenment 项目有几个可以帮助您的邮件列表。以下表格中包含了一个简单总结,其中包括列表存档。
|
||||
如果您需要订阅、退订或修改订阅设置,只需轻点 "邮件列表" 栏中的列表名称,即可进入订阅详情页面。
|
||||
</p>
|
||||
|
||||
<center>
|
||||
<table class='tab'>
|
||||
<tr><th class='tab'>邮件列表</th>
|
||||
<th class='tab'>存档</th>
|
||||
<th class='tab'>描述</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="http://lists.sourceforge.net/lists/listinfo/enlightenment-announce">Enlightenment 公告列表(announce)</a></td>
|
||||
<td class='tab1'><a href="http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-announce">SourceForge</a>,<a href="http://marc.theaimsgroup.com/?l=enlightenment-announce&r=1&w=2">MARC</a></td>
|
||||
<td class='tab1'>接收关于新版本发布的通知。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="http://lists.sourceforge.net/lists/listinfo/enlightenment-users">Enlightenment 用户列表(users)</a></td>
|
||||
<td class='tab2'><a href="http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-users">SourceForge</a>,<a href="http://marc.theaimsgroup.com/?l=enlightenment-users&r=1&w=2">MARC</a></td>
|
||||
<td class='tab2'>讨论与 E 相关的问题、帮助、评论、反馈等内容。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="http://lists.sourceforge.net/lists/listinfo/enlightenment-devel">Enlightenment 开发列表(devel)</a></td>
|
||||
<td class='tab1'><a href="http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-devel">SourceForge</a>,<a href="http://marc.theaimsgroup.com/?l=enlightenment-devel&r=1&w=2">MARC</a></td>
|
||||
<td class='tab1'>仅开发者订阅,如果您的消息不与代码直接相关,请发送至用户列表。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="http://lists.sourceforge.net/lists/listinfo/enlightenment-svn">Enlightenment SVN Commit 列表</a></td>
|
||||
<td class='tab2'><a href="http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-svn">SourceForge</a></td>
|
||||
<td class='tab2'>获得 SVN 更新的全部信息。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="http://lists.sourceforge.net/lists/listinfo/enlightenment-intl">Enlightenment 国际化支持列表(intl)</a></td>
|
||||
<td class='tab1'><a href="http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-intl">SourceForge</a></td>
|
||||
<td class='tab1'>本地化(l10n)和国际化(i18n)列表。请将您的翻译发送至此列表。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="http://lists.sourceforge.net/lists/listinfo/enlightenment-bugs">Enlightenment Bug Traker 提示</a></td>
|
||||
<td class='tab2'><a href="http://sourceforge.net/mailarchive/forum.php?forum_name=enlightenment-bugs">SourceForge</a></td>
|
||||
<td class='tab2'>获得提交至 Trac 的全部 bug 信息。</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
|
||||
<hr noshade="noshade" style="width: 200px;" />
|
||||
<h2>IRC</h2>
|
||||
|
||||
<p>
|
||||
您总是可以在 #e 频道获得帮助,这是 FreeNode IRC 网络上的 Enlightenment 频道 。从 <a href="http://freenode.org/irc_servers.shtml">
|
||||
FreeNode 服务器列表</a> 选择并连接到其上,然后加入 #e 频道即可。
|
||||
</p>
|
||||
|
||||
<hr noshade="noshade" style="width: 200px;" />
|
||||
<h2>Bugs</h2>
|
||||
<p>如果您遇到了 Bug、缺少需要的特性或者是觉得文档难以理解,请不要犹豫使用 <a href="http://trac.enlightenment.org/e/report">Enlightenment Trac</a>
|
||||
向我们提交 Bug。</p>
|
||||
|
||||
<hr noshade="noshade" style="width: 200px;" />
|
||||
<h2>人员</h2>
|
||||
|
||||
<?php
|
||||
$devspath = "/var/www/web/devs";
|
||||
|
||||
//Exclude accounts that aren't actually devs
|
||||
$exclude = array('ewww');
|
||||
|
||||
class dev
|
||||
{
|
||||
var $login, $irc_nick, $name, $location, $e_mail, $www, $managing;
|
||||
|
||||
public function dev ($infopath)
|
||||
{
|
||||
if (!($content = file ($infopath, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES))) return;
|
||||
|
||||
while (list (, $line) = each ($content))
|
||||
{
|
||||
$delimiter = strpos ($line, ":");
|
||||
$desc = strtolower (trim (substr ($line, 0, $delimiter)));
|
||||
$info = trim (substr ($line, $delimiter+1));
|
||||
switch ($desc)
|
||||
{
|
||||
case "login": $this->login = $info; break;
|
||||
case "irc nick": $this->irc_nick = $info; break;
|
||||
case "name": $this->name = $info; break;
|
||||
case "location": $this->location = $info; break;
|
||||
case "e-mail": $this->e_mail = $info; break;
|
||||
case "www": $this->www = $info; break;
|
||||
case "managing": $this->managing = $info; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($dh = opendir ($devspath))
|
||||
{
|
||||
while ($dir = readdir ($dh))
|
||||
{
|
||||
if (($dir[0] == ".") || $dir == "CVS") continue;
|
||||
if (is_dir ($devspath."/".$dir) && !in_array($dir,$exclude))
|
||||
$devdirs [] = $dir;
|
||||
}
|
||||
closedir ($dh);
|
||||
}
|
||||
|
||||
//sort ($devdirs);
|
||||
while (list (, $dev) = each ($devdirs))
|
||||
{ $infopath = "$devspath/$dev/info.txt";
|
||||
if (file_exists ($infopath))
|
||||
{
|
||||
$newdev = new dev ($infopath);
|
||||
$developers[strtolower($newdev->irc_nick)] = $newdev;
|
||||
}
|
||||
}
|
||||
|
||||
//sort by the irc nick which is the key
|
||||
ksort($developers);
|
||||
|
||||
// output!
|
||||
/*while (list ($key, $val) = each ($developers))
|
||||
{
|
||||
echo "<br/>=================<br/>";
|
||||
echo "LOGIN = ".$val->login."<br/>";
|
||||
echo "IRC = ".$val->irc_nick."<br/>";
|
||||
echo "NAME = ".$val->name."<br/>";
|
||||
echo "LOCATION = ".$val->location."<br/>";
|
||||
echo "EMAIL = ".$val->e_mail."<br/>";
|
||||
echo "WWW = ".$val->www."<br/>";
|
||||
echo "MANAGING = ".$val->managing."<br/><br/>";
|
||||
} */
|
||||
?>
|
||||
|
||||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'><div class="main">
|
||||
|
||||
<center>
|
||||
<table class='tab'>
|
||||
<tr>
|
||||
<th class='tab' width='100px'>姓名</th>
|
||||
<th class='tab'>Managing</th>
|
||||
<th class='tab' width='100px'>IRC 昵称</th>
|
||||
<th class='tab' width='160px'>位置</th>
|
||||
<th class='tab' width='100px'>网站</th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$i=0;
|
||||
while (list ($key, $val) = each ($developers))
|
||||
{
|
||||
if($i++%2)
|
||||
$class='tab1';
|
||||
else
|
||||
$class='tab2';
|
||||
|
||||
echo "<tr>";
|
||||
echo "<td class='$class'>".$val->name."</td>";
|
||||
echo "<td class='$class'>".$val->managing."</td>";
|
||||
echo "<td class='$class'>".$val->irc_nick."</td>";
|
||||
echo "<td class='$class'>".$val->location."</td>";
|
||||
echo "<td class='$class'>";
|
||||
if(strstr($val->www, "http://"))
|
||||
{
|
||||
if($val->www[strlen($val->www)-1] == '/')
|
||||
$val->www = substr($val->www, 0, -1);
|
||||
|
||||
echo "<a href='".$val->www."'>".
|
||||
str_replace(array('http://', 'www.'),'',$val->www)."</a>";
|
||||
}
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
<h2>非活跃成员列表</h2>
|
||||
<center>
|
||||
<table class='tab'>
|
||||
<th class='tab' width='130'>姓名</th>
|
||||
<th class='tab'>组织</th>
|
||||
<th class='tab' width='130px'>IRC 昵称</th>
|
||||
<th class='tab' width='130px'>站点</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:mandrake@user.sourceforge.net">Mandrake</a></td>
|
||||
<td class='tab1'>Core Dev Team</td>
|
||||
<td class='tab1'>mandrake</td>
|
||||
<td class='tab1'><a href="http://www.mandrake.net/">mandrake.net</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:crosendahl@trustlab.com">Christopher Rosendahl</a></td>
|
||||
<td class='tab2'>Ewl, Ewd, Etcher</td>
|
||||
<td class='tab2'>smugg</td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:enilsenNO@SPAMportalen.no">Espen Nilsen</a></td>
|
||||
<td class='tab1'>EWL Contribs</td>
|
||||
<td class='tab1'>ymer|SpNlsn</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:tillsan@users.sourceforge.net">Till Adam</a></td>
|
||||
<td class='tab2'>E17, EVAS DFB</td>
|
||||
<td class='tab2'>tillsan</td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:redalb@users.sourceforge.net">Klaas Bosteels</a></td>
|
||||
<td class='tab1'>Etox</td>
|
||||
<td class='tab1'>redalb</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:lofwyrm@users.sourceforge.net">Adam Kisiel</a></td>
|
||||
<td class='tab2'>Etox</td>
|
||||
<td class='tab2'>lofwyrm</td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:burra@users.sourceforge.net">Burra</a></td>
|
||||
<td class='tab1'>Ecore</td>
|
||||
<td class='tab1'>burra</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:marini@pcmenelao.mi.infn.it%3E">Franz Marini</a></td>
|
||||
<td class='tab2'>Imlib2 Contributions</td>
|
||||
<td class='tab2'></td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:horms@users.sourceforge.net">Horms</a></td>
|
||||
<td class='tab1'>Dev Team</td>
|
||||
<td class='tab1'>horms</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:dphase@users.sourceforge.net">Joshua Deere</a></td>
|
||||
<td class='tab2'>Retina</td>
|
||||
<td class='tab2'>dphase</td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:x5rings@users.sourceforge.net">Chris Thomas</a></td>
|
||||
<td class='tab1'>Elogin</td>
|
||||
<td class='tab1'>x5rings</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:muhri@users.sourceforge.net">Maher Awamy</a></td>
|
||||
<td class='tab2'>Imlib/Evas perl bindings</td>
|
||||
<td class='tab2'>muhri</td>
|
||||
<td class='tab2'><a href="http://www.muhri.net/">muhri.net</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:gilbertt@users.sourceforge.net">Tom Gilbert</a></td>
|
||||
<td class='tab1'>Epplets API, Giblib, Feh, CamE, Geist, Gozer, Gom, Scrot</td>
|
||||
<td class='tab1'>gilbertt</td>
|
||||
<td class='tab1'><a href="http://www.linuxbrit.co.uk/">linuxbrit.co.uk</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:kirth@hole.org">Kirth</a></td>
|
||||
<td class='tab2'>Ports and Package Team</td>
|
||||
<td class='tab2'>kirth</td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:ljlane@users.sourceforge.net">Laurence J. Lane</a></td>
|
||||
<td class='tab1'>Ports and Package Team</td>
|
||||
<td class='tab1'>ljlane</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:stauff@users.sourceforge.net">Platon Fomichev</a></td>
|
||||
<td class='tab2'>Ports and Package Team</td>
|
||||
<td class='tab2'>stauff</td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:sfrost@users.sourceforge.net">Stephen Frost</a></td>
|
||||
<td class='tab1'>Ports and Package Team</td>
|
||||
<td class='tab1'>sfrost</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:andrew@neep.com.au">Andrew</a></td>
|
||||
<td class='tab2'>Web and Doc Team </td>
|
||||
<td class='tab2'>Andrew </td>
|
||||
<td class='tab2'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:cK@whoop.org">Christian Kreibich</a></td>
|
||||
<td class='tab1'>EFSD Owner, Web Team</td>
|
||||
<td class='tab1'>cK </td>
|
||||
<td class='tab1'><a href="http://www.whoop.org/">whoop.org</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a href="mailto:winterlight@hendryx.com">Hendryx</a></td>
|
||||
<td class='tab2'>Web and Doc Team</td>
|
||||
<td class='tab2'>Hendryx</td>
|
||||
<td class='tab2'><a href="http://www.hendyrx.com/">hendyrx.com</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:alphafemale@radiant.net">S. J. Black</a></td>
|
||||
<td class='tab1'>Doc Team</td>
|
||||
<td class='tab1'>alpha female</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'><a target="_self" href="mailto:term@NOSPAM-THANKSusers.sourceforge.net">Term</a></td>
|
||||
<td class='tab2'>Web Team</td>
|
||||
<td class='tab2'>term</td>
|
||||
<td class='tab2'><a href="http://www.twistedpath.org/">twistedpath.org</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'><a href="mailto:trip@ga.prestige.net">Tim Fabiniak</a></td>
|
||||
<td class='tab1'>Web Team</td>
|
||||
<td class='tab1'>minion2</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab2'>Dan Sinclair</td>
|
||||
<td class='tab2'>Ewl, Efreet, EwlBook</td>
|
||||
<td class='tab2'>dj2</td>
|
||||
<td class='tab2'><a href="http://everburning.com/">everburning.com</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='tab1'>Sthithaprajna Garapaty</td>
|
||||
<td class='tab1'>taskbar module</td>
|
||||
<td class='tab1'>iamsthitha</td>
|
||||
<td class='tab1'>N</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 联系
|
|
@ -1,18 +0,0 @@
|
|||
<h1>贡献</h1>
|
||||
|
||||
<p>如果您正在寻找如何帮助这个社区,那么这里就是您要找的地方。
|
||||
我们一直在寻找愿意帮助编写代码、翻译、撰写文档、帮助新用户、回答论坛问题或验证 bug 的人们。
|
||||
如果您对其中的一些内容感兴趣,请继续往下阅读。</p>
|
||||
|
||||
<p>Enlightenment 的全部开发都处于 SVN 仓库。您可以通过
|
||||
<a href="http://trac.enlightenment.org/e/browser/trunk">Trac</a> 界面浏览它。
|
||||
您可以使用开发快照工作,但是它们总是比 SVN 中的当前版本落后。报告的任何 bug 都应当基于当前的 SVN 版本。</p>
|
||||
|
||||
<p>请查看 <a href=http://svn.enlightenment.org>svn.enlightenment.org</a>
|
||||
以了解关于使用 SVN 的信息。</p>
|
||||
|
||||
<p>关于 EFL 函数库的更多信息,请参阅
|
||||
<a href="http://wiki.enlightenment.org">wiki</a> 和
|
||||
<a href="http://docs.enlightenment.org">文档</a>。Bug 和期望特性都可以通过
|
||||
<a href="http://trac.enlightenment.org/e">Tracker</a> 报告。</p>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 贡献
|
124
p/docs/zh-body
124
p/docs/zh-body
|
@ -1,124 +0,0 @@
|
|||
<h1>文档</h1>
|
||||
|
||||
<div class="section-plug">
|
||||
<div class="left-border">
|
||||
<div class="right-border">
|
||||
<h3>EFL API 文档</h3>
|
||||
<p>各种函数库的 doxygen API 文档</p>
|
||||
<ul>
|
||||
<li>Imlib2 [<a href="http://docs.enlightenment.org/api/imlib2/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/imlib2/imlib2-reference.pdf">PDF</a>]</li>
|
||||
<li>Eet [<a href="http://docs.enlightenment.org/api/eet/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/eet/eet-reference.pdf">PDF</a>]</li>
|
||||
<li>Evas [<a href="http://docs.enlightenment.org/api/evas/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/evas/evas-reference.pdf">PDF</a>]</li>
|
||||
<li>Ecore [<a href="http://docs.enlightenment.org/api/ecore/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/ecore/ecore-reference.pdf">PDF</a>]</li>
|
||||
<li>Edje [<a href="http://docs.enlightenment.org/api/edje/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/edje/edje-reference.pdf">PDF</a>]</li>
|
||||
<li>Embryo [<a href="http://docs.enlightenment.org/api/embryo/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/embryo/embryo-reference.pdf">PDF</a>]</li>
|
||||
<li>Epeg [<a href="http://docs.enlightenment.org/api/epeg/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/epeg/epeg-reference.pdf">PDF</a>]</li>
|
||||
<li>Epsilon [<a href="http://docs.enlightenment.org/api/epsilon/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/epsilon/epsilon-reference.pdf">PDF</a>]</li>
|
||||
<li>E_DBus [<a href="http://docs.enlightenment.org/api/e_dbus/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/e_dbus/e_dbus-reference.pdf">PDF</a>]</li>
|
||||
<li>Ewl [<a href="http://docs.enlightenment.org/api/ewl/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/ewl/ewl-reference.pdf">PDF</a>]</li>
|
||||
<li>Etk [<a href="http://docs.enlightenment.org/api/etk/html">HTML</a>]</li>
|
||||
<li>Emotion [<a href="http://docs.enlightenment.org/api/emotion/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/emotion/emotion-reference.pdf">PDF</a>]</li>
|
||||
<li>Engrave [<a href="http://docs.enlightenment.org/api/engrave/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/engrave/engrave-reference.pdf">PDF</a>]</li>
|
||||
<li>Efreet [<a href="http://docs.enlightenment.org/api/efreet/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/efreet/efreet-reference.pdf">PDF</a>]</li>
|
||||
<li>Ethumb [<a href="http://docs.enlightenment.org/api/ethumb/html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/api/ethumb/ethumb-reference.pdf">PDF</a>]</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Enlightenment 项目不仅提供了一个窗口管理工具,无论您是一位用户还是一位开发者,甚至仅仅是路过此处,都可以在此处找到您可能需要的内容。
|
||||
</p>
|
||||
|
||||
<p>
|
||||
另外还有一个 <a href="http://trac.enlightenment.org/e/wiki">wiki</a>
|
||||
可供使用(请注意仍有一些页面处在 <a href="http://wiki.enlightenment.org/">旧的 wiki</a> 之中)。
|
||||
</p>
|
||||
|
||||
<h2>EFL Beta 手册</h2>
|
||||
<p>
|
||||
这个手册仍在编写之中,所以其中仍有部分过时的代码示例,但对于概念的描述应当是准确的。
|
||||
</p>
|
||||
|
||||
<h3>EFL 简介[<a
|
||||
href="http://trac.enlightenment.org/e/wiki/IntroductionToEFL">HTML</a>] [<a
|
||||
href="http://homepages.pathfinder.gr/kazanaki/contrib/concepts.pdf">PDF</a>]</h3>
|
||||
<p>
|
||||
这是一个高层次的 EFL 函数库概览。其中描述了 EFL 背后的理念,如果您不知道为什么要关注它,那么请这篇文档正是为您所准备。<br />
|
||||
作者:<a href="mailto:kkapelonPLEASE@NOSPAMfreemail.gr">Kostis Kapelonis</a>
|
||||
</p>
|
||||
|
||||
<h3>The EFL Cookbook [<a
|
||||
href="http://docs.enlightenment.org/books/cookbook/eflcookbook.html">HTML</a>] [<a
|
||||
href="http://docs.enlightenment.org/books/cookbook/eflcookbook.pdf">PDF</a>]</h3>
|
||||
<p>
|
||||
类似于 O'Reilly 的 Cookbook 形式的 EFL 开发文档。其中给出了所有的组件的样例代码。
|
||||
这部社区文档欢迎任何人的贡献。它已被翻译为以下几种语言:<br />
|
||||
<ul>
|
||||
<li>西班牙语:[<a
|
||||
href="http://docs.enlightenment.org/books/cookbook/eflcookbook.es.html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/books/cookbook/eflcookbook.es.pdf">PDF</a>]</li>
|
||||
<li>法语:[<a
|
||||
href="http://docs.enlightenment.org/books/cookbook/eflcookbook.fr.html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/books/cookbook/eflcookbook.fr.pdf">PDF</a>]</li>
|
||||
<li>巴西葡萄牙语:[<a
|
||||
href="http://docs.enlightenment.org/books/cookbook/eflcookbook.pt-BR.html">HTML</a>]
|
||||
[<a href="http://docs.enlightenment.org/books/cookbook/eflcookbook.pt-BR.pdf">PDF</a>]</li>
|
||||
</ul>
|
||||
如果您对帮助此文档感兴趣,请联系 <a href="mailto:benrNO@SPAMcuddletech.com">benr</a>。
|
||||
</p>
|
||||
|
||||
<h3>The Ewl Book [<a
|
||||
href="http://docs.enlightenment.org/books/ewlbook/ewlbook.pdf">PDF</a>]</h3>
|
||||
<p>
|
||||
The Ewl book 是 Enlightnened Widget Library (Ewl) 的简介。
|
||||
此文档试图帮助您开始使用 EWL 并给予您一个更普遍适用的部件视角。<br />
|
||||
您还可以得到它的西班牙语版本:[<a
|
||||
href="http://docs.enlightenment.org/books/ewlbook/ewlbook.es.pdf">PDF</a>].<br />
|
||||
作者:<a href="mailto:dj2NO@SPAMeverburning.com">Dan 'dj2' Sinclair</a>
|
||||
</p>
|
||||
|
||||
<h3>Building Interfaces with Edje: The Edje Developers Guide [<a
|
||||
href="http://docs.enlightenment.org/books/edjebook/edjebook.pdf">PDF</a>]</h3>
|
||||
<p>
|
||||
A complete guide to designing interfaces using Edje and utilizing them
|
||||
effectively in your EVAS applications. Includes a complete overview of
|
||||
Edje Data Collections (EDC) and the Edje API, including sample code and
|
||||
reference material. Utilizing Edje effectively can simplify and streamline
|
||||
application development and make nearly any application completely
|
||||
skinable by even non-programmers.<br />
|
||||
Written by <a href="mailto:benrNO@SPAMcuddletech.com">Ben 'technikolor' Rockwood</a>.
|
||||
</p>
|
||||
|
||||
<h2>Enlightenment DR16 Documentation</h2>
|
||||
<p>
|
||||
There is ample documentation available from Enlightenment itself. eDox is
|
||||
DR16's "built in" docuemenation and tutorial system. This system was removed
|
||||
from the main distribution with the release of DR16.7 in order to shrink the
|
||||
size of the distribution and applications installed disk usage. If you are
|
||||
new to Enlightenment, please <a
|
||||
href="http://sourceforge.net/project/showfiles.php?group_id=2&package_id=116678&release_id=234365">download
|
||||
and install the enlightenment-docs package (aka: eDox)</a>.
|
||||
</p>
|
||||
|
||||
<h3>EtherDox [<a href="http://etherdoxproject.com">HTML</a>]</h3>
|
||||
<p>
|
||||
Assorted articles on DR16 theming building toward a complete set of
|
||||
documents for the DR16 themer.<br />
|
||||
Written by <a href="mailto:peteNO@SPAMlowatts.demon.co.uk">monkiboi</a>.
|
||||
</p>
|
||||
|
|
@ -1 +0,0 @@
|
|||
文档
|
|
@ -1 +0,0 @@
|
|||
文档
|
|
@ -1,125 +0,0 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main' colspan=3>
|
||||
<div class="main">
|
||||
<h1>下载 Enlightenment DR16</h1>
|
||||
<p>根据您的不同需要,有多种方式可以获得Enlightenment。</p>
|
||||
|
||||
<p>DR16 的最新版本为 1.0.1,发布于2009年09月10日。
|
||||
您可以在
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=2">SourceForge
|
||||
下载页面</a></p> 找到当前或历史版本的 DR16、核心主题、epplets、e16menuedit、e16keyedit
|
||||
以及imlib2。
|
||||
<p>DR16 可以在多种类 Unix 平台上运行(*nix),请选择您所需要的版本。</p>
|
||||
|
||||
<center>
|
||||
<table class='tab'>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="tab">发行版/平台</td>
|
||||
<th class="tab">文件</td>
|
||||
<th class="tab">注释</td>
|
||||
</tr>
|
||||
|
||||
<tr class="team-dark">
|
||||
<td class='tab1'>Enlightenment Source Code TAR.GZ</td>
|
||||
<td class='tab1'>
|
||||
<a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.1.tar.gz?download">e16-1.0.1.tar.gz</a>
|
||||
</td>
|
||||
<td class='tab1'> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="team-light">
|
||||
<td class='tab2'>Source Package RPM</td>
|
||||
<td class='tab2'>
|
||||
<a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.1-1.fc10.src.rpm?download">e16-1.0.1-1.fc10.src.rpm</a>
|
||||
</td>
|
||||
<td class='tab2'> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="team-dark">
|
||||
<td class='tab1'>Linux i386 Binary RPM</td>
|
||||
<td class='tab1'>
|
||||
<a href="http://prdownloads.sourceforge.net/enlightenment/e16-1.0.1-1.fc10.i386.rpm?download">e16-1.0.1-1.fc10.i386.rpm</a>
|
||||
</td>
|
||||
<td class='tab1'> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="team-light">
|
||||
<td class='tab2'>Gentoo Linux</td>
|
||||
<td class='tab2'>
|
||||
<a href="http://packages.gentoo.org/package/x11-wm/enlightenment">e16 ebuilds</a>
|
||||
</td>
|
||||
<td class='tab2'> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="team-dark">
|
||||
<td class='tab1'>Debian GNU/Linux DEB</td>
|
||||
<td class='tab1'>
|
||||
<a href="http://packages.debian.org/e16">e16 packages</a>
|
||||
</td>
|
||||
<td class='tab1'> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="team-light">
|
||||
<td class='tab2'>SUSE Linux (PackMan)</td>
|
||||
<td class='tab2'><a href="http://packman.links2linux.de/index.php4?action=638">E DR16.8</a></td>
|
||||
<td class='tab2'> </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>下载 Enlightenment DR17 和 EFL</h1>
|
||||
<p>DR17 和 EFL 目前仍为正式发布,提供的多种发行版的软件包是基于 SVN 仓库和开发快照
|
||||
tarball 发布的。
|
||||
如果您希望使用 SVN,请查看 <?php a('contribute', "贡献");?> 页面获得相关信息。</p>
|
||||
|
||||
<hr>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<p><h2>发布</h2></p>
|
||||
<p>最新的发布版本可以在这里找到:</p>
|
||||
<p><a href="http://download.enlightenment.org/releases">发布</a></p>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<p><h2>SVN & 和开发快照</h2></p>
|
||||
<p><?php img("aspara.png", "开发快照");?></p>
|
||||
<p><?php a("contribute", "SVN");?> 信息在此处。</p>
|
||||
<p>开发快照可在
|
||||
<a href="http://download.enlightenment.org/snapshots">download.enlightenment.org/snapshots</a>下载。</p>
|
||||
<p><a href="http://download.enlightenment.org/snapshots/LATEST">最新开发快照</a></p>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<p><h2>软件包</h2></p>
|
||||
<p>现有以下平台的官方软件包:
|
||||
<a href="http://packages.enlightenment.org/">Debian</a>,
|
||||
<a href="http://packages.enlightenment.org/">Ubuntu</a>,
|
||||
<a href="http://packages.enlightenment.org/">Fedora</a>。</p>
|
||||
<p>非官方软件包:
|
||||
Debian, <a href="http://ubuntuforums.org/showthread.php?t=97199&highlight=E17+cvs">Ubuntu</a>,
|
||||
<a href="http://sps.nus.edu.sg/~didierbe">Fedora</a>,
|
||||
<a href="http://wiki.archlinux.org/index.php/E17">ArchLinux</a>,
|
||||
<a href="http://overlays.gentoo.org/dev/vapier/wiki/enlightenment">Gentoo</a> 和
|
||||
<a href="http://slacke17.sourceforge.net">Slackware</a>。另有一部分FreeBSD
|
||||
移植。</p>
|
||||
|
||||
<p>我们不对这些软件包作出能够按照预期工作的保证。如果您在使用通过软件包运行 DR17 或 EFL 时出现
|
||||
任何问题,请首先与相关维护者联系,在不是软件包所致的情况下再与 Enlightenment 项目组联系。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 下载
|
|
@ -1,37 +0,0 @@
|
|||
<table class='main'>
|
||||
<tr>
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h3>什么是 Enlightenment ?</h3>
|
||||
<p>
|
||||
Enlightenment 是一个窗口管理器,Enlightenment 是一个桌面 shell。
|
||||
Enlightenment 是用以创建漂亮应用程序的积木。
|
||||
Enlightenment,或者简称为 <em><strong>e</strong></em>,是一个团队正试图创造的新一代软件。
|
||||
</p>
|
||||
|
||||
<p>
|
||||
如果您想了解 Enlightenment 项目背后的更多历史信息,请查看 <?php a("about", "关于");?> 页面。
|
||||
我们还为用户准备了多样的 <?php a("support", "支持");?> 信息资源。
|
||||
对于希望帮助此项目的,<?php a("contribute", "贡献");?> 页面是开始的好地方。
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<center>
|
||||
<?php img("logo.png", "E"); ?>
|
||||
<?php blink("i/logo-s.png", "下载 E", "下载"); ?>
|
||||
</center>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class='main'>
|
||||
<div class="main">
|
||||
<h3>Enlightenment 新闻</h3>
|
||||
<p><?php include 'p/news/latestnews.php' ?></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1 +0,0 @@
|
|||
Enlightenment - 指尖的美丽
|
|
@ -1 +0,0 @@
|
|||
首页
|
|
@ -1 +0,0 @@
|
|||
新闻
|
|
@ -1 +0,0 @@
|
|||
关于
|
|
@ -1 +0,0 @@
|
|||
下载
|
|
@ -1 +0,0 @@
|
|||
支持
|
|
@ -1 +0,0 @@
|
|||
贡献
|
|
@ -1 +0,0 @@
|
|||
联系
|
|
@ -1 +0,0 @@
|
|||
Tracker
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
require_once 'p/news/class.news.php';
|
||||
|
||||
$news = new news;
|
||||
$new = $news->get_one($_GET['news_id']);
|
||||
|
||||
echo "<h1>".$new['title']."</h1>\n";
|
||||
echo "<div class='post'>\n";
|
||||
echo "<p class='news-date'>".$new['date']."</p>\n";
|
||||
echo "<p class='tiny'><a href='mailto:".$new['email']."'>".$new['author']."</a> - ".$new['date']."</p>";
|
||||
echo "<p class='news-content'>".$new['content']."</p>\n";
|
||||
echo "</div>\n";
|
||||
|
||||
?>
|
||||
|
||||
<p><a href='p.php?p=news&l=en' title='阅读存档'>阅读存档</a></p>
|
|
@ -1,27 +0,0 @@
|
|||
<h1>Enlightenment 新闻</h1>
|
||||
|
||||
<?php
|
||||
require_once 'class.news.php';
|
||||
|
||||
setlocale(LC_ALL, 'zh_CN');
|
||||
|
||||
$news = new news;
|
||||
$list = $news->get(10);
|
||||
foreach($list as $new)
|
||||
{
|
||||
if (($new = $news->read_content($new)) !== NULL)
|
||||
{
|
||||
echo "<div class='post'>\n";
|
||||
echo "<p class='news-title'><a href='p.php?p=news/show&l=".$_GET['l']."&news_id=$new[id]'>".$new['title']."</a></p>";
|
||||
echo "<p class='tiny'><a href='mailto:".$new['email']."'>".$new['author']."</a> - ".$new['date']."</p>";
|
||||
echo "<div class='news-content'>".$new['content']."</div>\n";
|
||||
echo "</div>\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($news->has_archives() == true)
|
||||
{
|
||||
echo "<p><a href='p.php?p=news/archives&l=".$_GET['l']."' title='阅读存档'>阅读存档</a></p>";
|
||||
}
|
||||
|
||||
?>
|
|
@ -1 +0,0 @@
|
|||
Enlightenment - 新闻
|
|
@ -1 +0,0 @@
|
|||
Enlightenment 支持
|
Loading…
Reference in New Issue