前言

刚用开源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的导航栏中添加新页面链接的更多相关文章

  1. magento导航栏中如何加入home主页

    magento在导航栏中加入home主页是很简单的,几个步骤即可在magento导航栏中加入home主页! 下面简单介绍下如何在magento导航栏中加入home主页: 首先我们打开对应应用的模板文件 ...

  2. AngularJS 导航栏动态添加.active

    在传统jQuery中,实现导航栏动态添加.active类的思路比较简单,就是当点击的时候,清除其他.active,然后给当前类加上.active. 但是在AngularJS中,就不能再采用这种jQue ...

  3. 利用overflow实现导航栏中常 出现的倒三角下拉小图标

    常用网页界面中,导航栏中的倒三角下拉小图标实现,可用overflow: 效果如右图: .Triangle{position:relative;width:280px;height:15px;} ;ov ...

  4. 【代码笔记】iOS-在导航栏中显示等待对话框

    一,效果图. 二,代码. ViewController.m #import "ViewController.h" @interface ViewController () @end ...

  5. window10删除导航栏中的onedrive

    前面介绍了如何删除导航栏中的“快速访问”,对于一个根本用不着的“oneDrive”肯定也得搞掉. 0.处理前: 1.卸载onedrive是不能清除导航栏里面的onedrive的,进入注册表regedi ...

  6. bootstrap如何去除自带的样式----导航栏中的菜单实现平滑的过渡到对应的菜单区域-------动态跟换模态框中的内容

    问题1:如何去除bootstap中css中自带的overflow:hidden这个样式 今天遇见在bootstap中轮播图上的  附带图  片不能够显示出来,图片始终有一部分的高度  被隐藏了 后来通 ...

  7. JavaScript网站设计实践(二)实现导航栏当前所选页面的菜单项高亮显示

    一.(一)中的代码还可以修改的地方. 在(一)中,如果是运行在服务器下,如apache等,可以把head和navigation的div抽取出来,放置在另一个html文件里,然后在页面中,include ...

  8. phpcms 内容——>评论管理 中添加 打开文章链接的 功能

    需要实现的功能:在后台管理系统中的 内容 下的——>评论管理  中添加 打开文章链接的 功能 1.数据库表是 v9_comment和v9_comment_data_1. v9_comment是被 ...

  9. 向CDH5集群中添加新的主机节点

    向CDH5集群中添加新的主机节点 步骤一:首先得在新的主机环境中安装JDK,关闭防火墙.修改selinux.NTP时钟与主机同步.修改hosts.与主机配置ssh免密码登录.保证安装好了perl和py ...

随机推荐

  1. Infralution.Localization.Wpf

    WPF Localization Using RESX Files Once you have downloaded the source code and built it, add a refer ...

  2. [maven]maven插件 tomcat7-maven-plugin 的使用

    使用 tomcat7-maven-plugin,可以将tomcat内嵌到web项目中,直接运行webapp项目. 第一步.pom.xml的配置: <build> <plugins&g ...

  3. ubuntu 安装百度云客户端

    下载地址:http://pan.baidu.com/download 如果没有安装alien,安装 luo@luo-ThinkPad-W540:~$sudo apt-get install alien ...

  4. Linux下如何启用MySQL数据库远程访问

    远程连接MySQL出于安全考虑,一般都关闭了远程访问,但有时候需要提供远程访问数据库的服务,下面我们快速学习下: 第一步:修改my.cnf文件使用文本编辑器去编辑MySQL服务器的配置文件my.cnf ...

  5. HANA到MySQL数据同步方法!

    随着各行各业信息化建设的不断发展,异构数据库间的互通.汇聚,挖掘,分析逐渐被提上日程, TreeSoft数据库管理系统,实现了异构数据库的维护.监控.可视化.自动交换同步.目前支持MySQL,Orac ...

  6. Unity学习笔记_控制人物移动+摄像机跟随

    我想做的移动操作方式类似[流星蝴蝶剑].[龙之谷].[我的世界第三人称]的第三人称操作方式. 操作说明:W键会朝当前镜头方向前进,鼠标控制镜头旋转. 做前需知(先去稍微了解一下比较好): ①unity ...

  7. Ubuntu搭建Spring源码环境常见问题

    在一心想要学习Spring框架源码时,我们会遇到很多麻烦的问题.开始本文前,你只需要拥有一个装好IDEA的Ubuntu系统就可以愉快启程了.如果还没有IDEA,可以参考在Ubuntu上安装Intell ...

  8. Linux 18.04 搭建lamp环境

    Linux 18.04 下搭建lamp环境 一.      安装服务器 a)     在配置好sources.list文件后,apt-get updata&upgrade更新软件: 二.    ...

  9. 最新 网龙网络java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.网龙网络等10家互联网公司的校招Offer,因为某些自身原因最终选择了网龙网络公司.6.7月主要是做系统复习.项目复盘.Le ...

  10. .Net WebApi接口之Swagger UI 隐藏指定接口类或方法

    swagger的一个最大的优点是能实时同步api与文档,但有些时候我们不想全部公开接口,而要隐藏或屏蔽一些接口类或方法,swagger也是支持的,只需要设置一下DocumentFilter方法. 第一 ...