Клиентская сторона для новой версии news.radio-t.com
1.9K
Полное описание задачи можно подсмотреть здесь
Таски описаны в makefile
# modes are: production|development
npm install && ./node_modules/.bin/webpack --mode "development"
После билда, все нужные файлы будут в папке public. Для работы нужен реврайт несуществующих урлов на index.html.
./node_modules/.bin/webpack-dev-server --mode "development"
В makefile продублированы команды для docker
RTHOST: Ссылка на api. По умолчанию используется https://news.radio-t.com/api/v1 для продакшна и http://jess.umputun.com:8780/api/v1 для дева
GET /api/v1/feeds - list of feedsPOST /api/v1/feeds - add feed, needs at least {feedlink: url}DELETE /api/v1/feeds/:id - delete feed by id {
"active": true,
"feedlink": "http://www.instapaper.com/folder/1733843/rss/470308/Epogj3Ubs5DdJJnUdVD2HUAKSk",
"id": "566283bd4e1ad997adf3f532",
"updated": "2015-12-05T06:27:09.449Z"
}
basic news ops
POST /api/v1/news - add article
POST /api/v1/news/manual - add or upsert article with data in body
POST /api/v1/news/blocking - add article synchronously (similar to /api/v1/news), with article data in response
GET /api/v1/news - get all news, except deleted. Strps "content" field
GET /api/v1/news/id/:id - get full article by id, including "content"
GET /api/v1/news/last/:count - get last articles
GET /api/v1/news/slug/:slug - get article by slug
GET /api/v1/news/domain/#domain - get articles for domain
DELETE /api/v1/news/:id - delete by id (mark as deleted)
delete/archive ops
PUT /api/v1/news/undelete/:id - undelete by id (clear deleted status)
GET /api/v1/news/del - get deleted articles
PUT /api/v1/news/archive/:id - archive article by id
GET /api/v1/news/archive - get list of archives articles
move
PUT /api/v1/news/move/:pos/:offset - move from pos with +/- offset
PUT /api/v1/news/moveid/:id/:offset - move from id with +/- offset
GET /api/v1/news/positions - get positions as {id:pos, id1:pos1 ...}
activation
PUT /api/v1/news/active/:id - activate article by id
GET /api/v1/news/active - get active article
GET /api/v1/news/active/href - get active article as {title:foo, url:bar}
GET /api/v1/news/active/id - get id of active article as {id:xyz}
GET /api/v1/news/active/last/:hrs - get articles activated in last hrs
DELETE /api/v1/news/active/last/:hrs - archive all article activate in last :hrs
GET /api/v1/news/lastmd/:hrs, - get markdown of recently activated`
GET /api/v1/news/active/wait/:secs - wait for change of active up to :secs
marking
PUT /api/v1/news/nogeek/:id - mark as geek-article by id
PUT /api/v1/news/geek/:id - mark as regular (non-geek) by id
miscs
GET /api/v1/news/rss/:count - get rss feed with last (by time) :count
PUT /api/v1/news/reload - force reprocessing of all RSS feeds
PUT /api/v1/show/start[/:datetime] - save start time (used by markdown request). datetime: show start forced datetime in YYYYMMDD-HHMMSS format, server timezone (-06:00).
GET /api/v1/show/start - return saved start time
{
"active": false,
"activets": "0001-01-01T00:00:00Z",
"archived": false,
"ats": "2015-12-05T06:29:05.414Z",
"author": "",
"comments": 0,
"content": "At GitHub we place an emphasis on stability, ....... CAN BE REALLY BIG ..."
"del": false,
"domain": "",
"exttitle": "",
"feed": "http://www.instapaper.com/rss/94339/obmip3D4ed6h67x3zX1oNbNWCYw",
"geek": true,
"id": "566284314e1ad997adf3f56a",
"likes": 0,
"link": "http://githubengineering.com/githubs-metal-cloud/",
"origlink": "http://githubengineering.com/githubs-metal-cloud/",
"pic": "http://githubengineering.com/images/githubs-metal-cloud/gpanel-chassis-view.png",
"position": 0,
"slug": "github-s-metal-cloud-github-engineering",
"snippet": "At GitHub we place an emphasis on stability, availability, and performance. A large component of ensuring we excel in these areas is deploying services on bare-metal hardware. This allows us to…",
"title": "GitHub's Metal Cloud - GitHub Engineering",
"ts": "2015-12-05T05:17:21Z",
"votes": 0
}
по поводу нескольких ts (тут их целых 3) могут быть резонные вопросы:
activets – момент активации новостиts – время новости из rssats – когда новость добавлена в системуКак правило, link и origlink идентичны, однако в некоторых случаях они могут отличаться. origlink всегда содержит исходную ссылку, а link - это конечная ссылка после всех возможных редиректов.
Content type
Image
Digest
Size
2.2 MB
Last updated
almost 8 years ago
docker pull umputun/rtnews-ui