Personal website https://benkurtovic.com/
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

main.js 1.9 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. function fix_tag_links() {
  2. $("#post-info").find("a").attr("href", function() {
  3. return "/#" + encodeURIComponent($(this).text());
  4. });
  5. }
  6. function load_tag_filters() {
  7. var filter_posts = function(filter) {
  8. var num_selected = $(".tag-selected").length;
  9. if (num_selected == 0 || num_selected == $(".tag").length)
  10. $("#post-list li").show();
  11. else {
  12. $("#post-list li").hide();
  13. $("#post-list li").each(function() {
  14. var tags = $(this).data("tags").split("|");
  15. for (var t in tags) {
  16. if ($.inArray(tags[t], filter) != -1) {
  17. $(this).show();
  18. return;
  19. }
  20. }
  21. });
  22. }
  23. }
  24. if (window.location.hash) {
  25. var tags = decodeURIComponent(window.location.hash.substr(1)).split("|");
  26. $(".tag").each(function() {
  27. if ($.inArray($(this).text(), tags) != -1)
  28. $(this).toggleClass("tag-selected");
  29. });
  30. filter_posts(tags);
  31. }
  32. $(".tag").click(function() {
  33. $(this).toggleClass("tag-selected");
  34. var tags = [];
  35. $(".tag-selected").each(function() {
  36. tags.push($(this).text())
  37. });
  38. if (tags.length > 0)
  39. window.location.hash = encodeURIComponent(tags.join("|"));
  40. else
  41. history.pushState("", "", window.location.pathname);
  42. filter_posts(tags);
  43. });
  44. }
  45. function load_paragraph_links() {
  46. $("#post").find("h1, h2, h3, h4, h5, h6").hover(function() {
  47. $(this).append($("<a>")
  48. .attr("href", "#" + this.id)
  49. .attr("class", "para-link")
  50. .text("¶"));
  51. }, function() {
  52. $(this).find(".para-link").remove();
  53. });
  54. }
  55. $(document).ready(function() {
  56. fix_tag_links();
  57. load_tag_filters();
  58. load_paragraph_links();
  59. });