page_list.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. {% extends 'base/layout.html' %}
  2. {% block html_title %}{{ path|path2name }} · {{ path }}{% endblock %}
  3. {% block html_base_attr %}
  4. data-spy="scroll"
  5. data-target="#search-result-list"
  6. {% endblock %}
  7. {% block content_header %}
  8. {% block content_header_before %}
  9. {% endblock %}
  10. <div class="header-wrap">
  11. <header id="page-header" class="{% if page %}has-page{% endif %}">
  12. <div class="d-flex align-items-center">
  13. <div class="title-container">
  14. <div class="d-flex">
  15. <h1 class="title flex-item-title" id="revision-path"></h1>
  16. {% if false %} {# Disable temporaly -- 2018.03.08 Yuki Takei #}
  17. {% if searchConfigured() && !isTopPage() && !isTrashPage() %}
  18. <form id="search-listpage-form" class="m-l-10 input-group search-input-group hidden-xs hidden-sm"
  19. data-toggle="tooltip" data-placement="bottom" title="{{ path }} 以下から検索" data-container="body">
  20. <div class="input-group">
  21. <input id="search-listpage-input" type="text" class="form-control input-sm" data-path="{{ path }}" placeholder="Search for...">
  22. <span class="input-group-btn">
  23. <button class="btn btn-default btn-sm"><i class="icon-magnifier"></i></button>
  24. </span>
  25. </div><!-- /input-group -->
  26. <a class="search-listpage-clear" id="search-listpage-clear"><i class="fa fa-times-circle"></i></a>
  27. </form>
  28. {% endif %}
  29. {% endif %}
  30. </div>
  31. <div id="revision-url" class="url-line"></div>
  32. </div>
  33. {% if page %}
  34. <div>
  35. {% if user %}
  36. <button
  37. data-csrftoken="{{ csrf() }}"
  38. data-liked="{% if page.isLiked(user) %}1{% else %}0{% endif %}"
  39. class="like-button btn btn-default btn-outline btn-circle {% if page.isLiked(user) %}active{% endif %}"
  40. ><i class="icon-like"></i></button>
  41. {% endif %}
  42. </div>
  43. <div>
  44. {% if user %}
  45. <span id="bookmark-button"></span>
  46. {% endif %}
  47. </div>
  48. {% endif %}
  49. </div>
  50. </header>
  51. </div>
  52. {% endblock %}
  53. {% block content_main %}
  54. {% block content_main_before %}
  55. {% endblock %}
  56. {# page-list-search should be fully managed by react.js,
  57. # but now the header and page list content is rendered separately by the server,
  58. # so now bind the values through the hidden fields.
  59. #}
  60. {% if false %} {# Disable temporaly -- 2018.03.08 Yuki Takei #}
  61. {% if searchConfigured() && !isTopPage() && !isTrashPage() %}
  62. <div id="page-list-search">
  63. </div>
  64. {% endif %}
  65. {% endif %}
  66. {% include '../widget/page_content.html' %}
  67. <div class="row page-list m-t-30">
  68. <div class="col-md-12">
  69. {% include '../widget/page_list_and_timeline.html' %}
  70. </div>
  71. </div>
  72. {% endblock %}
  73. {% block content_main_after %}
  74. {% endblock %}
  75. {% block content_footer %}
  76. <footer>
  77. </footer>
  78. {% endblock %}
  79. {% block side_header %}
  80. {% if not page and not isUserPageList(path) and !isTrashPage() %}
  81. {% include '../widget/create_portal.html' %}
  82. {% else %}
  83. {% include '../widget/page_side_header.html' %}
  84. {% endif %}
  85. {% endblock %} {# side_header #}
  86. {% block body_end %}
  87. <div id="crowi-modals">
  88. {% include '../modal/what_is_portal.html' %}
  89. {% include '../modal/unportalize.html' %}
  90. </div>
  91. {% endblock %} {# body_end #}