bsky-app/bskyweb
Eric Bailey 58aaad704a
Add tags and mute words (#2968)
* Add bare minimum hashtags support (#2804)

* Add bare minimum hashtags support

As atproto/api already parses hashtags, this is as simple as hooking it
up like link segments.

This is "bare minimum" because:

- Opening hashtag "#foo" is actually just a search for "foo" right now
  to work around #2491.
- There is no integration in the composer. This hasn't stopped people
  from using hashtags already, and can be added later.
- This change itself only had to hook things up - thank you for having
  already put the hashtag parsing in place.

* Remove workaround for hash search not working now that it's fixed

* Add RichTextTag and TagMenu

* Sketch

* Remove hackfix

* Some cleanup

* Sketch web

* Mobile design

* Mobile handling of tags search

* Web only

* Fix navigation woes

* Use new callback

* Hook it up

* Integrate muted tags

* Fix dropdown styles

* Type error

* Use close callback

* Fix styles

* Cleanup, install latest sdk

* Quick muted words screen

* Targets

* Dir structure

* Icons, list view

* Move to dialog

* Add removal confirmation

* Swap copy

* Improve checkboxees

* Update matching, add tests

* Moderate embeds

* Create global dialogs concept again to prevent flashing

* Add access from moderation screen

* Highlight tags on native

* Add web highlighting

* Add close to web modal

* Adjust close color

* Rename toggles and adjust logic

* Icon update

* Load states

* Improve regex

* Improve regex

* Improve regex

* Revert link test

* Hyphenated words

* Improve matching

* Enhance

* Some tweaks

* Muted words modal changes

* Handle invalid handles, handle long tags

* Remove main regex

* Better test

* Space/punct check drop to includes

* Lowercase post text before comparison

* Add better real world test case

---------

Co-authored-by: Kisaragi Hiu <mail@kisaragi-hiu.com>
2024-02-26 20:33:48 -08:00
..
cmd/bskyweb Rename Home Feed Prefs to Following Feed Prefs (#2965) 2024-02-22 16:51:11 +00:00
static Update open graph data (#2760) 2024-02-06 18:52:04 -08:00
templates Add tags and mute words (#2968) 2024-02-26 20:33:48 -08:00
.gitignore Updates indigo golang packages post-lex-refactor (!), which fixes XRPC calls (#582) 2023-05-04 13:56:17 -05:00
Makefile bskyweb: update golang indigo dep (from May!), and some small devex tweaks (#2227) 2023-12-18 19:31:48 +04:00
README.md feat(nvm): add support for nvm & minor actions housekeeping (#2979) 2024-02-26 17:35:06 -08:00
example.dev.env bskyweb: switch from PDS backend to AppView backend (#1065) 2023-08-24 16:00:45 -07:00
example.env bskyweb: update golang indigo dep (from May!), and some small devex tweaks (#2227) 2023-12-18 19:31:48 +04:00
go.mod bskyweb: update golang indigo dep (from May!), and some small devex tweaks (#2227) 2023-12-18 19:31:48 +04:00
go.sum bskyweb: update golang indigo dep (from May!), and some small devex tweaks (#2227) 2023-12-18 19:31:48 +04:00
static.go bskyweb additions (#296) 2023-03-20 14:41:15 -07:00
templates.go bskyweb additions (#296) 2023-03-20 14:41:15 -07:00

README.md

Build / Develop

SPA Bundle (monolithic static javascript file)

To build the SPA bundle (bundle.web.js), first get a JavaScript development environment set up. Either follow the top-level README, or something quick like:

# install nodejs
nvm install
nvm use
npm install --global yarn

# setup tools and deps (in top level of this repo)
yarn install --frozen-lockfile

# run yarn web dev server, if you wanted
yarn web

Then build and copy over the big 'ol bundle.web.js file:

# in the top level of this repo
yarn build-web

Golang Daemon

Install golang. We are generally using v1.21+.

In this directory (bskyweb/):

# re-build and run daemon
go run ./cmd/bskyweb serve

# build and output a binary
go build -o bskyweb ./cmd/bskyweb/

The easiest way to configure the daemon is to copy example.env to .env and fill in auth values there.