Personal blog written from scratch using Node.js, Bootstrap, and MySQL. https://jrtechs.net
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.

42 lines
1.5 KiB

  1. const Promise = require('promise');
  2. const sql = require('../utils/sql');
  3. module.exports=
  4. {
  5. /**
  6. * Responsible for querying the database and displaying all
  7. * categories that the blog has in the sidebar
  8. *
  9. * @param res
  10. * @return {*|Promise}
  11. */
  12. main: function(res)
  13. {
  14. return new Promise(function(resolve, reject)
  15. {
  16. res.write("<br><br><div class=\"container\">");
  17. //res.write("<div class=\"w3-container w3-padding w3-gray\"><h4>Categories</h4></div>");
  18. //res.write("<div class=\"container\"><h4 class=\"align-content-center\">Categories</h4></div>");
  19. //res.write("<div class=\"w3-bar-block w3-white\">");
  20. res.write("<div class=\"list-group\">");
  21. res.write(" <a href=\"#\" class=\"list-group-item list-group-item-action flex-column align-items-start active\">\n" +
  22. " <h5 class=\"mb-1\">Categories</h5>\n" +
  23. " </a>");
  24. sql.getCategories().then(function(categories)
  25. {
  26. categories.forEach(function(cat)
  27. {
  28. //res.write(cat.name);
  29. res.write("<a class=\"list-group-item\" href='/category/" + cat.url + "'>" + cat.name + "<br></a>");
  30. });
  31. res.write("</div></div><br>");
  32. resolve();
  33. })
  34. });
  35. }
  36. };