1
0
Fork 0
Commit graph

400 commits

Author SHA1 Message Date
Matthew Holt
f39d9590ff
Better offline support 2024-09-21 09:21:06 +02:00
Matthew Holt
b8feef6b44
Make bookmark mini display look nicer 2024-09-15 21:55:12 -06:00
Matthew Holt
23f4aa3cb9 nmea: Tolerate variable newlines 2024-09-12 06:05:05 -06:00
Sergio Rubio
ec57f1740e
chore: clean github ds leftovers (#56)
* chore: clean gitub ds leftovers

Missed this in https://github.com/timelinize/timelinize/pull/48 after
refactoring the code.

* One more
2024-09-11 14:13:18 -06:00
Matthew Holt
332bf09ac6
Fix new lint errors 2024-09-11 12:39:27 -06:00
Matthew Holt
2aac6affc9
nmea: Ignore VTG, GSA sentences; convert knots to m/s
Now tested with Kenwood and Yaesu radio GPS logs
2024-09-11 11:11:07 -06:00
Sergio Rubio
0c0a8770de
generic: Fix dot filename when importing a single file (#47)
* Invalid file path when importing a single file

Adds a test that proves importing a single file sets the file name to
'.'

* Clean test a bit

* Expand test

* 💄 test

* One more test

* Appease the linter

* 💄

* Add missing fixture

* Set the right Filepath when processing single files

* Simpler fix suggested by @mholt

* Simplify tests

* Add clarifying comment

* Rename the test
2024-09-06 14:03:26 -06:00
Matthew Holt
ab4c3bfe04
Allow bookmark items to be empty (with metadata)
Bookmark items may later be filled in by a snapshot.
2024-09-06 11:51:03 -06:00
Sergio Rubio
ef287c1bb9
GitHub data source (#48)
* GitHub stars data source

Data source that imports GitHub starred repositories in JSON format.

Each starred repo is imported individually, the starred repo
metadata comes from the GitHub API.

The item timestamp is set to the starred date, so they appear in the
timeline the day the repo was starred.

A small json file is saved in the timeline repository data directory
with the metadata retrieved from the GitHub API, which looks like:

```
{
 "id": 841044067,
 "name": "timelinize",
 "html_url": "https://github.com/timelinize/timelinize",
 "description": "Store your data from all your accounts and devices in a single cohesive timeline on your own computer",
 "created_at": "2024-08-11T13:27:39Z",
 "updated_at": "2024-09-03T07:17:29Z",
 "pushed_at": "2024-09-02T15:31:59Z",
 "stargazers_count": 504,
 "language": "Go",
 "full_name": "timelinize/timelinize",
 "topics": null,
 "is_template": false,
 "Topics": "archival,data-archiving,data-import,timeline",
 "private": false,
 "starred_at": "2024-08-12T17:55:48Z"
}
```

The data source currently expects the JSON file to be named like:

- ghstars.json
- ghstars-<ISO date>.json
- ghstars-<UNIX timestamp>.json

* Linter fixes

* Remove optional options

* Add the URL label to the bookmark class

* Change the data source name to GitHub

* Rename data source directory also

* Rename datasource main file

* Store GitHub starred repo URL only

* rename symbols

* Add basic tests

* moar tests

* Linter fix

* You can read on closed channels

* Add bookmark svg for the frontend

* Update package docs

* 💄 docs

* Update datasources/github/github.go

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>

* Update datasources/github/github.go

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>

* Update datasources/github/github.go

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>

* Remove content from item

---------

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-09-06 11:22:07 -06:00
Matthew Holt
750a78b3b5
Allow storing markdown in the DB 2024-09-04 09:46:35 -06:00
Sergio Rubio
304f8638c5
Test for couldBeMarkdown (#46)
* Test for couldBeMarkdown

couldBeMarkdown is greedy, and makes the processing[^1] step set the content
type of HTML and plain text files as text/markdown.

This has the side effect of excluding text file from in database
storage, since that only happens for text/plain files[^2]

[^1]: 8f0f491ad5/timeline/processing.go (L1479)
[^2]: https://github.com/timelinize/timelinize/pull/45#issuecomment-2325018564

* Add HTML test

* gofmt
2024-09-04 09:21:49 -06:00
Matthew Holt
32ce6e029b processor: Fix couldBeMarkdown detection 2024-09-04 08:50:24 -06:00
Sergio Rubio
fe114eed47
processor: Bump max size of text stored in DB to 50KiB (#45) 2024-09-03 21:35:03 -06:00
Matthew Holt
d47462f527
Fix size bug for plaintext data files 2024-09-02 09:31:56 -06:00
Sergio Rubio
e5dd44d680
Docker releases are now publicly available (#44) 2024-09-02 08:48:13 -06:00
Matthew Holt
95fcafb96c
vcard: Fix name and address formatting 2024-09-02 06:46:37 -06:00
Matthew Holt
8de1fe9ff0
ci: Switch to macos-13 for Intel builds (maybe) 2024-09-02 05:15:51 -06:00
Sergio Rubio
ff1dfc4afc
ci: add workflow to run go test (#40)
* chore: add workflow to run go test

* fix a test failure

* Downgrade heif to be able to test

* run all tests by default

* Revert typo fix

* Fix metadata test
2024-08-30 13:10:34 -06:00
Matthew Holt
e3680c219b
Fix more lint errors; couple of minor regressions 2024-08-30 07:19:42 -06:00
Sergio Rubio
ac29bbd26b
chore: linter fixes (#39)
* chore: linter fix, remove unused argument

* min is a built-in function (predeclared identifier)
2024-08-30 06:31:12 -06:00
Matthew Holt
55b503ae4d
More lint fixes 2024-08-29 20:39:56 -06:00
Matthew Holt
b62a77f2da
ci: Increase timeout 2024-08-29 16:50:14 -06:00
Matthew Holt
3066ddbeb9
Major linting overhaul
I've addressed most of the "fast" linters errors locally in my editor.

Some linters are broken or buggy.
2024-08-29 16:43:52 -06:00
Matt Holt
2c66046308
Update CONTRIBUTING.md 2024-08-28 16:21:05 -06:00
Matthew Holt
21d5a2ed8e
chore: Fix some lint errors (add package comments) 2024-08-28 16:05:43 -06:00
Sergio Rubio
988cceb4c1
ci: Add workflow to run golangci-lint (#38)
The linter config being added is pretty hardcore, we'll need to tune it
to our liking and fix the rest.
2024-08-28 14:45:47 -06:00
Sergio Rubio
9d9bed5bf0
Add new Document and Note classes (#37) 2024-08-28 13:53:53 -06:00
Matthew Holt
d8a5b6cf61
Improve classification docs 2024-08-28 11:41:59 -06:00
Matthew Holt
a3112d1f0b
Quick fix for bug showing items without a data_type 2024-08-28 08:25:22 -06:00
Matthew Holt
8f0f491ad5
Better support for text, markdown, and HTML items
- UI support for upcoming note and document classifications
- Display HTML, text, and markdown items in timeline
- Detect Markdown content in processor
- Tweak logo URL in readme
- Make import modal stay even when clicked outside
- Upgrade luxon to 3.5.0
- Add markdown parsing and DOM sanitizing libs
2024-08-28 08:17:54 -06:00
Matthew Holt
ca0ba52ee8
Give unclassified items a category (see #36) 2024-08-27 12:52:18 -06:00
Matthew Holt
fe87b7f20c timeline: Improve retrieval key docs 2024-08-23 10:10:13 -06:00
Sergio Rubio
12300753a9
geojson: property parsing fixes (#35)
* Accept geojson files without a time property: do not return an error
  if well-know time properties aren't found, which prevents the entire
  feature from being ingested.
* Random properties aren't stored sometimes: do not modify the map while
  iterating it, as that can have unpredictable effects according to the spec
  (https://go.dev/ref/spec#For_range).
2024-08-23 07:53:20 -06:00
Matthew Holt
bc5c07d706
geojson: Accept freeform feature properties as metadata
Certain property names related to time, altitude, heading, etc., are extracted to the best of our ability.

Updates #33

Also a minor fix for a bug in spa.js when creating a new timeline with no owner info (other than name).
2024-08-22 16:55:53 -06:00
Sergio Rubio
a24d575883
GeoJSON: save and display additional metadata (#33)
Stores additiona feature properties as metadata, which makes for a nicer
rendered object:

- Name: name given to the feature
- Country: readable country name
- ISO country code
- Notes: arbitrary text notes

The spec[^1] doesn't seem to define the properties allowed here, it can
be an arbitrary JSON object, so maybe a better option in the future
would be to read and save all the properties available.

[^1]: https://datatracker.ietf.org/doc/html/rfc7946#section-3.2
2024-08-22 14:06:25 -06:00
Sergio Rubio
67a191db0c
go.mod: Bump golang.org/x/image (#34)
* Bump golang.org/x/image

Resolves https://github.com/timelinize/timelinize/security/dependabot/1

* go mod tidy
2024-08-22 13:46:35 -06:00
Sergio Rubio
d159313ec9
Build on macos-14 also, Intel (#30)
Enables macOS Intel builds and releases
2024-08-21 11:19:43 -06:00
Sergio Rubio
68f732a3e5
Docker support (#26) 2024-08-21 07:43:55 -06:00
Matthew Holt
ae7f6dcecd
ci: Update vendor info 2024-08-20 12:31:27 -06:00
Michael Bolli
48b1dd3e55
geojson: location(): enhance timestamp detection if array has more than 4 members (#29) 2024-08-20 10:27:03 -06:00
Arran Ubels
5379f346eb
ci: Initial Goreleaser commit (#28)
* Gorelease: Initial go releaser added.
Download deps
Add change to git.
We need a git account for this.
Force tag replacement.
goreleaser pro required so work around
Use download instead.

* Go version upgrade.

* Unnecessary
2024-08-19 12:08:01 -06:00
Michael Bolli
2abf8443c8
geojson: Add UI for data source options (#27)
* add geojson import options ui

* geojson: `location()`: fix positions with more than two values were not processed
2024-08-19 11:46:51 -06:00
Matthew Holt
a581abf765
geojson: Accept noncompliant positions; refactor & fix bug (fix #23) 2024-08-16 15:05:25 -06:00
Matthew Holt
e296b73d2d
googlelocation: Support on-device location history (close #20) 2024-08-14 16:31:27 -06:00
Matthew Holt
10af144f0e
Remove expiration (close #14) 2024-08-12 19:48:24 -06:00
Matthew Holt
b7cd2ae2a7
go.mod: Upgrade libheif to 1.18 2024-08-12 14:19:12 -06:00
Matthew Holt
78192e253b
readme: Improve build from source instructions 2024-08-12 14:10:44 -06:00
Matthew Holt
d435c8902d
readme: Minor enhancements 2024-08-12 06:43:42 -06:00
Matthew Holt
5c52a77fa3
readme: Add screenshots 2024-08-12 06:36:07 -06:00
Matthew Holt
1daf6f4157
Initial open source commit 2024-08-11 08:02:27 -06:00