前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >彭小六私密日更群日更活动目录生成代码

彭小六私密日更群日更活动目录生成代码

作者头像
前端GoGoGo
发布2018-08-24 16:14:00
4240
发布2018-08-24 16:14:00
举报
文章被收录于专栏:九彩拼盘的叨叨叨
代码语言:javascript
复制
var articles = getArticles()
var classifyName = 'author' // 按作者分类
// var classifyName = 'time' // 按时间分类
var classifiedArticles = classifyArticle(articles, classifyName) 
outputArticle(classifiedArticles, classifyName)

function getArticles() {
  var $articles = $('.note-list .content')
  var res = []
  $articles.each(function () {
    var $artcile = $(this)
    var time = $artcile.find('.time').text()
    if(time.indexOf('小时') !== -1 
      || time.indexOf('分') !== -1 
      || time.indexOf('秒') !== -1) {
      time = '今天'
    }
    res.push({
      author: $artcile.find('.name>a').text(),
      title: $artcile.find('.title').text(),
      href: $artcile.find('.title').attr('href'),
      time: time
    })
  })
  return res
}

function classifyArticle(articles, classifyName='author') {
  var res = {}
  articles.forEach(article => {
    var key = article[classifyName]
    if(classifyName === 'time') {
      key = key.split(' ')[0]
    }
    if(!res[key]){
      res[key] = []
    }
    res[key].push(article)
  })
  return res
}

function outputArticle(classifiedArticles, classifyName='author') {
  var res = ['\n']
  // 这边有些耦合。为了整体流程的清爽,忍了~
  var otherInfoKey = classifyName === 'author' ? 'time' : 'author'
  if(classifyName === 'author') {
    let dailyUpdateNames = []
    var minArticleLen = (new Date()).getDate() - 13 + 1// 1月13号开始
    for (var classifyName in classifiedArticles) {
      let articles = classifiedArticles[classifyName]
      // 有 bug。认为收录的文章大于天数,则算完成 
      if(articles.length >= minArticleLen) {
        dailyUpdateNames.push(classifyName)
      }
    }
    res.push(`日更完成名单 ${dailyUpdateNames.join()}\n\n`)
  }

  for (var classifyName in classifiedArticles) {
    res.push(`### ${classifyName} \n`)

    let articles = classifiedArticles[classifyName]
    res.push(articles.reduce((prevRes, curr)=>{
      return prevRes + `* [${curr.title}](${curr.href}) ${curr[otherInfoKey]} \n`
    }, ''))

    res.push('\n')
  }
  return res.join('')
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.02.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档