getPreviewHTML.js 740 B

1234567891011121314151617181920212223242526272829303132333435
  1. let url = require('url');
  2. let ejs = require('ejs');
  3. module.exports = function getPreviewHTML (data) {
  4. let template = `
  5. <div class='link_preview'>
  6. <h1>
  7. <a href='<%= url %>' target='_blank' rel='noopener noreferrer'>
  8. <%= title %>
  9. </a>
  10. </h1>
  11. <h2>
  12. from <%= hostname %>
  13. </h2>
  14. <% if(locals.partial) { %>
  15. <div class='link_preview__partial'>
  16. <%- partial %>
  17. </div>
  18. <% } %>
  19. <% if(locals.image || locals.description) { %>
  20. <p>
  21. <% if(locals.image) { %>
  22. <img src='<%= image %>'>
  23. <% } %>
  24. <% if(locals.description) { %>
  25. <%= description %>
  26. <% } %>
  27. </p>
  28. <% } %>
  29. </div>
  30. `;
  31. data.hostname = url.parse(data.url).hostname;
  32. return ejs.render(template, data);
  33. }