javascript - 在github上写博客,文章内容数据怎么存放获取,有什么好的解决方法?
黄舟
黄舟 2017-04-10 16:31:39
[JavaScript讨论组]

这几天在github上搭建了博客,但是遇到了这个问题。
本来我是把数据都放在json文件里的,然后。。。我发现这就是在虐待自己,这样写过的人应该都知道,以下是部分代码

这个text对象里就是正文内容,很长很长。。然后就悲剧了!
所以我就又把里面的内容单独放到一个html文件了,向下面这样:

然后就感觉性能也不够好,而且每一篇博文,难道都要新建一个html文件。。汗。。

有没有什么好的解决办法?下面是博客的地址:
https://yuyao1994.github.io/blog

希望有高手能够指点一下。

还有,我的页面除了导航logo外,所有内容都是ajax动态获取的。我的这种写法是不是有问题,
感觉性能有很大的问题!以下附上javascript的源码:

//request方法获取文章内容
$(function(){
function request(title){

var msg="";
$.ajax({
  url: 'text/content.json',
  type: 'GET',
  cache:false,
  dataType: 'json',
  data:"",
})
.done(function(data) { 
  if(title==undefined) {
    var maxNum=data.blog[data.blog.length-1];
    msg+="

"+maxNum.title+"

"+maxNum.time+"
"; msg+="

"; $(".content").html(msg); eval("("+maxNum.text+")"); }else{ var i=0,j=data.blog.length; for(;i
"+charNum.time+"
"; msg+="

"; $(".content").html(msg); eval("("+charNum.text+")"); }; }) .fail(function() { $(".content").html("

抱歉,没有找到该篇文章!

"); })

}
request();
//获取最新文章列表
$(function(){
var titleList="";
$.ajax({

url: 'text/content.json',
type: 'get',
cache:false,
dataType: 'json',

})
.done(function(data) {

var num=data.blog.length;
if (num<6) {
  var i,j=data.blog.length-1;
  for(i=j;i>-1;i--){
    titleList+="
  • "+data.blog[i].title+"--"+data.blog[i].style+""+data.blog[i].time+"
  • " } $(".leftNav .newsList").html(titleList); }else if(num>5){ var i,j=data.blog.length-1; for(i=j;i>(num-6);i--){ titleList+="
  • "+data.blog[i].title+"--"+data.blog[i].style+""+data.blog[i].time+"
  • " } $(".leftNav .newsList").html(titleList); };

    })
    .fail(function() {

    $(".leftNav .newsList").html("
  • 获取文章列表失败!
  • ");

    })
    })
    //最新文章列表点击事件
    $(".container .leftNav .newsList").delegate("li a","click",function() {

    var title=$(this).text();
    request(title);

    });
    //获取分类列表
    function styleList(style){

    var msg="";
    $.ajax({
      url: 'text/content.json',
      type: 'get',
      cache:false,
      dataType: 'json',
    })
    .done(function(data) {
      var i,j=data.blog.length-1;
      for(i=j;i>-1;i--){
        if (style==data.blog[i].style) {
          msg+="
    • "+data.blog[i].title+"

      "+data.blog[i].profile+"

      • "; }; } if(msg==""){ msg+="

        本博客"+style+"系列目前没有文章,请看其他系列的文章!

        " }; $(".content").html(msg); }) .fail(function() { $(".content").html("

        抱歉,获取文章列表失败!

        "); })

    }
    //styleList列表点击事件
    $(".content").delegate('.styleList li a', 'click', function() {

    var title=$(this).text();
    request(title);

    });
    //导航按钮点击事件
    $(".container .leftNav .btn li").click(function() {

    var style=$(this).find('a').text();
    styleList(style);

    });
    })

    黄舟
    黄舟

    人生最曼妙的风景,竟是内心的淡定与从容!

    全部回复(11)
    迷茫

    你需要Jekyll,这是一个简单的,针对博客设计的静态网站生成器

    怪我咯

    no zuo no die

    用 jekyll 或 hexo

    ringa_lee

    写issue里

    天蓬老师

    如果你只用JavaScript,你也可以用JavaScript写一个程序来动态生成文件。

    PHP中文网

    不要用拼接字符串的方式产生html,而是应该使用前端的模板引擎

    黄舟

    hexo,附带我的博客

    巴扎黑

    其实如果是静态博文…为何不直接用MD...很多静态博文的博客系统都是这么做的

    伊谢尔伦

    hexo 简单易用

    大家讲道理

    为什么要这么做...
    直接把文章写成md格式,用jekyll或者Hexo生成静态页面不就好了?

    例如:Ahonn' Blog

    PHP中文网

    有git的基础,用一下hexo会简单很多
    YzzBlog

    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号