From 72ba01a267df1848705228b2b3b72bcdde7b042b Mon Sep 17 00:00:00 2001 From: idealclover Date: Fri, 31 May 2019 19:21:21 +0800 Subject: [PATCH] :art: beautify codes --- archive.php | 60 +++-- assets/clover.css | 45 ++-- assets/clover.js | 5 +- bilibili.php | 66 +++--- components/comments.php | 88 ++++---- components/footer.php | 171 ++++++++------- components/header.php | 140 ++++++------ components/sidebar.php | 110 +++++----- cross.php | 64 +++--- douban.php | 175 ++++++++------- functions.php | 12 +- index.php | 42 ++-- page.php | 34 ++- post.php | 68 +++--- project.php | 164 +++++++------- resume.php | 469 +++++++++++++++++----------------------- 16 files changed, 822 insertions(+), 891 deletions(-) diff --git a/archive.php b/archive.php index a1431d8..c1fec78 100644 --- a/archive.php +++ b/archive.php @@ -1,57 +1,55 @@ - -need( 'components/header.php' ); ?> +need('components/header.php'); ?>
- - -archiveTitle( array( -// 'category' => _t( '%s' ), -// 'search' => _t( '包含关键字 %s 的文章' ), -// 'tag' => _t( '标签 %s 下的文章' ), -// 'author' => _t( '%s 发布的文章' ) -// ), '', '' ); ?> - - - +
-
- have() ): ?> - next() ): ?> + have()) : ?> + next()) : ?>

- date( 'Y.m.d' ); ?> | + date('Y.m.d'); ?> | category(','); ?> | - cid);?> | - commentsNum( _t(' 0 条评论'), _t(' 1 条评论'), _t(' %d 条评论') ); ?> - + cid); ?> | + commentsNum(_t(' 0 条评论'), _t(' 1 条评论'), _t(' %d 条评论')); ?>

- content( _t('查看更多 ->') ); ?> -excerpt( 100 ); ?> + content(_t('查看更多 ->')); ?>
-
+
- - + +
-

+

- - pageNav( _t('« 前一页'), _t('后一页 »') ); ?> + + pageNav(_t('« 前一页'), _t('后一页 »')); ?>
- need('components/sidebar.php'); ?> + need('components/sidebar.php'); ?>
-need( 'components/footer.php' ); ?> +need('components/footer.php'); ?> \ No newline at end of file diff --git a/assets/clover.css b/assets/clover.css index 260108e..48b18a3 100644 --- a/assets/clover.css +++ b/assets/clover.css @@ -17,15 +17,24 @@ h2 { font-size: 1.7rem; } -h3, h4, h5, h6 { +h3, +h4, +h5, +h6 { font-size: 1.4rem; } -h1, h2 { +h1, +h2 { margin-bottom: 1rem; } -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { font-weight: normal; } @@ -50,27 +59,34 @@ img { transition: filter .3s; } -.page-title, .edit-link { +.page-title, +.edit-link { display: inline-block; } -.post-content img, .comment-content img, .post-content video, .comment-content video { +.post-content img, +.comment-content img, +.post-content video, +.comment-content video { max-width: 100%; } -.post-content h1:before, .page-content h1:before { +.post-content h1:before, +.page-content h1:before { opacity: .5; content: "#"; margin-right: .3rem; } -.post-content h2:before, .page-content h2:before { +.post-content h2:before, +.page-content h2:before { opacity: .5; content: "##"; margin-right: .3rem; } -.post-content h3:before, .page-content h3:before { +.post-content h3:before, +.page-content h3:before { opacity: .5; content: "###"; margin-right: .3rem; @@ -158,7 +174,7 @@ blockquote p { padding: 0; } -.comment-children > .comment-list { +.comment-children>.comment-list { margin-top: 1.5em; margin-bottom: 0; } @@ -199,7 +215,7 @@ blockquote p { clear: both; } -.comment-content p{ +.comment-content p { margin: 0; } @@ -210,7 +226,7 @@ blockquote p { padding: 14px; margin-top: 0; /*border: 1px solid #EEE;*/ - border:0; + border: 0; border-bottom: 1px solid #EEE; } @@ -235,7 +251,7 @@ blockquote p { clear: both; } -.moment-meta p{ +.moment-meta p { margin: 0; } @@ -247,7 +263,8 @@ blockquote p { } -.list-group-root > .list-group-item , .list-group-wrapper > .list-group-item { +.list-group-root>.list-group-item, +.list-group-wrapper>.list-group-item { padding-top: 10px; padding-bottom: 10px; } @@ -256,7 +273,7 @@ blockquote p { margin-top: 1px; } -.list-group-wrapper > li{ +.list-group-wrapper>li { padding-left: 40px; } diff --git a/assets/clover.js b/assets/clover.js index 128a955..c8b8036 100644 --- a/assets/clover.js +++ b/assets/clover.js @@ -3,10 +3,9 @@ function turn_up() { var btn = document.getElementsByClassName("turn-up")[0]; var scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; - if(scroll >= window.innerHeight / 2) { + if (scroll >= window.innerHeight / 2) { btn.classList.add("active"); - } - else { + } else { btn.classList.remove("active"); } } diff --git a/bilibili.php b/bilibili.php index 7c9b5a2..a2d63bb 100644 --- a/bilibili.php +++ b/bilibili.php @@ -9,28 +9,29 @@ exit; } ?> -need('components/header.php');?> +need('components/header.php'); ?> $(function(){$(".douban_book_tips").text("获取书籍数据失败,可能原因是:1. 豆瓣API发生故障 2. 豆瓣id配置错误")})'; return []; } - foreach($res as $v){ - $book_name=$v['title']; + foreach ($res as $v) { + $book_name = $v['title']; $book_img = $v['cover']; // $book_img = str_replace("/view/subject/m/public/","/lpic/",$book_img); $book_url = $v['share_url']; - $readlist[] = array("name"=>$book_name,"img"=>$book_img,"url"=>$book_url); + $readlist[] = array("name" => $book_name, "img" => $book_img, "url" => $book_url); } return $readlist; @@ -50,27 +51,26 @@ function curl_get_contents($url) ?>
@@ -83,26 +83,26 @@ function curl_get_contents($url)
fields->mid); - foreach($readList as $v):?> + foreach ($readList as $v) : ?>
Card image cap + +
-->
- +
- need( 'components/comments.php' ); ?> + need('components/comments.php'); ?> - need( 'components/sidebar.php' ); ?> + need('components/sidebar.php'); ?> -need('components/footer.php');?> - +need('components/footer.php'); ?> + \ No newline at end of file diff --git a/components/comments.php b/components/comments.php index 0e239d2..3ce8225 100644 --- a/components/comments.php +++ b/components/comments.php @@ -1,91 +1,85 @@ - -options->themeUrl( 'assets/default.jpg' ); ?> -authorId ) { - if ( $comments->authorId == $comments->ownerId ) { - $commentClass .= ' comment-by-author'; - } else { - $commentClass .= ' comment-by-user'; - } - } +options->themeUrl('assets/default.jpg'); ?> +authorId) { + if ($comments->authorId == $comments->ownerId) { + $commentClass .= ' comment-by-author'; + } else { + $commentClass .= ' comment-by-user'; + } + } - $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent'; - ?> + $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent'; + ?>
  • -gravatar( '45', 'robohash' ); ?> - gravatar( '45', $default=Helper::options()->themeUrl.'/assets/default.jpg'); ?> + gravatar('45', $default = Helper::options()->themeUrl . '/assets/default.jpg'); ?>
    author(); ?> - + reply(); ?>
    - content(); ?> + content(); ?>
    - children ) : ?> + children) : ?>
    - threadedComments( $options ); ?> + threadedComments($options); ?>
    - +
  • -

    commentsNum( _t( '没有评论 T^T' ), _t( '只有一条评论 QAQ' ), _t( '已有 %d 条评论' ) ); ?>

    - comments()->to( $comments ); ?> - allow( 'comment' ) ): ?> +

    commentsNum(_t('没有评论 T^T'), _t('只有一条评论 QAQ'), _t('已有 %d 条评论')); ?>

    + comments()->to($comments); ?> + allow('comment')) : ?>
    cancelReply(); ?>
    - user->hasLogin() ): ?> + user->hasLogin()) : ?>

    - + user->screenName(); ?>. - » + »

    - +

    - +

    - options->commentsRequireMail ): ?> required> + options->commentsRequireMail) : ?> required>

    - options->commentsRequireURL ): ?> required> + options->commentsRequireURL) : ?> required>

    - +

    - +

    - +

    - - have() ): ?> - listComments(); ?> - pageNav( _t( '« 前一页'), _t('后一页 »') ); ?> - + + have()) : ?> + listComments(); ?> + pageNav(_t('« 前一页'), _t('后一页 »')); ?> +
    - + + \ No newline at end of file diff --git a/components/footer.php b/components/footer.php index ef9bd17..5e20453 100644 --- a/components/footer.php +++ b/components/footer.php @@ -1,30 +1,35 @@ - @@ -32,40 +37,42 @@ function show_date_time(){window.setTimeout("show_date_time()",1e3); footer(); ?> - - + + - + - + - + + \ No newline at end of file diff --git a/components/header.php b/components/header.php index db75ecf..b82dd98 100644 --- a/components/header.php +++ b/components/header.php @@ -6,96 +6,88 @@ * Time: 0:31 */ -if ( ! defined( '__TYPECHO_ROOT_DIR__' ) ) { - exit; +if (!defined('__TYPECHO_ROOT_DIR__')) { + exit; } ?> + - <?php $this->archiveTitle( array( - 'category' => _t( '%s' ), - 'search' => _t( '包含关键字 %s 的文章' ), - 'tag' => _t( '标签 %s 下的文章' ), - 'author' => _t( '%s 发布的文章' ) - ), '', ' - ' ); ?><?php $this->options->title(); ?> + <?php $this->archiveTitle(array( + 'category' => _t('%s'), + 'search' => _t('包含关键字 %s 的文章'), + 'tag' => _t('标签 %s 下的文章'), + 'author' => _t('%s 发布的文章') + ), '', ' - '); ?><?php $this->options->title(); ?> - + - + - header(); ?> + header(); ?> - + is('single')) { + $cid = $this->cid; + $db = Typecho_Db::get(); + $row = $db->fetchRow($db->select('views')->from('table.contents')->where('cid = ?', $cid)); + $db->query($db->update('table.contents')->rows(array('views' => (int)$row['views'] + 1))->where('cid = ?', $cid)); + } + ?> \ No newline at end of file diff --git a/components/sidebar.php b/components/sidebar.php index 699e5cd..f8a1685 100644 --- a/components/sidebar.php +++ b/components/sidebar.php @@ -1,5 +1,5 @@ - -
    +
    -

    -
    - clover
    -

    - +

    +
    + clover
    +

    +
    -
    -
    -
    -
    -
    - -
    -
    +
    +
    +
    +
    +
    + +
    +
      - widget( 'Widget_Metas_Category_List' )->to( $categories ); ?> - next() ): ?> - levels === 0 ): ?> - getAllChildren( $categories->mid ); ?> - is( 'category', $categories->slug ) ): ?> + widget('Widget_Metas_Category_List')->to($categories); ?> + next()) : ?> + levels === 0) : ?> + getAllChildren($categories->mid); ?>
    • - name(); ?> + name(); ?>
    • - +
      - - getCategory( $mid ); ?> - is( 'category', $child ) ): ?> + + getCategory($mid); ?>
    • - +
    • - +
      - - - + + +
    - + \ No newline at end of file diff --git a/cross.php b/cross.php index b3cf37c..fdbefc8 100644 --- a/cross.php +++ b/cross.php @@ -5,68 +5,68 @@ * @package custom */ ?> - -need( 'components/header.php' ); ?> -authorId ) { - if ( $comments->authorId == $comments->ownerId ) { - $commentClass .= ' comment-by-author'; - } else { - $commentClass .= ' comment-by-user'; - } - } - - - $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent'; - ?> +need('components/header.php'); ?> +authorId) { + if ($comments->authorId == $comments->ownerId) { + $commentClass .= ' comment-by-author'; + } else { + $commentClass .= ' comment-by-user'; + } + } + $commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent'; + ?>
  • - gravatar( '45', $default=Helper::options()->themeUrl.'/assets/default.jpg'); ?> + gravatar('45', $default = Helper::options()->themeUrl . '/assets/default.jpg'); ?>
    author(); ?> - -content(); ?> - content(); ?> + + + content(); ?>
    - children ) : ?> + children) : ?>
    - threadedComments( $options ); ?> + threadedComments($options); ?>
    - +
  • -
    +

    - authorId == $this->user->uid): ?> - + authorId == $this->user->uid) : ?> +

    - content(); ?> + content(); ?>

    - comments()->to( $comments ); ?> - have() ): ?> + comments()->to($comments); ?> + have()) : ?> listComments(); ?> - pageNav( _t( '« 前一页'), _t('后一页 »') ); ?> + pageNav(_t('« 前一页'), _t('后一页 »')); ?>
    - need( 'components/sidebar.php' ); ?> + need('components/sidebar.php'); ?>
    -need( 'components/footer.php' ); ?> +need('components/footer.php'); ?> \ No newline at end of file diff --git a/douban.php b/douban.php index d374ec7..9dc6b21 100644 --- a/douban.php +++ b/douban.php @@ -9,29 +9,30 @@ exit; } ?> -need('components/header.php');?> +need('components/header.php'); ?> $(function(){$(".douban_book_tips").text("获取书籍数据失败,可能原因是:1. 豆瓣API发生故障 2. 豆瓣id配置错误")})'; return []; } - foreach($res as $v){ + foreach ($res as $v) { //已经读过的书 - if($v['status']=="read"){ - $book_name=$v['book']['title']; + if ($v['status'] == "read") { + $book_name = $v['book']['title']; $book_img = $v['book']['images']['medium']; - $book_img = str_replace("/view/subject/m/public/","/lpic/",$book_img); + $book_img = str_replace("/view/subject/m/public/", "/lpic/", $book_img); $book_url = $v['book']['alt']; - $readlist[] = array("name"=>$book_name,"img"=>$book_img,"url"=>$book_url); + $readlist[] = array("name" => $book_name, "img" => $book_img, "url" => $book_url); } } @@ -39,10 +40,11 @@ function getBookData($userID){ } //获取电影清单数据 -function getMovieData($userID){ +function getMovieData($userID) +{ $movieList = []; - $filePath = __DIR__.'/assets/cache/movie.json'; + $filePath = __DIR__ . '/assets/cache/movie.json'; $fp = fopen($filePath, 'r'); if ($fp) { @@ -50,23 +52,23 @@ function getMovieData($userID){ fclose($fp); $data = json_decode($contents); - if (time() - $data->time > 60 * 60 * 72) {//缓存文件过期 - $movieList = updateData($userID,$filePath); - }else{ + if (time() - $data->time > 60 * 60 * 72) { //缓存文件过期 + $movieList = updateData($userID, $filePath); + } else { $lastUpdateTime = date('Y-m-d', $data->time); //H 24小时制 2017-08-08 23:00:01 - if ($data->user!=null && $data->user !== $userID){//用户名有修改 - $movieList = updateData($userID,$filePath); - }else { - if ($data->data == null || $data->data == ""){//缓存文件中的电影数据为空 - $movieList = updateData($userID,$filePath); - }else{//读取缓存文件中的数据 + if ($data->user != null && $data->user !== $userID) { //用户名有修改 + $movieList = updateData($userID, $filePath); + } else { + if ($data->data == null || $data->data == "") { //缓存文件中的电影数据为空 + $movieList = updateData($userID, $filePath); + } else { //读取缓存文件中的数据 $movieList = $data->data; - echo ''; + echo ''; } } } - } else {//目录下无movie.json,此时需要创建文件,并且更新信息 - $movieList = updateData($userID,$filePath); + } else { //目录下无movie.json,此时需要创建文件,并且更新信息 + $movieList = updateData($userID, $filePath); } return $movieList; @@ -85,35 +87,34 @@ function curl_get_contents($url) } -function updateData($doubanID = 'ihewro',$filePath) +function updateData($doubanID = 'ihewro', $filePath) { $url = "https://movie.douban.com/people/$doubanID/collect"; //最多取100条数据 $p1 = getHTML($url); $p1 = getMoviesAndNextPage($p1); $movieList = array_merge($p1['data']); $num = 0; - while ($p1['next']!=null && $num <= 3) { + while ($p1['next'] != null && $num <= 3) { //echo "下一页地址" . $p1['next']; $p1 = getHTML($p1['next']); $p1 = getMoviesAndNextPage($p1); $movieList = array_merge($movieList, $p1['data']); - $num ++; - + $num++; } - if ($movieList == null || $movieList == ""){ + if ($movieList == null || $movieList == "") { echo ''; - }else{ + } else { echo ''; } $data = fopen($filePath, "w"); - fwrite($data, json_encode(['time' => time(), 'user' => $doubanID , 'data' => $movieList])); + fwrite($data, json_encode(['time' => time(), 'user' => $doubanID, 'data' => $movieList])); fclose($data); return []; } function getMoviesAndNextPage($html = '') { - if ($html != "" && $html != null){ + if ($html != "" && $html != null) { $doc = new \HtmlParser\ParserDom($html); $itemArray = $doc->find("div.item"); foreach ($itemArray as $v) { @@ -127,22 +128,20 @@ function getMoviesAndNextPage($html = '') $t = $doc->find("span.next a", 0); if ($t) { - $t = "https://movie.douban.com" .$t->getAttr("href"); - }else{ + $t = "https://movie.douban.com" . $t->getAttr("href"); + } else { $t = null; } return ['data' => $movieList, 'next' => $t]; - }else{ + } else { return ['data' => [], 'next' => null]; } - - } function getHTML($url = '') { $ch = curl_init(); - $cookie= 'bid=gnHfdKIXco; ll="108238"; gr_user_id=3a665fce-2a1c-44c7-8e18-531ea651fe6f; _ga=GA1.2.50077311.1505560162; ap=1; ue="ihewro@qq.com"; push_noty_num=0; push_doumail_num=0; _vwo_uuid_v2=0FFDB41687CE3A48C32CB74C8C415F7C|572ba7f63d2101533eb21c21814fd0f5; __utmv=30149280.13002; viewed="24251326"; __utmc=30149280; __utmc=223695111; ps=y; dbcl2="130023498:EFP11hbTQ+w"; ck=v1u1; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1518071897%2C%22http%3A%2F%2Flocalhost%2Fbuild%2F35.html%22%5D; _pk_ses.100001.4cf6=*; ct=y; __utma=30149280.50077311.1505560162.1518071897.1518074552.44; __utmb=30149280.0.10.1518074552; __utmz=30149280.1518074552.44.24.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); __utma=223695111.192490176.1505819273.1518071897.1518074552.23; __utmz=223695111.1518074552.23.11.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _pk_id.100001.4cf6=f4672bae215755ca.1505819273.22.1518074849.1518066090.; __utmb=223695111.4.10.1518074552'; + $cookie = 'bid=gnHfdKIXco; ll="108238"; gr_user_id=3a665fce-2a1c-44c7-8e18-531ea651fe6f; _ga=GA1.2.50077311.1505560162; ap=1; ue="ihewro@qq.com"; push_noty_num=0; push_doumail_num=0; _vwo_uuid_v2=0FFDB41687CE3A48C32CB74C8C415F7C|572ba7f63d2101533eb21c21814fd0f5; __utmv=30149280.13002; viewed="24251326"; __utmc=30149280; __utmc=223695111; ps=y; dbcl2="130023498:EFP11hbTQ+w"; ck=v1u1; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1518071897%2C%22http%3A%2F%2Flocalhost%2Fbuild%2F35.html%22%5D; _pk_ses.100001.4cf6=*; ct=y; __utma=30149280.50077311.1505560162.1518071897.1518074552.44; __utmb=30149280.0.10.1518074552; __utmz=30149280.1518074552.44.24.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); __utma=223695111.192490176.1505819273.1518071897.1518074552.23; __utmz=223695111.1518074552.23.11.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _pk_id.100001.4cf6=f4672bae215755ca.1505819273.22.1518074849.1518066090.; __utmb=223695111.4.10.1518074552'; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); @@ -166,28 +165,26 @@ function trimall($str) ?>
    @@ -200,11 +197,11 @@ function trimall($str)
    fields->doubanID); - foreach($readList as $v):?> + foreach ($readList as $v) : ?>
    Card image cap
    - +
    @@ -217,50 +214,62 @@ function trimall($str)
    fields->doubanID); - foreach ($movieList as $v): ?> + foreach ($movieList as $v) : ?> - +
    --> +
    - need( 'components/comments.php' ); ?> + need('components/comments.php'); ?> - need( 'components/sidebar.php' ); ?> + need('components/sidebar.php'); ?> -need('components/footer.php');?> - +need('components/footer.php'); ?> + \ No newline at end of file diff --git a/functions.php b/functions.php index 7f269cb..76559fc 100644 --- a/functions.php +++ b/functions.php @@ -9,16 +9,16 @@ if (!defined('__TYPECHO_ROOT_DIR__')) exit; //获取顶级分类 -function gettopcategory($category) { +function gettopcategory($category) +{ $db = Typecho_Db::get(); $prefix = $db->getPrefix(); - $rs = $db->fetchRow($db->select()->from($prefix.'metas')->where('slug = ?', $category)->limit(1)); + $rs = $db->fetchRow($db->select()->from($prefix . 'metas')->where('slug = ?', $category)->limit(1)); - if($rs['parent']==0){ + if ($rs['parent'] == 0) { return $rs['slug']; - } - else { - $rs2 = $db->fetchRow($db->select()->from($prefix.'metas')->where('mid = ?', $rs['parent'])->limit(1)); + } else { + $rs2 = $db->fetchRow($db->select()->from($prefix . 'metas')->where('mid = ?', $rs['parent'])->limit(1)); return $rs2['slug']; } } diff --git a/index.php b/index.php index 1cd5e78..2f603cd 100644 --- a/index.php +++ b/index.php @@ -8,18 +8,19 @@ * @link https://idealclover.top */ -if ( ! defined( '__TYPECHO_ROOT_DIR__' ) ) { - exit; +if (!defined('__TYPECHO_ROOT_DIR__')) { + exit; } ?> -need( 'components/header.php' ); ?> +need('components/header.php'); ?>
    -

    ...


    -
    - - +

    ...


    +
    🚣Blog | 🤔Thinking | 😋Life | - 📇Resume | - 📖About
    - - How this page works + 📇Resume | + 📖About
    + How this page works
    - - -need( 'components/footer.php' ); ?> + + +need('components/footer.php'); ?> \ No newline at end of file diff --git a/page.php b/page.php index 61934e7..ba963ee 100644 --- a/page.php +++ b/page.php @@ -1,33 +1,31 @@ - -need( 'components/header.php' ); ?> +need('components/header.php'); ?>
    -
    +

    - authorId == $this->user->uid): ?> - + authorId == $this->user->uid) : ?> +
    - options->siteUrl == "https://idealclover.top/"):?> + options->siteUrl == "https://idealclover.top/") : ?> - options->siteUrl == "https://en.idealclover.top/"): ?> + options->siteUrl == "https://en.idealclover.top/") : ?> - +
    - content(); ?> + content(); ?>
    - - need( 'components/comments.php' ); ?> + + need('components/comments.php'); ?>
    - need( 'components/sidebar.php' ); ?> + need('components/sidebar.php'); ?>
    -need( 'components/footer.php' ); ?> +need('components/footer.php'); ?> \ No newline at end of file diff --git a/post.php b/post.php index 80d7704..5632a19 100644 --- a/post.php +++ b/post.php @@ -1,7 +1,7 @@ - -need( 'components/header.php' ); ?> +need('components/header.php'); ?>
    @@ -11,69 +11,61 @@

    - date( 'Y.m.d' ); ?> | - category( 'Y.m.d' ); ?> | - commentsNum( _t(' 0 条评论'), _t(' 1 条评论'), _t(' %d 条评论')); ?> + date('Y.m.d'); ?> | + category('Y.m.d'); ?> | + commentsNum(_t(' 0 条评论'), _t(' 1 条评论'), _t(' %d 条评论')); ?> - authorId == $this->user->uid): ?> - - + authorId == $this->user->uid) : ?> + + - text(),'UTF-8'); ?>

    - fields->ENG):?> + fields->ENG) : ?> - fields->CHN): ?> + fields->CHN) : ?> - +
    - content(); ?> + content(); ?>
    -

    permalink(); ?>

    -

    +

    permalink(); ?>

    +

    -

    tags( ', ', true, 'none' ); ?>

    +

    tags(', ', true, 'none'); ?>

      -
    • thePrev( '%s', _t('没有了') ); ?>
    • -
    • theNext( '%s', _t('没有了') ); ?>
    • +
    • thePrev('%s', _t('没有了')); ?>
    • +
    • theNext('%s', _t('没有了')); ?>
    - - need( 'components/comments.php' ); ?> + + need('components/comments.php'); ?>
    - need('components/sidebar.php'); ?> + need('components/sidebar.php'); ?>
    -need( 'components/footer.php' ); ?> +need('components/footer.php'); ?> \ No newline at end of file diff --git a/project.php b/project.php index f8d5935..f8c65b8 100644 --- a/project.php +++ b/project.php @@ -5,26 +5,26 @@ * @package custom */ ?> - -need( 'components/header.php' ); ?> +need('components/header.php'); ?>
    -
    +

    - authorId == $this->user->uid): ?> - + authorId == $this->user->uid) : ?> +

    - content(); ?> + content(); ?>
    @@ -36,14 +36,14 @@
    -
    -
    - 为南京大学同学定制的课程表
    - 可以自动导入南京大学教务处的课程
    - 提供简洁的页面与 UI,替代臃肿的某课程表与某格子
    - GitHub 地址 - 直接下载 -
    +
    +
    + 为南京大学同学定制的课程表
    + 可以自动导入南京大学教务处的课程
    + 提供简洁的页面与 UI,替代臃肿的某课程表与某格子
    + GitHub 地址 + 直接下载 +
    @@ -56,16 +56,16 @@
    -
    - - -
    - 一键式发现当前网页RSS的 chrome/firefox extension
    - 与RSSHub联动并支持更多网页
    - GitHub 地址 - Chrome 商店地址 - 上游项目 RSSHub -
    +
    + + +
    + 一键式发现当前网页RSS的 chrome/firefox extension
    + 与RSSHub联动并支持更多网页
    + GitHub 地址 + Chrome 商店地址 + 上游项目 RSSHub +
    @@ -78,13 +78,13 @@
    -
    - -
    - 南京大学课程复习资料
    - 官网地址 - GitHub 地址 -
    +
    + +
    + 南京大学课程复习资料
    + 官网地址 + GitHub 地址 +
    @@ -97,12 +97,12 @@
    -
    - -
    - 送给女朋友的情人节礼物 ww
    - 在线地址 -
    +
    + +
    + 送给女朋友的情人节礼物 ww
    + 在线地址 +
    @@ -115,13 +115,13 @@
    -
    - -
    - 南哪大学课程评估脚本
    - 官网地址 - GitHub 地址 -
    +
    + +
    + 南哪大学课程评估脚本
    + 官网地址 + GitHub 地址 +
    @@ -134,12 +134,12 @@
    -
    - -
    - 南哪大学开源项目与资源集合
    - GitHub 地址 -
    +
    + +
    + 南哪大学开源项目与资源集合
    + GitHub 地址 +
    @@ -152,13 +152,13 @@
    -
    - -
    - My home website based on Genetic Algorithms.
    - 在线演示 - GitHub 地址 -
    +
    + +
    + My home website based on Genetic Algorithms.
    + 在线演示 + GitHub 地址 +
    @@ -171,13 +171,13 @@
    -
    - -
    - My typecho blog theme based on bootstrap 4.
    - 在线演示 - GitHub 地址 -
    +
    + +
    + My typecho blog theme based on bootstrap 4.
    + 在线演示 + GitHub 地址 +
    @@ -190,12 +190,12 @@
    -
    - -
    - 微信小程序版 Typecho
    - GitHub 地址 -
    +
    + +
    + 微信小程序版 Typecho
    + GitHub 地址 +
    @@ -208,20 +208,20 @@
    -
    - -
    - A Flutter app for me to write twitter.
    - GitHub 地址 -
    +
    + +
    + A Flutter app for me to write twitter.
    + GitHub 地址 +
    - + - - need( 'components/comments.php' ); ?> + + need('components/comments.php'); ?> - need( 'components/sidebar.php' ); ?> + need('components/sidebar.php'); ?> -need( 'components/footer.php' ); ?> +need('components/footer.php'); ?> \ No newline at end of file diff --git a/resume.php b/resume.php index ff664b6..8cc3f5c 100644 --- a/resume.php +++ b/resume.php @@ -8,7 +8,7 @@ * Time: 23:38 */ ?> -need( 'components/header.php' ); ?> +need('components/header.php'); ?>
    -
    -

    崔容皓

    - 江苏省南京市栖霞区 仙林大道163号 南京大学商学院
    - (+86) 1********** | idealclover@live.com
    - https://idealclover.top +
    +

    崔容皓

    + 江苏省南京市栖霞区 仙林大道163号 南京大学商学院
    + (+86) 1********** | idealclover@live.com
    + https://idealclover.top +
    +
    +

    教育背景

    +
    +
    +
    +
    南京大学商学院
    +
    2016.8-2020.6
    +
    +
    +
     
    +
     江苏南京
    +
    +
      +
    • 专业课程:会计学 (97) ,微观经济学 (94) ,管理学 (94)
    • +
    • 辅修课程:计算机相关课程 (高级程序设计,计算机网络,数据库概论等) ,逻辑学
    • +
    • 所获荣誉:校级优秀学生 (5%) (2017) , 人民奖学金 (2017) ,优秀共青团员 (5%)(2017, 2018)
    • +
    • 技能证书:MS Office Specialist (MOS) Master,江苏省计算机等级三级,大学英语六级
    • +
    • 竞赛奖项:华为财务精英挑战赛江苏赛区第四名(2018),银星杯学术论文竞赛新人奖(2018)
    • +
    +
    +
    哥伦比亚大学 (交换)
    +
    2018.7-2018.8
    +
    +
    +
     
    +
     美国纽约
    +
    +
      +
    • 交换课程:数据分析,商业模式,逻辑与辩论
    • +
    - -
    -

    教育背景

    -
    -
    - -
    -
    南京大学商学院
    -
    2016.8-2020.6
    -
    -
    -
     
    -
     江苏南京
    -
    -
      - -
    • 专业课程:会计学 (97) ,微观经济学 (94) ,管理学 (94)
    • - -
    • 辅修课程:计算机相关课程 (高级程序设计,计算机网络,数据库概论等) ,逻辑学
    • - -
    • 所获荣誉:校级优秀学生 (5%) (2017) , 人民奖学金 (2017) ,优秀共青团员 (5%)(2017, 2018)
    • - -
    • 技能证书:MS Office Specialist (MOS) Master,江苏省计算机等级三级,大学英语六级
    • - -
    • 竞赛奖项:华为财务精英挑战赛江苏赛区第四名(2018),银星杯学术论文竞赛新人奖(2018)
    • - -
    - -
    -
    哥伦比亚大学 (交换)
    -
    2018.7-2018.8
    -
    -
    -
     
    -
     美国纽约
    -
    -
      - -
    • 交换课程:数据分析,商业模式,逻辑与辩论
    • - -
    - -
    +
    +
    +

    实习与项目经历

    +
    +
    +
    +
    Amazon
    +
    2018.10-2019.2
    +
    +
    +
    PM Intern 
    +
     上海
    +
    +
      +
    • 编写亚马逊小程序“镇店之宝”页面,独立编写Python脚本抓取商品信息并自动生成促销页面;
    • +
    • 负责亚马逊小程序的内部迁移工作,并利用AWS Elastic Beanstalk, API GateWay, DynamoDB等工具进行小程序资源与数据管理;
    • +
    • 参与Amazon-Udacity步行日挑战小程序,Amazon十年挑战小程序等5个活动小程序的策划,跟进与迭代工作,其中Amazon十年挑战小程序在发布5日内获得12000+次点击,共计拉新1500+用户。
    • +
    +
    +
    南哪课表
    +
    2018.9-至今
    +
    +
    +
    个人开发者 
    +
     
    +
    +
      +
    • 作为个人开发者负责从项目需求制定,代码编写测试以及后期宣传推广等一系列工作;
    • +
    • 已正式上线并迭代3个正式版本,宣传推文浏览量2000+,月活跃用户数800+,上架酷安应用商店,捐赠用户数30+;
    • +
    • 代码公开于GitHub(idealclover/NJU-Class-Shedule-Android),获得20+ stars。
    • +
    +
    +
    idealclover.top
    +
    2017.10-至今
    +
    +
    +
    个人开发者 
    +
     
    +
    +
      +
    • 持续运行一年以上,网址 https://idealclover.top,累计文章60+篇,评论120+条;
    • +
    • 使用Typecho博客框架,并在此基础上基于bootstrap自己设计并开发了前端主题,自行开发了Typecho-PWA, Typecho-AnotherLike(GitHub: idealclover/Another-Typecho-Like-Plugin)等多款Typecho插件;
    • +
    • 使用WeTypecho创建了博客的微信小程序“翠翠酱的个人博客”,并参与了该框架 WeTypecho (200+ stars) 的开发工作。
    • +
    +
    +
    Easy-to-RSS
    +
    2018.8-至今
    +
    +
    +
    个人开发者 
    +
     
    +
    +
      +
    • 上架Google Chrome商店并迭代3版,用户评分4.67,活跃用户数2000+,被小众软件,电脑爱好者等网站杂志报道与推荐;
    • +
    • 遵循MIT开源协议,代码全部公开于GitHub,已获得240+ stars;
    • +
    • 使用NPM进行JS包管理,使用eslint进行代码规范。
    • +
    +
    +
    GitHub @idealclover
    +
    2016.8-至今
    +
    +
    +
     
    +
     
    +
    +
      +
    • 发起南京大学开源项目集合项目 idealclover/awesome-nju
    • +
    • 个人主页项目 idealclover/Random-Homepage
    • +
    • 简历生成器 idealclover/Resume-Builder
    • +
    • 课程评估自动化脚本 idealclover/Fxxk-NJU-Class-Evaluator
    • +
    +
    +
    中国不平等指数研究
    +
    2018.4-至今
    +
    +
    +
    技术组组员 
    +
     南京
    +
    +
      +
    • 使用vuepress框架,负责该研究对外项目网站的搭建与维护。
    • +
    • 编写Python脚本获取人民日报等报纸的相关新闻数据并进行分析整理。
    • +
    - -
    -

    实习与项目经历

    -
    -
    - -
    -
    Amazon
    -
    2018.10-2019.2
    -
    -
    -
    PM Intern 
    -
     上海
    -
    -
      - -
    • 编写亚马逊小程序“镇店之宝”页面,独立编写Python脚本抓取商品信息并自动生成促销页面;
    • - -
    • 负责亚马逊小程序的内部迁移工作,并利用AWS Elastic Beanstalk, API GateWay, DynamoDB等工具进行小程序资源与数据管理;
    • - -
    • 参与Amazon-Udacity步行日挑战小程序,Amazon十年挑战小程序等5个活动小程序的策划,跟进与迭代工作,其中Amazon十年挑战小程序在发布5日内获得12000+次点击,共计拉新1500+用户。
    • - -
    - -
    -
    南哪课表
    -
    2018.9-至今
    -
    -
    -
    个人开发者 
    -
     
    -
    -
      - -
    • 作为个人开发者负责从项目需求制定,代码编写测试以及后期宣传推广等一系列工作;
    • - -
    • 已正式上线并迭代3个正式版本,宣传推文浏览量2000+,月活跃用户数800+,上架酷安应用商店,捐赠用户数30+;
    • - -
    • 代码公开于GitHub(idealclover/NJU-Class-Shedule-Android),获得20+ stars。
    • - -
    - -
    -
    idealclover.top
    -
    2017.10-至今
    -
    -
    -
    个人开发者 
    -
     
    -
    -
      - -
    • 持续运行一年以上,网址 https://idealclover.top,累计文章60+篇,评论120+条;
    • - -
    • 使用Typecho博客框架,并在此基础上基于bootstrap自己设计并开发了前端主题,自行开发了Typecho-PWA, Typecho-AnotherLike(GitHub: idealclover/Another-Typecho-Like-Plugin)等多款Typecho插件;
    • - -
    • 使用WeTypecho创建了博客的微信小程序“翠翠酱的个人博客”,并参与了该框架 WeTypecho (200+ stars) 的开发工作。
    • - -
    - -
    -
    Easy-to-RSS
    -
    2018.8-至今
    -
    -
    -
    个人开发者 
    -
     
    -
    -
      - -
    • 上架Google Chrome商店并迭代3版,用户评分4.67,活跃用户数2000+,被小众软件,电脑爱好者等网站杂志报道与推荐;
    • - -
    • 遵循MIT开源协议,代码全部公开于GitHub,已获得240+ stars;
    • - -
    • 使用NPM进行JS包管理,使用eslint进行代码规范。
    • - -
    - -
    -
    GitHub @idealclover
    -
    2016.8-至今
    -
    -
    -
     
    -
     
    -
    -
      - -
    • 发起南京大学开源项目集合项目 idealclover/awesome-nju
    • - -
    • 个人主页项目 idealclover/Random-Homepage
    • - -
    • 简历生成器 idealclover/Resume-Builder
    • - -
    • 课程评估自动化脚本 idealclover/Fxxk-NJU-Class-Evaluator
    • - -
    - -
    -
    中国不平等指数研究
    -
    2018.4-至今
    -
    -
    -
    技术组组员 
    -
     南京
    -
    -
      - -
    • 使用vuepress框架,负责该研究对外项目网站的搭建与维护。
    • - -
    • 编写Python脚本获取人民日报等报纸的相关新闻数据并进行分析整理。
    • - -
    - -
    +
    +
    +

    实践与比赛经历

    +
    +
    +
    +
    华为财务精英挑战赛
    +
    2018.4
    +
    +
    +
    队员 
    +
     南京
    +
    +
      +
    • 对某安防监控行业上市公司材料进行收集与整理工作,分析该行业的现状,解答相应问题并给出发展建议。进入南京赛区复赛并取得南京赛区三等奖。
    • +
    • 使用Thinkcell进行PPT的绘制与上台的展示,负责对案例中公司现金流量状况进行分析。
    • +
    +
    +
    暑期社会实践
    +
    2017.8-2017.9
    +
    +
    +
    校级团队负责人 
    +
     江苏南京
    +
    +
      +
    • 带领团队前往江苏盐城进行为期10天的社会实践活动,调查农副产品的品牌化发展现状及展望,整理访谈资料等8000+字。最终完成3000+字的社会实践报告,获得社会实践三等奖。
    • +
    • 负责团队立项报告的撰写,团队人员任务的分配,任务的处理与实时跟进。
    • +
    +
    +
    寒假回校宣讲活动
    +
    2017.2
    +
    +
    +
    活动负责人 
    +
     吉林四平
    +
    +
      +
    • 负责四平一中19校联合宣讲活动的组织与开展工作,到场同学家长100+人;负责南京大学的宣讲工作,会后与10+意向同学保持长期联系,获得南京大学优秀学生团队称号。
    • +
    • 负责宣讲会的沟通工作与宣传工作。
    • +
    - -
    -

    实践与比赛经历

    -
    -
    - -
    -
    华为财务精英挑战赛
    -
    2018.4
    -
    -
    -
    队员 
    -
     南京
    -
    -
      - -
    • 对某安防监控行业上市公司材料进行收集与整理工作,分析该行业的现状,解答相应问题并给出发展建议。进入南京赛区复赛并取得南京赛区三等奖。
    • - -
    • 使用Thinkcell进行PPT的绘制与上台的展示,负责对案例中公司现金流量状况进行分析。
    • - -
    - -
    -
    暑期社会实践
    -
    2017.8-2017.9
    -
    -
    -
    校级团队负责人 
    -
     江苏南京
    -
    -
      - -
    • 带领团队前往江苏盐城进行为期10天的社会实践活动,调查农副产品的品牌化发展现状及展望,整理访谈资料等8000+字。最终完成3000+字的社会实践报告,获得社会实践三等奖。
    • - -
    • 负责团队立项报告的撰写,团队人员任务的分配,任务的处理与实时跟进。
    • - -
    - -
    -
    寒假回校宣讲活动
    -
    2017.2
    -
    -
    -
    活动负责人 
    -
     吉林四平
    -
    -
      - -
    • 负责四平一中19校联合宣讲活动的组织与开展工作,到场同学家长100+人;负责南京大学的宣讲工作,会后与10+意向同学保持长期联系,获得南京大学优秀学生团队称号。
    • - -
    • 负责宣讲会的沟通工作与宣传工作。
    • - -
    - -
    +
    +
    +

    社团经历

    +
    +
    +
    +
    南京大学商学院学生会
    +
    2016.8-2018.7
    +
    +
    +
    学术部 副部长 
    +
     南京
    +
    +
      +
    • 协助策划和组织5次大型活动。其中“21天养成好习惯”活动吸引200+名同学参加,毕马威管理案例分析大赛,吸引各院系77支队伍300+人参赛。
    • +
    • 参与策划“21天养成好习惯”活动:负责策划案中活动开展与时间轴的制定;负责各项目的监督与跟进工作;负责奖品的发放工作。
    • +
    • 协助承办毕马威管理案例分析大赛:编写Python脚本实现77支报名队伍的信息整理工作;负责评委老师的邀请工作;负责决赛现场的物料准备,仪器设备准备工作。
    • +
    +
    +
    南京大学商学院辩论队
    +
    2016.8-至今
    +
    +
    +
    辩手 
    +
     南京
    +
    +
      +
    • 参与上场3场辩论赛,参与讨论10+场辩论赛的立论等准备工作。
    • +
    • 与队友共同取得2017年南京大学院系杯季军成绩。
    • +
    - -
    -

    社团经历

    -
    -
    - -
    -
    南京大学商学院学生会
    -
    2016.8-2018.7
    -
    -
    -
    学术部 副部长 
    -
     南京
    -
    -
      - -
    • 协助策划和组织5次大型活动。其中“21天养成好习惯”活动吸引200+名同学参加,毕马威管理案例分析大赛,吸引各院系77支队伍300+人参赛。
    • - -
    • 参与策划“21天养成好习惯”活动:负责策划案中活动开展与时间轴的制定;负责各项目的监督与跟进工作;负责奖品的发放工作。
    • - -
    • 协助承办毕马威管理案例分析大赛:编写Python脚本实现77支报名队伍的信息整理工作;负责评委老师的邀请工作;负责决赛现场的物料准备,仪器设备准备工作。
    • - -
    - -
    -
    南京大学商学院辩论队
    -
    2016.8-至今
    -
    -
    -
    辩手 
    -
     南京
    -
    -
      - -
    • 参与上场3场辩论赛,参与讨论10+场辩论赛的立论等准备工作。
    • - -
    • 与队友共同取得2017年南京大学院系杯季军成绩。
    • - -
    - -
    -
    - need( 'components/comments.php' ); ?> +
    + need('components/comments.php'); ?>
    -need( 'components/footer.php' ); ?> +need('components/footer.php'); ?> \ No newline at end of file