* add ci

* format code

* update go version

* update go file

* add kindlegen

* update go file

* update go file

* test ci

* multiline run

* edit go file

* fix tar

* mv kindlegen to usr local bin
This commit is contained in:
lapwat
2022-03-13 12:36:58 +01:00
committed by GitHub
parent 53d0dd1360
commit 4d6171544d
3 changed files with 51 additions and 11 deletions

15
.github/workflows/format.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Format
on:
push:
paths:
- '**.go'
jobs:
format:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check formatting
run: if [[ -n "$(gofmt -l .)" ]]; then exit 1; fi

25
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Test
on:
push:
paths:
- '**.go'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Install kindlegen
run: |
curl -L https://github.com/lapwat/papeer/releases/download/kindlegen/kindlegen_linux_2.6_i386_v2_9.tar.gz > kindlegen.tar.gz
tar xzvf kindlegen.tar.gz
chmod +x kindlegen
mv kindlegen /usr/local/bin
- name: Checkout
uses: actions/checkout@v2
- name: Test
run: make test

View File

@@ -398,11 +398,11 @@ func GetLinks(url *urllib.URL, selector string, limit, offset int, reverse, incl
selector = "a"
selectorSet = false
}
pathLinks := map[string][]link{}
pathCount := map[string]int{}
pathMax = ""
// visit and count link classes
c := colly.NewCollector()
c.OnHTML(selector, func(e *colly.HTMLElement) {
@@ -410,34 +410,34 @@ func GetLinks(url *urllib.URL, selector string, limit, offset int, reverse, incl
text := strings.TrimSpace(e.Text)
path := GetPath(e.DOM)
key := path
if selectorSet {
// if selector is set, we use the selector specified by the user
key = selector
pathLinks[key] = append(pathLinks[key], NewLink(href, text))
pathCount[key] += 1
pathMax = key
} else {
// if selector is not set, we compute the selector ourselves
class := e.Attr("class")
// include the element class to make sure we have the same exact path for every link in the table of content
key = fmt.Sprintf("%s.%s", path, class)
// we count this key if the link text is not empty
if text != "" {
pathLinks[key] = append(pathLinks[key], NewLink(href, text))
pathCount[key] += len(text)
if pathCount[key] > pathCount[pathMax] {
pathMax = key
}
}
}
})
c.Visit(url.String())