在开源UOJ的导航栏中添加新页面链接
前言
刚用开源UOJ搭建OJ成功时就想在导航栏那里添加一个站内页面链接,无奈当时乱搞水平低,网上也没有教程,不晓得怎么弄
今天突然来了闲情乱搞一通,结果还真乱搞成了...特意写下为后来人少走点弯路
前置技能点
- Linux基本命令行操作
如果您觉得这篇文章很naiive,请谅解,因为我对前端一无所知,也是以这样的视角写一份教程
假设我们要在导航栏加一个叫NCOD
的站内链接,并创建一个叫NCOD
的站内页面
Step1
先找个地方把当前版本用SVN检出,如果您不知道这是什么船新操作,建议您仔细阅读文档中对SVN的介绍
注意在这里SVN地址后还要加/uoj
,例如svn co svn://xxx.xxx.x.x/uoj ...
然后cd uoj/1/app
Step2
首先cd views
,然后看到一个叫main-nav.php
的玩意没,sudo gedit main-nav.php
(如果你是V党请自便)
然后你就会看到一大串导航栏中已经有的链接名字的英文,比如hack
,contests
之类的,你只要仿造格式复制一句话加在后面就好了,比如
<li><a href="/NCOD"><?= UOJLocalde::get('NCOD') ?></a></li>
这时候你把文件提交到SVN仓库(如果您不知道这是什么,请您还是阅读文档 中对SVN的介绍),会发现导航栏多了个叫NCOD
的链接,但是点进去却是404,接下来我们就要创建一个叫NCOD
的界面
Step3
cd ..
回\app
目录,再cd controllers
,会发现有一大堆php,这时候只要在这里新建个php文件就行了,例如
gedit NCOD.php
,里面的内容也是有讲究的,例如
<?php echoUOJPageHeader(UOJLocale::(get('NCOD')))?>
<article>
<header>
<h2 class="page-header">National Coming Out Day</h2>
<header>
...
<article>
<?php echoUOJPageFooter() ?>
注意第一行中括号内容要一致,如果您没有把握,您可以复制faq.php
的格式看一看
保存修改后你需要将这个文件加到SVN
仓库
例如svn add NCOD.php
Step4
创建php
文件后再cd ..
回\app
目录
看到一个叫route.php
的玩意没?sudo gedit route.php
仿照格式加一句话就好了,例如
Route::any('/NCOD','NCOD.php');
然后保存修改后再cd /locale/basic
,修改zh-cn.php
,仿照格式在其中加上导航栏中你想要的中文名字
例如'NCOD' => '出柜日',
Step5
最后回到\app
文件夹,将这个版本提交上仓库即可
svn commit -m "..." *
话说距离初赛还有2天还在搞这个幺蛾子,怕是要凉了
在开源UOJ的导航栏中添加新页面链接的更多相关文章
- magento导航栏中如何加入home主页
magento在导航栏中加入home主页是很简单的,几个步骤即可在magento导航栏中加入home主页! 下面简单介绍下如何在magento导航栏中加入home主页: 首先我们打开对应应用的模板文件 ...
- AngularJS 导航栏动态添加.active
在传统jQuery中,实现导航栏动态添加.active类的思路比较简单,就是当点击的时候,清除其他.active,然后给当前类加上.active. 但是在AngularJS中,就不能再采用这种jQue ...
- 利用overflow实现导航栏中常 出现的倒三角下拉小图标
常用网页界面中,导航栏中的倒三角下拉小图标实现,可用overflow: 效果如右图: .Triangle{position:relative;width:280px;height:15px;} ;ov ...
- 【代码笔记】iOS-在导航栏中显示等待对话框
一,效果图. 二,代码. ViewController.m #import "ViewController.h" @interface ViewController () @end ...
- window10删除导航栏中的onedrive
前面介绍了如何删除导航栏中的“快速访问”,对于一个根本用不着的“oneDrive”肯定也得搞掉. 0.处理前: 1.卸载onedrive是不能清除导航栏里面的onedrive的,进入注册表regedi ...
- bootstrap如何去除自带的样式----导航栏中的菜单实现平滑的过渡到对应的菜单区域-------动态跟换模态框中的内容
问题1:如何去除bootstap中css中自带的overflow:hidden这个样式 今天遇见在bootstap中轮播图上的 附带图 片不能够显示出来,图片始终有一部分的高度 被隐藏了 后来通 ...
- JavaScript网站设计实践(二)实现导航栏当前所选页面的菜单项高亮显示
一.(一)中的代码还可以修改的地方. 在(一)中,如果是运行在服务器下,如apache等,可以把head和navigation的div抽取出来,放置在另一个html文件里,然后在页面中,include ...
- phpcms 内容——>评论管理 中添加 打开文章链接的 功能
需要实现的功能:在后台管理系统中的 内容 下的——>评论管理 中添加 打开文章链接的 功能 1.数据库表是 v9_comment和v9_comment_data_1. v9_comment是被 ...
- 向CDH5集群中添加新的主机节点
向CDH5集群中添加新的主机节点 步骤一:首先得在新的主机环境中安装JDK,关闭防火墙.修改selinux.NTP时钟与主机同步.修改hosts.与主机配置ssh免密码登录.保证安装好了perl和py ...
随机推荐
- Ubuntu 18.04系统下arm-linux-gcc交叉编译器安装
Ubuntu 18.04系统: arm-linux-gcc 4.4.3版本. 安装arm-linux-gcc将压缩包arm-linux-gcc.tar.gz解压到arm-linux-gcc文件夹tar ...
- Methods for Identifying Out-of-Trend Results in Ongoing Stability Data
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- redhat 7.6下如何更新YUM源(仓库)?
1. 安装epel-release yum install epel-release 2. 安装webstatic-release rpm -Uvh https://mirror.we ...
- js和微信小程序本地获取东八北京时间
changeCount(){ // 目标时区,东8区 const targetTimezone = -8; // 当前时区与中时区时差,以min为维度 const dif = new Date().g ...
- [maven]maven插件 tomcat7-maven-plugin 的使用
使用 tomcat7-maven-plugin,可以将tomcat内嵌到web项目中,直接运行webapp项目. 第一步.pom.xml的配置: <build> <plugins&g ...
- 递归-PrintDigit
static void PrintDigit(double n,int len,int count=-1) { if (n <0) { n = System.Math.Abs(n); Conso ...
- mysql中单个字段包含','转换成多条记录
问题:把value中的值取出作为另外一个表的where条件时,必须把value中的用','分隔的每一个id截取出来 解决方法: ),) ) #本文参考自网络某文章,非原创
- [非原创]Office 2019 增强版 批处理激活 亲测成功
忘了原创网址了,在 https://www.52pojie.cn/ 上看到的,这里我备忘一下,希望知道原创网址的朋友告诉我一下,谢谢! 将下面批处理脚本存成.bat文件后,以管理员方式运行: @ech ...
- 2019-10-20 李宗盛 spss作业
SPSS: 1.有关SPSS数据字典的说法,正确的是 A.SPSS数据集的数据字典可以复制到其他数据集中 B.SPSS数据集的数据字典是不能复制的 C.SPSS的数据字典可以通过“复制”和“粘贴”在不 ...
- OpenCV.20190628
1.OpenCV提取ORB特征并匹配 - 简书.html(https://www.jianshu.com/p/420f8211d1cb) OpenCV提取ORB特征并匹配 - 简书.html(http ...