mirror of
https://github.com/nkanaev/yarr.git
synced 2025-09-14 18:30:04 +00:00
Compare commits
5 Commits
a96fc101f2
...
v2.4
Author | SHA1 | Date | |
---|---|---|---|
|
259474cae9 | ||
|
1e65a7951b | ||
|
bed5640366 | ||
|
57ea83cf4f | ||
|
219842d723 |
12
.github/workflows/build.yml
vendored
12
.github/workflows/build.yml
vendored
@@ -7,7 +7,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build_macos:
|
build_macos:
|
||||||
name: Build for MacOS
|
name: Build for MacOS
|
||||||
runs-on: macos-10.15
|
runs-on: macos-13
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout"
|
- name: "Checkout"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@@ -16,7 +16,7 @@ jobs:
|
|||||||
- name: "Setup Go"
|
- name: "Setup Go"
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: '^1.16'
|
go-version: '^1.17'
|
||||||
- name: Cache Go Modules
|
- name: Cache Go Modules
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
@@ -34,7 +34,7 @@ jobs:
|
|||||||
|
|
||||||
build_windows:
|
build_windows:
|
||||||
name: Build for Windows
|
name: Build for Windows
|
||||||
runs-on: windows-2019
|
runs-on: windows-2022
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout"
|
- name: "Checkout"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@@ -43,7 +43,7 @@ jobs:
|
|||||||
- name: "Setup Go"
|
- name: "Setup Go"
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: '^1.16'
|
go-version: '^1.17'
|
||||||
- name: Cache Go Modules
|
- name: Cache Go Modules
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
@@ -61,7 +61,7 @@ jobs:
|
|||||||
|
|
||||||
build_linux:
|
build_linux:
|
||||||
name: Build for Linux
|
name: Build for Linux
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout"
|
- name: "Checkout"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
- name: "Setup Go"
|
- name: "Setup Go"
|
||||||
uses: actions/setup-go@v2
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: '^1.16'
|
go-version: '^1.17'
|
||||||
- name: Cache Go Modules
|
- name: Cache Go Modules
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
|
2
build.md
2
build.md
@@ -1,6 +1,6 @@
|
|||||||
## Compilation
|
## Compilation
|
||||||
|
|
||||||
Install `Go >= 1.16` and `GCC`. Get the source code:
|
Install `Go >= 1.17` and `GCC`. Get the source code:
|
||||||
|
|
||||||
git clone https://github.com/nkanaev/yarr.git
|
git clone https://github.com/nkanaev/yarr.git
|
||||||
|
|
||||||
|
4
go.mod
4
go.mod
@@ -1,9 +1,11 @@
|
|||||||
module github.com/nkanaev/yarr
|
module github.com/nkanaev/yarr
|
||||||
|
|
||||||
go 1.16
|
go 1.17
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/mattn/go-sqlite3 v1.14.7
|
github.com/mattn/go-sqlite3 v1.14.7
|
||||||
golang.org/x/net v0.8.0
|
golang.org/x/net v0.8.0
|
||||||
golang.org/x/sys v0.6.0
|
golang.org/x/sys v0.6.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
require golang.org/x/text v0.8.0 // indirect
|
||||||
|
2
makefile
2
makefile
@@ -1,4 +1,4 @@
|
|||||||
VERSION=2.3
|
VERSION=2.4
|
||||||
GITHASH=$(shell git rev-parse --short=8 HEAD)
|
GITHASH=$(shell git rev-parse --short=8 HEAD)
|
||||||
|
|
||||||
CGO_ENABLED=1
|
CGO_ENABLED=1
|
||||||
|
@@ -133,7 +133,7 @@
|
|||||||
:class="{'d-none': filterSelected
|
:class="{'d-none': filterSelected
|
||||||
&& !(current.folder.id == folder.id || current.feed.folder_id == folder.id)
|
&& !(current.folder.id == folder.id || current.feed.folder_id == folder.id)
|
||||||
&& !filteredFolderStats[folder.id]
|
&& !filteredFolderStats[folder.id]
|
||||||
&& (!itemSelectedDetails || feedsById[itemSelectedDetails.feed_id].folder_id != folder.id)}">
|
&& (!itemSelectedDetails || (feedsById[itemSelectedDetails.feed_id] || {}).folder_id != folder.id)}">
|
||||||
<input type="radio" name="feed" :value="'folder:'+folder.id" v-model="feedSelected" v-if="folder.id">
|
<input type="radio" name="feed" :value="'folder:'+folder.id" v-model="feedSelected" v-if="folder.id">
|
||||||
<div class="selectgroup-label d-flex align-items-center w-100" v-if="folder.id">
|
<div class="selectgroup-label d-flex align-items-center w-100" v-if="folder.id">
|
||||||
<span class="icon mr-2"
|
<span class="icon mr-2"
|
||||||
@@ -274,7 +274,7 @@
|
|||||||
<span class="icon icon-small mr-1" v-if="item.status=='starred'">{% inline "star-full.svg" %}</span>
|
<span class="icon icon-small mr-1" v-if="item.status=='starred'">{% inline "star-full.svg" %}</span>
|
||||||
</transition>
|
</transition>
|
||||||
<small class="flex-fill text-truncate mr-1">
|
<small class="flex-fill text-truncate mr-1">
|
||||||
{{ feedsById[item.feed_id].title }}
|
{{ (feedsById[item.feed_id] || {}).title }}
|
||||||
</small>
|
</small>
|
||||||
<small class="flex-shrink-0"><relative-time v-bind:title="formatDate(item.date)" :val="item.date"/></small>
|
<small class="flex-shrink-0"><relative-time v-bind:title="formatDate(item.date)" :val="item.date"/></small>
|
||||||
</div>
|
</div>
|
||||||
@@ -338,7 +338,7 @@
|
|||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<h1><b>{{ itemSelectedDetails.title || 'untitled' }}</b></h1>
|
<h1><b>{{ itemSelectedDetails.title || 'untitled' }}</b></h1>
|
||||||
<div class="text-muted">
|
<div class="text-muted">
|
||||||
<div>{{ feedsById[itemSelectedDetails.feed_id].title }}</div>
|
<div>{{ (feedsById[itemSelectedDetails.feed_id] || {}).title }}</div>
|
||||||
<time>{{ formatDate(itemSelectedDetails.date) }}</time>
|
<time>{{ formatDate(itemSelectedDetails.date) }}</time>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
@@ -410,6 +410,7 @@ var vm = new Vue({
|
|||||||
refreshItems: function(loadMore) {
|
refreshItems: function(loadMore) {
|
||||||
if (this.feedSelected === null) {
|
if (this.feedSelected === null) {
|
||||||
vm.items = []
|
vm.items = []
|
||||||
|
vm.itemsHasMore = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,10 +517,7 @@ var vm = new Vue({
|
|||||||
deleteFolder: function(folder) {
|
deleteFolder: function(folder) {
|
||||||
if (confirm('Are you sure you want to delete ' + folder.title + '?')) {
|
if (confirm('Are you sure you want to delete ' + folder.title + '?')) {
|
||||||
api.folders.delete(folder.id).then(function() {
|
api.folders.delete(folder.id).then(function() {
|
||||||
if (vm.feedSelected === 'folder:'+folder.id) {
|
vm.feedSelected = null
|
||||||
vm.items = []
|
|
||||||
vm.feedSelected = ''
|
|
||||||
}
|
|
||||||
vm.refreshStats()
|
vm.refreshStats()
|
||||||
vm.refreshFeeds()
|
vm.refreshFeeds()
|
||||||
})
|
})
|
||||||
@@ -536,12 +534,7 @@ var vm = new Vue({
|
|||||||
deleteFeed: function(feed) {
|
deleteFeed: function(feed) {
|
||||||
if (confirm('Are you sure you want to delete ' + feed.title + '?')) {
|
if (confirm('Are you sure you want to delete ' + feed.title + '?')) {
|
||||||
api.feeds.delete(feed.id).then(function() {
|
api.feeds.delete(feed.id).then(function() {
|
||||||
// unselect feed to prevent reading properties of null in template
|
vm.feedSelected = null
|
||||||
var isSelected = !vm.feedSelected
|
|
||||||
|| (vm.feedSelected === 'feed:'+feed.id
|
|
||||||
|| (feed.folder_id && vm.feedSelected === 'folder:'+feed.folder_id));
|
|
||||||
if (isSelected) vm.feedSelected = null
|
|
||||||
|
|
||||||
vm.refreshStats()
|
vm.refreshStats()
|
||||||
vm.refreshFeeds()
|
vm.refreshFeeds()
|
||||||
})
|
})
|
||||||
|
@@ -2,8 +2,11 @@
|
|||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
html {
|
||||||
font-size: 15px !important;
|
font-size: 15px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
vendor/github.com/mattn/go-sqlite3/go.mod
generated
vendored
3
vendor/github.com/mattn/go-sqlite3/go.mod
generated
vendored
@@ -1,3 +0,0 @@
|
|||||||
module github.com/mattn/go-sqlite3
|
|
||||||
|
|
||||||
go 1.12
|
|
0
vendor/github.com/mattn/go-sqlite3/go.sum
generated
vendored
0
vendor/github.com/mattn/go-sqlite3/go.sum
generated
vendored
7
vendor/modules.txt
vendored
7
vendor/modules.txt
vendored
@@ -1,16 +1,17 @@
|
|||||||
# github.com/mattn/go-sqlite3 v1.14.7
|
# github.com/mattn/go-sqlite3 v1.14.7
|
||||||
## explicit
|
## explicit; go 1.12
|
||||||
github.com/mattn/go-sqlite3
|
github.com/mattn/go-sqlite3
|
||||||
# golang.org/x/net v0.8.0
|
# golang.org/x/net v0.8.0
|
||||||
## explicit
|
## explicit; go 1.17
|
||||||
golang.org/x/net/html
|
golang.org/x/net/html
|
||||||
golang.org/x/net/html/atom
|
golang.org/x/net/html/atom
|
||||||
golang.org/x/net/html/charset
|
golang.org/x/net/html/charset
|
||||||
# golang.org/x/sys v0.6.0
|
# golang.org/x/sys v0.6.0
|
||||||
## explicit
|
## explicit; go 1.17
|
||||||
golang.org/x/sys/internal/unsafeheader
|
golang.org/x/sys/internal/unsafeheader
|
||||||
golang.org/x/sys/windows
|
golang.org/x/sys/windows
|
||||||
# golang.org/x/text v0.8.0
|
# golang.org/x/text v0.8.0
|
||||||
|
## explicit; go 1.17
|
||||||
golang.org/x/text/encoding
|
golang.org/x/text/encoding
|
||||||
golang.org/x/text/encoding/charmap
|
golang.org/x/text/encoding/charmap
|
||||||
golang.org/x/text/encoding/htmlindex
|
golang.org/x/text/encoding/htmlindex
|
||||||
|
Reference in New Issue
Block a user