为JI的所有学生提供的一个网站

dev-inspinia 2018-04-22 09:56 UTC

This package is not auto-updated.

Last update: 2024-09-23 16:06:29 UTC


README

Build Status

为JI的所有学生提供的一个网站

需求

PHP >= v5.4
Composer >= v1.3.2
Nodejs >= v7.4.0
npm >= v4.0.5

服务器是用CodeIgniter 3构建的,前端是用requirejs构建的。

我们强烈建议您使用jetbrains PhpStorm IDE开发或部署此网站,该IDE为学生提供免费的教育许可证。我们的教程大多基于它。

安装

确保您满足上述所有要求,并运行以下脚本

php composer.phar install
npm install
npm run compile:template
npm run compile:build

该脚本执行以下操作

  • 通过composer安装PHP依赖项
  • 通过node和bower安装Node和Bower依赖项
  • 编译Handlebars模板
  • 构建整个前端配置文件app.*.js

要开始开发,运行

sudo npm run deploy:development

要开始生产,运行

sudo npm run deploy:production

此脚本将根据不同的用途复制不同的文件,然后您可以上传整个项目到FTP服务器。您可能需要更改部署/开发|生产目录中的文件内容以实现某些目的。

请记住将文件夹 jscssnode_modulesbower_modules 的模式设置为 755,将文件夹 uploads 的模式设置为 777,否则在Linux服务器上某些功能可能无法正常工作。

在 etc/apache2/sites-enabled 中的 000-default.conf 中编辑,并将 DocumentRoot 更改为您的工作目录,例如 "var/www/ipp"。然后,将以下内容添加到文件末尾。

<Directory /var/www/ipp>
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

到文件的末尾。

Ubuntu上的Apache2没有启用重写引擎,使用以下命令启用它。

sudo a2enmod rewrite
sudo service apache2 restart

贡献

JI的所有学生都欢迎为此项目做出贡献。有关开发参考,请参阅WIKI。

参考

  • babel Babel是为编写下一代JavaScript而设计的编译器。
  • bootstrap 是在Web上开发响应式、移动优先项目的最流行的HTML、CSS和JavaScript框架。
  • bootstrap-touchspin 是Bootstrap 3的一个移动和触摸友好的输入微调器组件。
  • bower 是Web的包管理器。
  • Chart.js 是使用 <canvas> 标签的简单HTML5图表。
  • chosen Chosen是一个库,用于使长而难以操控的select框更友好。
  • clean-css 是node.js和Web的快速高效的CSS优化器。
  • code-prettify 是一个可嵌入的脚本,它使HTML中的源代码片段更美观。
  • CodeIgniter 是一个开源PHP框架(最初来自EllisLab)。
  • console Console组件简化了美观和可测试的命令行界面的创建。
  • cropper 是一个简单的jQuery图像裁剪插件。
  • editor.md 开源可嵌入的在线Markdown编辑器(组件)。
  • flatpickr 无依赖的轻量级且强大的日期时间选择器。
  • flowchart.js 从图表的文本表示绘制简单的SVG流程图。
  • FontAwesome 图标字体和CSS工具包。
  • Footable jQuery插件,用于使HTML表格响应式。
  • Gritter jQuery的一个小巧的growl-like通知插件。
  • Handlebars Handlebars.js是由Chris Wanstrath创建的Mustache模板语言的扩展。
  • jQuery jQuery JavaScript库。
  • jQuery-slimScroll 一个将任何div转换为具有漂亮滚动条的滚动区域的jQuery小插件。
  • jquery-ui 官方的jQuery用户界面库。
  • jquery.flowchart 允许你绘制流程图的jQuery插件。
  • js-sequence-diagrams 从图表的文本表示绘制简单的SVG顺序图。
  • katex 网页上的快速数学排版。
  • marked 一个用于快速解析和编译Markdown的库。
  • metismenu 一个jQuery菜单插件。
  • oauth2-client 与OAuth 2.0服务提供商的简单集成。
  • pace 自动为你的网站添加进度条。
  • PHPExcel 用于读取和写入电子表格文件的纯PHP库。
  • qrcodejs 用于javascript的跨浏览器QRCode生成器。
  • raphael JavaScript矢量库。
  • require-css RequireJS CSS加载插件,允许CSS需要和优化。
  • requirejs JavaScript文件和模块加载器。
  • select2 Select2是基于jQuery的select框的替代品。支持搜索、远程数据集和结果的无限滚动。
  • shelljs Node.js的便携式Unix shell命令。
  • toastr 简单的javascript toast通知。
  • UglifyJs NodeJS的JavaScript解析器/压缩器/美化器库。
  • underscore JavaScript的实用工具带。
  • xterm.js 在浏览器中的完整xterm终端。
  • zend-permissions-acl 提供了一个轻量级且灵活的访问控制列表(ACL)实现,用于权限管理。