Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge from trunk |
---|---|
Timelines: | family | ancestors | descendants | both | zmk |
Files: | files | file ages | folders |
SHA3-256: |
9aec1d38bb38f35bf25925cba23fcbf4 |
User & Date: | stern 2024-05-31 15:46:14 |
Context
2024-05-31
| ||
15:48 | Initial version of zmk->Sx parser ... (check-in: 955147c904 user: stern tags: trunk) | |
15:46 | Merge from trunk ... (Leaf check-in: 9aec1d38bb user: stern tags: zmk) | |
2024-04-22
| ||
14:51 | Package sxhtml was renamed to sxwebs/sxhtml ... (check-in: 3bbfcfd939 user: stern tags: trunk) | |
2024-04-17
| ||
16:24 | Merge from trunk and rename package to t73f.de/r/zsc ... (check-in: 417c3366e3 user: stern tags: zmk) | |
Changes
Changes to api/urlbuilder.go.
︙ | ︙ | |||
9 10 11 12 13 14 15 | // // SPDX-License-Identifier: EUPL-1.2 // SPDX-FileCopyrightText: 2020-present Detlef Stern //----------------------------------------------------------------------------- package api | | < < < < < > | < < < < < > > > | > > > > | < < < < < < < < | < < < < < < < < < < < < < < < < | | < < < < < < < | < | < | < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | // // SPDX-License-Identifier: EUPL-1.2 // SPDX-FileCopyrightText: 2020-present Detlef Stern //----------------------------------------------------------------------------- package api import "t73f.de/r/webs/urlbuilder" // URLBuilder should be used to create zettelstore URLs. type URLBuilder struct { base urlbuilder.URLBuilder prefix string } // NewURLBuilder creates a new URL builder with the given prefix and key. func NewURLBuilder(prefix string, key byte) *URLBuilder { for len(prefix) > 0 && prefix[len(prefix)-1] == '/' { prefix = prefix[0 : len(prefix)-1] } result := URLBuilder{prefix: prefix} if key != '/' { result.base.AddPath(string([]byte{key})) } return &result } // Clone an URLBuilder func (ub *URLBuilder) Clone() *URLBuilder { cpy := new(URLBuilder) ub.base.Copy(&cpy.base) cpy.prefix = ub.prefix return cpy } // SetZid sets the zettel identifier. func (ub *URLBuilder) SetZid(zid ZettelID) *URLBuilder { ub.base.AddPath(string(zid)) return ub } // AppendPath adds a new path element func (ub *URLBuilder) AppendPath(p string) *URLBuilder { ub.base.AddPath(p) return ub } // AppendKVQuery adds a new key/value query parameter func (ub *URLBuilder) AppendKVQuery(key, value string) *URLBuilder { ub.base.AddQuery(key, value) return ub } // AppendQuery adds a new query func (ub *URLBuilder) AppendQuery(value string) *URLBuilder { if value != "" { ub.base.AddQuery(QueryKeyQuery, value) } return ub } // ClearQuery removes all query parameters. func (ub *URLBuilder) ClearQuery() *URLBuilder { ub.base.RemoveQueries() return ub } // SetFragment stores the fragment func (ub *URLBuilder) SetFragment(s string) *URLBuilder { ub.base.SetFragment(s) return ub } // String produces a string value. func (ub *URLBuilder) String() string { return ub.prefix + ub.base.String() } |
Changes to client/client.go.
︙ | ︙ | |||
53 54 55 56 57 58 59 | myURL := *u myURL.User = nil myURL.ForceQuery = false myURL.RawQuery = "" myURL.Fragment = "" myURL.RawFragment = "" base := myURL.String() | < < < | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | myURL := *u myURL.User = nil myURL.ForceQuery = false myURL.RawQuery = "" myURL.Fragment = "" myURL.RawFragment = "" base := myURL.String() c := Client{ base: base, client: http.Client{ Timeout: 10 * time.Second, Transport: &http.Transport{ DialContext: (&net.Dialer{ Timeout: 5 * time.Second, // TCP connect timeout |
︙ | ︙ |
Changes to go.mod.
1 2 3 4 | module t73f.de/r/zsc go 1.22 | > | > > > | 1 2 3 4 5 6 7 8 9 | module t73f.de/r/zsc go 1.22 require ( t73f.de/r/sx v0.0.0-20240418072254-b6eff7d787f9 t73f.de/r/sxwebs v0.0.0-20240422143910-320427142398 t73f.de/r/webs v0.0.0-20240422103534-8f5067bc11bc ) |
Changes to go.sum.
|
| | | > > > > | 1 2 3 4 5 6 | t73f.de/r/sx v0.0.0-20240418072254-b6eff7d787f9 h1:lVPkYN8+J9f6JA9SmoF6icvpLxz4u3h1MCTuDYJYwdU= t73f.de/r/sx v0.0.0-20240418072254-b6eff7d787f9/go.mod h1:G9pD1j2R6y9ZkPBb81mSnmwaAvTOg7r6jKp/OF7WeFA= t73f.de/r/sxwebs v0.0.0-20240422143910-320427142398 h1:/G054FNxS8zEYbdhOTNk+GhdhjWBVt398FTm1Ud4A4o= t73f.de/r/sxwebs v0.0.0-20240422143910-320427142398/go.mod h1:PtIkpRfTTiQITciKaWcTiAwy9FJ63WSQKciTp/dJbOA= t73f.de/r/webs v0.0.0-20240422103534-8f5067bc11bc h1:i6tm/AEJUs8J8m7iDP8bTZgM0wYERh97RR47soJglxs= t73f.de/r/webs v0.0.0-20240422103534-8f5067bc11bc/go.mod h1:UGAAtul0TK5ACeZ6zTS3SX6GqwMFXxlUpHiV8oqNq5w= |
Changes to shtml/shtml.go.
︙ | ︙ | |||
17 18 19 20 21 22 23 | import ( "fmt" "net/url" "strconv" "strings" "t73f.de/r/sx" | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import ( "fmt" "net/url" "strconv" "strings" "t73f.de/r/sx" "t73f.de/r/sxwebs/sxhtml" "t73f.de/r/zsc/api" "t73f.de/r/zsc/attrs" "t73f.de/r/zsc/sz" "t73f.de/r/zsc/text" ) // Evaluator will transform a s-expression that encodes the zettel AST into an s-expression |
︙ | ︙ |
Changes to sz/zmk/post-processor.go.
︙ | ︙ | |||
132 133 134 135 136 137 138 | return text.Cons(blocks).Cons(attrs).Cons(sym) } func postProcessRegionVerse(pp *postProcessor, rn *sx.Pair, env *sx.Pair) *sx.Pair { return postProcessRegion(pp, rn, env.Cons(sx.Cons(symInVerse, nil))) } | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | return text.Cons(blocks).Cons(attrs).Cons(sym) } func postProcessRegionVerse(pp *postProcessor, rn *sx.Pair, env *sx.Pair) *sx.Pair { return postProcessRegion(pp, rn, env.Cons(sx.Cons(symInVerse, nil))) } func postProcessVerbatim(_ *postProcessor, verb *sx.Pair, _ *sx.Pair) *sx.Pair { if content, isString := sx.GetString(verb.Tail().Tail().Car()); isString && content.GetValue() != "" { return verb } return nil } func postProcessHeading(pp *postProcessor, hn *sx.Pair, env *sx.Pair) *sx.Pair { |
︙ | ︙ |