You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 11 години
преди 12 години
преди 12 години
преди 12 години
преди 12 години
преди 12 години
преди 12 години
преди 12 години
преди 12 години
преди 12 години
преди 11 години
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
  2. // MIT License. See license.txt
  3. // js inside blog page
  4. var blog = {
  5. start: 0,
  6. get_list: function() {
  7. $.ajax({
  8. method: "GET",
  9. url: "/",
  10. data: {
  11. cmd: "webnotes.templates.generators.blog_post.get_blog_list",
  12. start: blog.start,
  13. by: get_url_arg("by"),
  14. category: window.category || get_url_arg("category")
  15. },
  16. dataType: "json",
  17. success: function(data) {
  18. $(".progress").toggle(false);
  19. if(data.exc) console.log(data.exc);
  20. blog.render(data.message);
  21. }
  22. });
  23. },
  24. render: function(data) {
  25. if(!data) data = [];
  26. var $wrap = $("#blog-list");
  27. $.each(data, function(i, b) {
  28. // comments
  29. if(!b.comments) {
  30. b.comment_text = 'No comments yet.'
  31. } else if (b.comments===1) {
  32. b.comment_text = '1 comment.'
  33. } else {
  34. b.comment_text = b.comments + ' comments.'
  35. }
  36. b.page_name = encodeURIComponent(b.page_name);
  37. b.avatar = b.avatar || "";
  38. $(repl('<div class="row">\
  39. <div class="col-md-1">\
  40. <div class="avatar avatar-medium" style="margin-top: 6px;">\
  41. <img src="%(avatar)s" />\
  42. </div>\
  43. </div>\
  44. <div class="col-md-11">\
  45. <h4><a href="/%(page_name)s">%(title)s</a></h4>\
  46. <p>%(content)s</p>\
  47. <p style="color: #aaa; font-size: 90%">\
  48. <a href="/blog?by=%(blogger)s&by_name=%(full_name)s">\
  49. %(full_name)s</a> wrote this on %(published)s / %(comment_text)s</p>\
  50. </div>\
  51. </div><hr>', b)).appendTo($wrap);
  52. });
  53. blog.start += (data.length || 0);
  54. if(!data.length || data.length < 20) {
  55. if(blog.start) {
  56. $("#next-page").toggle(false)
  57. .parent().append("<div class='text-muted'>Nothing more to show.</div>");
  58. } else {
  59. $("#next-page").toggle(false)
  60. .parent().append("<div class='alert alert-warning'>No blogs written yet.</div>");
  61. }
  62. } else {
  63. $("#next-page").toggle(true);
  64. }
  65. }
  66. };
  67. $(document).ready(function() {
  68. // make list of blogs
  69. blog.get_list();
  70. $("#next-page").click(function() {
  71. blog.get_list();
  72. })
  73. if(get_url_arg("by_name")) {
  74. $("#blot-subtitle").html("Posts by " + get_url_arg("by_name")).toggle(true);
  75. }
  76. if(get_url_arg("category")) {
  77. $("#blot-subtitle").html("Posts filed under " + get_url_arg("category")).toggle(true);
  78. }
  79. });