Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class News
- {
- constructor(title='Oh, damn!', date=new Date(), text='', tags='')
- {
- this._title = title;
- this._date = date;
- this._text = text;
- this._tags = tags.split(' ');
- }
- _toHtml()
- {
- let html=`<h1>${this._title}</h1>`;
- let now = new Date();
- let dateStr = '';
- let days =(now.getTime() - this._date.getTime());
- days /= (1000 * 60 * 60 * 24);
- days = Math.abs(Math.floor(days));
- if ( days <= 7 )
- {
- dateStr = `${days} day(s) ago`;
- }
- else
- {
- dateStr = `${String(this._date.getDate()).padStart(2,0) + '.' + String(this._date.getMonth()+1).padStart(2,0) + '.' +String(this._date.getFullYear())}`;
- };
- html+=`<time>${dateStr}</time><br/>`;
- html+=`<p>${this._text}</p>`;
- let tagsStr = this._tags.reduce((prev,it)=>{ return `${prev}#${it} `;},'');
- html+=`<em>${tagsStr}</em>`;
- html=`<article>${html}</article>`;
- return html;
- }
- render()
- {
- document.write(this._toHtml());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement