|
|
@@ -1076,56 +1076,54 @@ function loadNews(){
|
|
|
const distroData = DistroManager.getDistribution()
|
|
|
const newsFeed = distroData.getRSS()
|
|
|
const newsHost = new URL(newsFeed).origin + '/'
|
|
|
- $.ajax(
|
|
|
- {
|
|
|
- url: newsFeed,
|
|
|
- success: (data) => {
|
|
|
- const items = $(data).find('item')
|
|
|
- const articles = []
|
|
|
-
|
|
|
- for(let i=0; i<items.length; i++){
|
|
|
- // JQuery Element
|
|
|
- const el = $(items[i])
|
|
|
-
|
|
|
- // Resolve date.
|
|
|
- const date = new Date(el.find('pubDate').text()).toLocaleDateString('en-US', {month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric'})
|
|
|
-
|
|
|
- // Resolve comments.
|
|
|
- let comments = el.find('slash\\:comments').text() || '0'
|
|
|
- comments = comments + ' Comment' + (comments === '1' ? '' : 's')
|
|
|
-
|
|
|
- // Fix relative links in content.
|
|
|
- let content = el.find('content\\:encoded').text()
|
|
|
- let regex = /src="(?!http:\/\/|https:\/\/)(.+?)"/g
|
|
|
- let matches
|
|
|
- while((matches = regex.exec(content))){
|
|
|
- content = content.replace(`"${matches[1]}"`, `"${newsHost + matches[1]}"`)
|
|
|
- }
|
|
|
-
|
|
|
- let link = el.find('link').text()
|
|
|
- let title = el.find('title').text()
|
|
|
- let author = el.find('dc\\:creator').text()
|
|
|
-
|
|
|
- // Generate article.
|
|
|
- articles.push(
|
|
|
- {
|
|
|
- link,
|
|
|
- title,
|
|
|
- date,
|
|
|
- author,
|
|
|
- content,
|
|
|
- comments,
|
|
|
- commentsLink: link + '#comments'
|
|
|
- }
|
|
|
- )
|
|
|
+ $.ajax({
|
|
|
+ url: newsFeed,
|
|
|
+ success: (data) => {
|
|
|
+ const items = $(data).find('item')
|
|
|
+ const articles = []
|
|
|
+
|
|
|
+ for(let i=0; i<items.length; i++){
|
|
|
+ // JQuery Element
|
|
|
+ const el = $(items[i])
|
|
|
+
|
|
|
+ // Resolve date.
|
|
|
+ const date = new Date(el.find('pubDate').text()).toLocaleDateString('en-US', {month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric'})
|
|
|
+
|
|
|
+ // Resolve comments.
|
|
|
+ let comments = el.find('slash\\:comments').text() || '0'
|
|
|
+ comments = comments + ' Comment' + (comments === '1' ? '' : 's')
|
|
|
+
|
|
|
+ // Fix relative links in content.
|
|
|
+ let content = el.find('content\\:encoded').text()
|
|
|
+ let regex = /src="(?!http:\/\/|https:\/\/)(.+?)"/g
|
|
|
+ let matches
|
|
|
+ while((matches = regex.exec(content))){
|
|
|
+ content = content.replace(`"${matches[1]}"`, `"${newsHost + matches[1]}"`)
|
|
|
}
|
|
|
- resolve({
|
|
|
- articles
|
|
|
- })
|
|
|
- },
|
|
|
- timeout: 2500
|
|
|
- }
|
|
|
- ).catch(err => {
|
|
|
+
|
|
|
+ let link = el.find('link').text()
|
|
|
+ let title = el.find('title').text()
|
|
|
+ let author = el.find('dc\\:creator').text()
|
|
|
+
|
|
|
+ // Generate article.
|
|
|
+ articles.push(
|
|
|
+ {
|
|
|
+ link,
|
|
|
+ title,
|
|
|
+ date,
|
|
|
+ author,
|
|
|
+ content,
|
|
|
+ comments,
|
|
|
+ commentsLink: link + '#comments'
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+ resolve({
|
|
|
+ articles
|
|
|
+ })
|
|
|
+ },
|
|
|
+ timeout: 2500
|
|
|
+ }).catch(err => {
|
|
|
resolve({
|
|
|
articles: null
|
|
|
})
|