profile
viewpoint
Mattt mattt @Flight-School Portland, OR https://flight.school Founder of @Flight-School and @NSHipster. Writer and developer living in Portland, Oregon.

apple/swift 50660

The Swift Programming Language

apple/swift-evolution 10805

This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.

apple/swift-package-manager 7539

The Package Manager for the Swift Programming Language

Jounce/Surge 4663

A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation.

FormatterKit/FormatterKit 4222

`stringWithFormat:` for the sophisticated hacker set

apple/swift-corelibs-foundation 3763

The Foundation Project, providing core utilities, internationalization, and OS independence

mattt/CargoBay 1791

The Essential StoreKit Companion

apple/swift-corelibs-libdispatch 1733

The libdispatch Project, (a.k.a. Grand Central Dispatch), for concurrency on multicore hardware

mattt/AnimatedGIFImageSerialization 1085

Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling

startedpointfreeco/swift-html

started time in 42 minutes

push eventNSHipster/HypertextLiteral

Mattt

commit sha fb652ee3559f4b5ccc9a1f8b6b8b88473bac901a

Replace raw strings with conventional literals in README (Regular strings are less intimidating!)

view details

push time in 43 minutes

issue commentSwiftDocOrg/github-wiki-publish-action

Multiple inputs

@fortmarek Sorry, but I'm still not 100% clear about what problem you're facing. Would you mind taking a step back to explain what you're trying to accomplish?

fortmarek

comment created time in 6 hours

issue commentSwiftDocOrg/swift-doc

html support

@thecb4 Thanks again for sharing your feedback. A few more responses inline below:

I struggle more with CSS than anything else, but I do run into issues with ill-formatted HTML (often the closing element)

That's surprising to me, given how lenient HTML is with closing tag omission. Can you think of any specific examples where this happened to you recently?

Once I got several cups of coffee I dug into learning SwiftDoc and SwiftMarkup, making HTMLKit work in a similar fashion was just a few hours.

Let me say again that I really appreciate you taking the time to hack on this. I genuinely don't want this to feel like wasted effort on your part, and hope that you got something out of the experience of building this.

I will say that this issue got me to thinking more critically about what I actually wanted to do with HTML. It forced me to get serious about an idea I'd been playing around with. So at the very least, thanks for giving me the push I needed.

Whenever you have a chance, I'd be very interested to get your feedback about this new library, HypertextLiteral and how it compares to HTMLKit. My hope is that you'll be able to get up to speed in minutes, not hours, and not be worse off for lack of functionality.

thecb4

comment created time in 6 hours

GollumEvent
GollumEvent

created tagNSHipster/HypertextLiteral

tag0.0.1

Generate HTML, XML, and other web content using Swift string literal interpolation

created time in 6 hours

push eventNSHipster/HypertextLiteral

Mattt

commit sha e817907283384f9419afa1b3221465896a3e9329

Fix typo in example code

view details

push time in 6 hours

GollumEvent

push eventNSHipster/HypertextLiteral

Mattt

commit sha b181534f957de8d8f12537e7a9c14ca44afef56a

Add initial header documentation

view details

push time in 7 hours

push eventNSHipster/HypertextLiteral

Mattt

commit sha e602fa5845f9a47ba3b59198a0d42ac3f01aa08b

Remove SVG figure from README

view details

push time in 8 hours

startedNSHipster/HypertextLiteral

started time in 8 hours

create barnchNSHipster/HypertextLiteral

branch : master

created branch time in 8 hours

GollumEvent

created repositoryNSHipster/HypertextLiteral

Generate HTML, XML, and other web content using Swift string literal interpolation

created time in 8 hours

startedapple/swift-standard-library-preview

started time in 8 hours

issue commentSwiftDocOrg/github-wiki-publish-action

Multiple inputs

@fortmarek To clarify, this GitHub action only uploads contents to a project's GitHub wiki repository. Although swift-doc is the motivating use case, it can be used for any content.

fortmarek

comment created time in a day

issue commentSwiftDocOrg/github-wiki-publish-action

Multiple inputs

Wouldn't you have the same problem if it were possible to specify multiple inputs, though?

fortmarek

comment created time in a day

issue commentSwiftDocOrg/github-wiki-publish-action

Multiple inputs

Hi @fortmarek. Could you achieve the same effect by running the action twice with two different inputs? As far as I can tell, the work done here should keep intact existing files that aren't overwritten: https://github.com/SwiftDocOrg/github-wiki-publish-action/blob/master/entrypoint.sh#L53-L57

fortmarek

comment created time in 2 days

issue commentSwiftDocOrg/swift-doc

html support

I guess I like HTMLKit because it gives me type safety for HTML which can be a pain to debug

This is something I hear often for these kinds of libraries, so I'd be interested to hear your responses to these questions:

How often do you find yourself dealing with invalid HTML? How does that compare to the amount of time you spend fighting Xcode to get builder syntax to work?

For something like XML or XHTML, where generated content must be 100% valid in order to work, I can absolutely see the benefit of a DSL / generator. But for HTML, I don't think it's as necessary.

My first exposure to higher-ordered abstractions for HTML goes back to Haml in Ruby (and Markaby before that). For a while, I chose HAML over ERB, but over time, I found the friction of using HAML to greatly outweigh any real benefits. (The same thing happened for Sass over SCSS syntax; it's really nice to be able to copy-paste existing markup without converting to a new syntax).

thecb4

comment created time in 2 days

startedobservablehq/htl

started time in 2 days

issue commentSwiftDocOrg/swift-doc

html support

Hi @thecb4. Thanks so much for taking the time to take a stab at implementing HTML support.

I've been evaluating all of the available options for HTML templating in Swift, but haven't yet found any that I think are suitable. I'm working on a workable solution, and hope to have something to share this week.

In the case of HTMLKit, the deal-breaker for me is how it introduces its own API concepts alongside known HTML primitives. I understand that this is an attempt to simplify common patterns, but I'd much rather that they be introduced in a separate layer, on an opt-in basis (I already know HTML; I don't want to go through another abstraction to get there):

https://github.com/thecb4/swift-doc/blob/master/Sources/swift-doc/Supporting%20Types/HTMLPage.swift#L24-L28

(And this is more of a personal preference, but I'm not a fan of Bootstrap and other frameworks that use classes to style components.)

Thanks again for looking into this @thecb4. I apologize for not communicating more about that process, and not having a better story for contributing to the project right now.

thecb4

comment created time in 2 days

issue closedNSHipster/articles

Testing Swift API Availability

I came across the awesome article on Swift API availability whilst looking at how I could potentially test some logic when using if #available(iOS 13, *) in a view model.

I can't seem to figure out a way to easily test this. I am looking to somehow inject it into my viewModel whilst passing in the default value of the UIDevice.current.systemVersion.

Was wandering if you have any idea's on this? Keep up the great articles!

closed time in 2 days

piers12

issue commentNSHipster/articles

Testing Swift API Availability

Thanks for the kind words, @piers12!

#available is a compile-time determination, whereas UIDevice.systemVersion is a run-time determination; you can't mix the two together. If you want to test logic across different OS versions, the right way to do that would be to run the test target on those different OS versions.

piers12

comment created time in 2 days

fork mattt/tree-sitter-swift

Swift grammar for tree-sitter

fork in 4 days

startedtree-sitter/tree-sitter-swift

started time in 4 days

GollumEvent

push eventSwiftDocOrg/swift-doc

Mattt

commit sha 97b2347aa891a42eb5f47e19bc47f11bb62d3b52

Consistently return symbols in sorted order

view details

push time in 4 days

issue commentSwiftDocOrg/SwiftSemantics

Example doesn't run from Xcode

@chriseidhof I'm happy to report that this is fixed in the latest Swift 5.2 development builds. I'll wait to close this until the most recent Xcode GM can build and run tests on SwiftSemantics master without a problem.

chriseidhof

comment created time in 5 days

PR opened SwiftDocOrg/swift-doc

Update for Swift 5.2

Related to https://github.com/SwiftDocOrg/SwiftSemantics/pull/3

This update also fixes a race condition / heap corruption issue in the SwiftSyntax 0.501000.0 release. With that fixed, we can now safely parallelize the process of parsing source files. Testing locally on our fork of Alamofire, the Swift 5.2 branch is 2.3x faster than the current master.

$ git co master
$ swift build
$ time swift run swift-doc ../Alamofire/Source/
        3.21 real         2.50 user         0.21 sys

$ git co swift-5.2
$ swift build
$ time swift run swift-doc ../Alamofire/Source/
        1.36 real         3.44 user         0.20 sys
+123 -120

0 comment

11 changed files

pr created time in 5 days

PR opened SwiftDocOrg/SwiftSemantics

Update for Swift 5.2

This PR updates SwiftSyntax to a more recent version that targets the latest Swift 5.2 development release. To be merged once that becomes generally available.

+74 -92

0 comment

26 changed files

pr created time in 5 days

create barnchSwiftDocOrg/swift-doc

branch : swift-5.2

created branch time in 5 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha 2c5e1864c4134762ffe1ed4eb43f65e96ecb7ac1

Temporarily disable CI for macOS To be reenabled when Swift 5.2 is available

view details

push time in 5 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha dc60cd046ded84759b8e99e9bc46d33b3c4a58a4

Run CI on Swift 5.2 nightly

view details

push time in 5 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha 5743a81f05c2a05790b30cbd273e73b6cecf4ae9

Run CI on Swift 5.2 nightly

view details

push time in 5 days

create barnchSwiftDocOrg/SwiftSemantics

branch : swift-5.2

created branch time in 5 days

GollumEvent

push eventSwiftDocOrg/swift-doc

Mattt

commit sha 9554127e1efdbc6e6c158f5f50db5064206f8985

Update dependencies

view details

push time in 5 days

push eventSwiftDocOrg/swift-doc

Mattt

commit sha baaa3bc40ffdbf7ccd907f3b675f150a4e9eb99d

Update dependencies

view details

push time in 5 days

push eventSwiftDocOrg/swift-doc

Mattt

commit sha 708b04f79b674fb8875818767dbdcb718be047cd

Update dependencies

view details

Mattt

commit sha 774faf6f1c33777a4fe093e27a56462550106fff

Fix isPublic determination for enumeration cases

view details

push time in 5 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha f0f84abe6d4967c1f0ddbf40a5cdcf9abfb0ed4a

Change ExpressibleBySyntax requirement to be optional initializer

view details

push time in 5 days

issue commentNSHipster/articles

RawRepresentable

Thanks for your feedback, @alexbbrown.

My intention with the CommonMark node example was to demonstrate that pretty much anything can be a raw value type. The semantics of RawRepresentable are often appropriate for modeling Swift types that initialize from an underlying value, and they inform the correct pattern for bridging values between Swift and other systems (including C libraries).

So, for example:

 import cmark

// C to Swift
let type = NodeType(rawValue: CMARK_NODE_BLOCK_QUOTE)

// Swift to C
cmark_function_that_takes_node_type_argument(NodeType.blockQuote.rawValue)
alexbbrown

comment created time in 5 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha e25e0f5b02774bd55561b649a6458e09f217a7ab

Remove use of withoutTrivia()

view details

Mattt

commit sha f5217e3a8e2c91bde0b8cb2746399303a4fb7aed

Change ExpressibleBySyntax requirement to be optional initializer

view details

push time in 5 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha 09e9f5ddb45a9e8be6ed97f4cc2cf99a713dba4c

Remove context property from declarations

view details

push time in 5 days

push eventNSHipster/articles

Mattt

commit sha 5e33aa77143cc262bbfab33e7e4bc76c98a1df51

Code voice -> dfn

view details

Mattt

commit sha 1e613b8833b90a3492072615a55d321e4f46e2ef

Copy editing

view details

push time in 6 days

push eventNSHipster/DBSCAN

Mattt

commit sha 703e1c5fef55b45e17095da27c300b96e4855e46

Update README.md

view details

push time in 6 days

issue openedSwiftDocOrg/swift-doc

SourceFile Symbol Producing Incorrect Name on Linux

When running the swift-doc GitHub action on Sources/SwiftDoc, the resulting documentation for SourceFile has the name "Contextual.Symbol.Extension.CompilationCondition.SourceFile".

Contextual.Symbol.Extension.CompilationCondition.SourceFile

Running this locally on macOS, I'm unable to reproduce this behavior.

This long name is a consequence of the SourceFile declaration following declarations relating to the Contextual protocol.

https://github.com/SwiftDocOrg/swift-doc/blob/da04436e742e09e01cdf90035421a5debb6ad590/Sources/SwiftDoc/SourceFile.swift#L7-L14

This should be handled by visitPost, which pops the stack of contexts after visiting a contextual node:

https://github.com/SwiftDocOrg/swift-doc/blob/da04436e742e09e01cdf90035421a5debb6ad590/Sources/SwiftDoc/SourceFile.swift#L188-L190

However, these delegate methods don't appear to be called on Linux for some reason.

created time in 6 days

issue commentSwiftDocOrg/swift-doc

Private in documentation

Awesome. So glad to hear it, @fortmarek! Thanks again for reporting this.

fortmarek

comment created time in 6 days

GollumEvent

push eventSwiftDocOrg/swift-doc

Mattt

commit sha da04436e742e09e01cdf90035421a5debb6ad590

Generate documentation for SwiftDoc module only

view details

push time in 6 days

GollumEvent

push eventSwiftDocOrg/swift-doc

Mattt

commit sha 1dc676f0472691026a5f75d71ba2297e59e299db

Add workflow filename as comment in README

view details

push time in 6 days

issue commentSwiftDocOrg/swift-doc

Private in documentation

Alright, I was able to reproduce this behavior without a problem. The fix appears to be straightforward, too (3af57a62787e4c928a0c35564caf2a3f29f2013c). This should be resolved in the 0.0.3 release.

When you have a chance, please re-run your workflow and confirm that everything is working as expected.

fortmarek

comment created time in 6 days

created tagSwiftDocOrg/swift-doc

tag0.0.3

Generates documentation for Swift projects

created time in 6 days

push eventSwiftDocOrg/swift-doc

Mattt

commit sha 3af57a62787e4c928a0c35564caf2a3f29f2013c

Filter non-public symbols Fixes #15

view details

push time in 6 days

issue closedSwiftDocOrg/swift-doc

Private in documentation

Hi! first off, thanks for this tool, it's really awesome so far! I have just come across one issue - I am not sure if it is a bug or a known limitation - but if I generate the documentation, it also creates a documentation for private methods (if they appear in public class). When I looked through the source code, it really does seem that there is filter for types, but not their properties themselves.

For example: This function is private but it appears in the generated documentation

closed time in 6 days

fortmarek

issue commentSwiftDocOrg/swift-doc

Private in documentation

Thanks for reaching out, @fortmarek. I recently merged a refactoring of how symbol relationships are encoded, which may caused a few regressions. (Fortunately, now that I have a sense of what the behavior should be, I can finally start writing tests to help catch these kinds of problems).

Taking a look at this now.

fortmarek

comment created time in 6 days

pull request commentNSHipster/articles

Fix a Small Typo - does → dose

Hey, thanks for this @hisaac. Much obliged!

hisaac

comment created time in 7 days

push eventNSHipster/articles

Isaac Halvorson

commit sha a16bc0e5b687037a669e4784aad80327863e1e77

Fix a Small Typo - does → dose Just fixes a small typo, changing the word does to dose.

view details

push time in 7 days

PR merged NSHipster/articles

Fix a Small Typo - does → dose

Just fixes a small typo, changing the word does to dose.

+1 -1

0 comment

1 changed file

hisaac

pr closed time in 7 days

push eventNSHipster/nshipster.com

Mattt

commit sha e54f809f3d8d8aef0bb51489c3f2b011c12fbff5

Update rouge dependency

view details

push time in 7 days

push eventNSHipster/rouge

Mattt

commit sha 1eaae9778df4c92378f58e61d9976b0ed325ba64

Add incomplete COBOL lexer

view details

push time in 7 days

push eventNSHipster/rouge

julp

commit sha 8abe647df7dae5e667bbb78b2f3e98fd2a24fb34

add a Varnish (VCL) lexer (#365)

view details

Fuji Goro

commit sha e6dd5b5d35480799277b32ff8de61b1c26a12194

fix rubocop Lint/AmbiguousRegexpLiteral warmnings

view details

Nicolas Bouilleaud

commit sha 9a0f7355ed77fbdb00d73b9542e06f958f50b425

Add @autoreleasepool keyword to Objective-C lexer (#1424) This commit adds the `@autoreleasepool` keyword to the list recognised by the Objective-C lexer.

view details

Michael Camilleri

commit sha 53d1dcd87aa4c4a0414fc63de43e2fede4b74e78

Fix array access priority in PowerShell lexer (#1429) The PowerShell lexer expects the text `.identifier` to be followed by parameters. This is not always true, as in the where the text is `.identifier['key']`. This commit adds a new rule for handling this situation.

view details

Michael Camilleri

commit sha 03d8a43562340ad3aa8895a494edbd2d49a82c24

Clean up Varnish lexer (#1433) The Varnish lexer was written in a style inconsistent with that used in the current version Rouge. This commit makes the style consistent with other Rouge lexers.

view details

Michael Camilleri

commit sha 55a502b140d919b72fc54d18b678c290ebfe2105

Update GitHub Issues settings (#1436) This commit updates two settings relating to Rouge's Issues section: 1. it prevents issues marked with the lexer-request tag from being marked as stale; 2. suggests a user filing a lexer bug include a link to the code sample on rouge.jneen.net.

view details

Michael Camilleri

commit sha 20da6514cbeab9fd2a10c3ea6ee47f4686a934af

Release v3.16.0 (#1437)

view details

Mattt

commit sha a4788507dfe52168e822cdd327c70bbdeed64fa2

Add placeholder rule

view details

push time in 7 days

push eventNSHipster/rouge

julp

commit sha 8abe647df7dae5e667bbb78b2f3e98fd2a24fb34

add a Varnish (VCL) lexer (#365)

view details

Fuji Goro

commit sha e6dd5b5d35480799277b32ff8de61b1c26a12194

fix rubocop Lint/AmbiguousRegexpLiteral warmnings

view details

Nicolas Bouilleaud

commit sha 9a0f7355ed77fbdb00d73b9542e06f958f50b425

Add @autoreleasepool keyword to Objective-C lexer (#1424) This commit adds the `@autoreleasepool` keyword to the list recognised by the Objective-C lexer.

view details

Michael Camilleri

commit sha 53d1dcd87aa4c4a0414fc63de43e2fede4b74e78

Fix array access priority in PowerShell lexer (#1429) The PowerShell lexer expects the text `.identifier` to be followed by parameters. This is not always true, as in the where the text is `.identifier['key']`. This commit adds a new rule for handling this situation.

view details

Michael Camilleri

commit sha 03d8a43562340ad3aa8895a494edbd2d49a82c24

Clean up Varnish lexer (#1433) The Varnish lexer was written in a style inconsistent with that used in the current version Rouge. This commit makes the style consistent with other Rouge lexers.

view details

Michael Camilleri

commit sha 55a502b140d919b72fc54d18b678c290ebfe2105

Update GitHub Issues settings (#1436) This commit updates two settings relating to Rouge's Issues section: 1. it prevents issues marked with the lexer-request tag from being marked as stale; 2. suggests a user filing a lexer bug include a link to the code sample on rouge.jneen.net.

view details

Michael Camilleri

commit sha 20da6514cbeab9fd2a10c3ea6ee47f4686a934af

Release v3.16.0 (#1437)

view details

Mattt

commit sha f701e84e69915fc049ba72a694b2ea1eaf862e6a

Merge branch 'master' into swift-with-placeholder-token

view details

push time in 7 days

push eventNSHipster/articles

Mattt

commit sha 568f726ffa6c5051d2978a2fd3d771063952781c

Add Callable article

view details

push time in 7 days

push eventNSHipster/nshipster.com

Mattt

commit sha 34cd22ccf027d2de3434892a164715cb0da91caf

Add support for Lisp, FORTRAN, and COBOL

view details

Mattt

commit sha f11a5c1d8948aceb5a581b4e5b0f1c6e60a4ebc6

Don't italicize emoji

view details

Mattt

commit sha 37b623be557443c5d65cf18923d85dc9ceb260a8

Add assets for Callable article

view details

Mattt

commit sha b11e1f758ad95782feef87482b7552f165cfff04

Update dependencies

view details

push time in 7 days

push eventNSHipster/rouge

Mattt

commit sha bbb0ca1261085bddd73f9f34d45cf9a57c0f232b

Add incomplete COBOL lexer

view details

push time in 7 days

startedzevv/lsofgraph

started time in 8 days

issue commentFlight-School/AnyCodable

null being mapped to "\"null\"

Thanks for the update, @jwboardman. Glad to hear you found a resolution.

jwboardman

comment created time in 8 days

PR opened apple/swift

Fix spelling of '@available' in error message "'@availability' attribute cannot be applied to this declaration"

In Xcode, if you apply the @available attribute to an unsupported declaration (such as an associated type), the compiler generates the following error:

'@availability' attribute cannot be applied to this declaration

https://github.com/apple/swift/blob/d246512b03f3716fe5277f2b3a68b1b4b170a098/test/Parse/invalid.swift#L145-L147

At some point (I think in Swift 3; I had tracing back through commit history), the @availability attribute keyword was changed to @available, but the attribute name stayed the same. This results in a mismatch in the diagnostic message, because invalid_decl_attribute uses the result of DeclAttribute::getAttrName().

This PR updates the return value of DeclAttribute::getAttrName() for DAK_Available to return the new spelling ("available"), as well as the affected parse tests.

+4 -4

0 comment

3 changed files

pr created time in 8 days

pull request commentNSHipster/articles-es

Translate numericCast

Awesome! Thanks for your great work on this @leopic. And thank you @jfsagasti for taking the time to review everything.

I'll let @jfsagasti do the honors of merging this in and kickstarting auto-publication.

leopic

comment created time in 8 days

create barnchmattt/swift

branch : mattt/fix-available-spelling

created branch time in 8 days

fork mattt/swift

The Swift Programming Language

https://swift.org

fork in 8 days

issue commentNSHipster/articles

Account for region format in MetricKit parsing

Thanks for the heads-up about this, @noahsmartin. I've been working on a more complete solution to self-hosted metrics, which accounts for these formatting differences. I'll have more to share in the coming weeks.

noahsmartin

comment created time in 8 days

push eventmattt/WebPImageSerialization

Mattt

commit sha 4625325c110870eefefb09acc52a917c3254779d

Add missing scheme for example

view details

Mattt

commit sha 671e46fb6595e383a274c836d23344cda2a43cd3

Add .gitattributes Ignore vendored framework in repository language determination

view details

push time in 9 days

push eventmattt/WebPImageSerialization

Mattt

commit sha 2e8656c292a27a154471b3351c4aace5be0ebfb4

Add missing scheme for example

view details

Mattt

commit sha 111b4076646626cfa2b8634e0a6163538a314a36

Add .gitattributes Ignore vendored framework in repository language determination

view details

push time in 9 days

pull request commentmattt/WebPImageSerialization

Update WebP.framework to 1.0.3

Update: This is now live in WebPImageSerialization 0.2.0. Thanks agin, @TimOliver!

TimOliver

comment created time in 9 days

created tagmattt/WebPImageSerialization

tag0.2.0

Complete WebP Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling

created time in 9 days

push eventmattt/WebPImageSerialization

Mattt

commit sha bf50dff2c720daef4b3e56a35b49078a601dcbba

Add Release workflow

view details

Mattt

commit sha 71d894658e94b43a8572e05885e79208c0c965a1

Bump version to 0.2.0

view details

push time in 9 days

delete tag mattt/WebPImageSerialization

delete tag : 0.2.0

delete time in 9 days

created tagmattt/WebPImageSerialization

tag0.2.0

Complete WebP Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling

created time in 9 days

push eventmattt/WebPImageSerialization

Mattt

commit sha c7300953ea520b786b75efe8131bc24b77d4e87d

Bump version to 0.2.0

view details

push time in 9 days

push eventmattt/WebPImageSerialization

Mattt

commit sha c311b1e517a3dfe5581757643f765e8c683e7709

Add Release workflow

view details

push time in 9 days

push eventmattt/WebPImageSerialization

Tim Oliver

commit sha c1b433e3e11c66fcc900945bc651cd12eabd8f76

Exposed implementations for aspect ratio sizing images

view details

push time in 9 days

PR merged mattt/WebPImageSerialization

Reviewers
Added option to scale images during decoding

Hi @mattt! One last one from me for now. :)

My app has a use case where I need to generate a small thumbnail copy of the image before I actually need to decode the full size one into memory. Since the WebP framework offers the ability to decode to smaller scales on the fly, I've extended the functions here slightly to expose a fittingSize property that will aspect fit the image to the CGSize value specified.

Let me know what you think. Thanks!

-Tim

+37 -1

0 comment

2 changed files

TimOliver

pr closed time in 9 days

push eventmattt/WebPImageSerialization

Tim Oliver

commit sha 894e4fc62bcfa3ca97decf959bc0d47c094ae975

Add .gitignore to repo

view details

Tim Oliver

commit sha f596aa20f3c87034000167b58a8f19566938296e

Added .DS_Store to gitignore

view details

Tim Oliver

commit sha d7f2f9e1a8c9cb276a372ac39dadd5b6e204a8e5

Removed un-used tests project

view details

Tim Oliver

commit sha 8b2bdc6a65f69da4cbb0847a520c83106242d32a

Removed redundant copy of WebP.framework

view details

Tim Oliver

commit sha 916c61aa813ce03e202f1b6a9a4161c3186657e3

Added top level WebP.framework to example project

view details

Tim Oliver

commit sha 250f2f81b87e6c48359bb2dd85c34f782c3facea

Added Launch Screen storyboard

view details

Tim Oliver

commit sha 02bb780e31d08261621332d0825c59c3884651c6

Refined image view logic for various screen sizes

view details

Tim Oliver

commit sha eea64d25ef62e42eff52f22d55d3b73e6e6ea5d5

Update Info.plist to include iOS 13 theme handling

view details

Tim Oliver

commit sha 031411f3321c126829a0b2193e5873da6b05c652

Updated copyright headers for 2020

view details

push time in 9 days

PR merged mattt/WebPImageSerialization

Reviewers
Updated Xcode Project for 2020

Hey @mattt! While I was in there, I noticed the example Xcode project needed a bit of updating in order to work on Xcode 11 a little better.

I made a few quality of life adjustments:

  • Added a LaunchScreen storyboard so the app runs full-screen.
  • Changed the sample imageView logic so it centers on iPad screens, and doesn't overflow on iPhone.
  • Removed the second copy of WebP.framework and adjusted the sample project to work with the one in the top level.
  • Added an Objective-C .gitignore to the repo.
  • Updated Info.plist so it forces Light mode on iOS 13.
  • Removed the non-existent test project references.
  • Updated all of the headers for 2020.

I hope that helps! :)

+178 -1088

0 comment

14 changed files

TimOliver

pr closed time in 9 days

push eventmattt/WebPImageSerialization

Tim Oliver

commit sha aad6097a936b77cd0b574d380ce2a4b674e32f37

Update WebP.framework to 1.0.3

view details

push time in 9 days

PR merged mattt/WebPImageSerialization

Reviewers
Update WebP.framework to 1.0.3

Hi @mattt!

Thanks so much for this library. I found it incredibly useful for adding WebP support to one of my apps.

The version of WebP.framework this library integrates seems to be extremely old. I updated it with the latest version of the framework from Google's website, and there were no incompatibility changes. I've made a PR to update this library to that version as well.

Thanks so much! Keep up the great work!

+235 -164

1 comment

4 changed files

TimOliver

pr closed time in 9 days

pull request commentmattt/WebPImageSerialization

Update WebP.framework to 1.0.3

Hey @TimOliver! Thank you for taking the time give this project some much-needed TLC. I really wanted to have more to say than LGTM, but your PRs are so thorough and correct as to make that impossible. I give up! These are great, Tim. I'm going to give these one final look-over and start to merge them in. Thanks again for your excellent work.

If you don't mind waiting for a new release to be cut, I planning to take a few minutes to get GitHub CI set up to automate that process. Should have that going within the hour.

TimOliver

comment created time in 9 days

startedshellspec/shellspec

started time in 9 days

push eventSwiftDocOrg/SwiftMarkup

Mattt

commit sha df27d69dc603c3078253f873ff1712bb7dfc7d2b

Fix badge URLs in README

view details

push time in 12 days

push eventSwiftDocOrg/SwiftSemantics

Mattt

commit sha 680155ebf6b0d7fa9f6611ab85b1ef71b9c19b99

Add documentation badge to README

view details

push time in 12 days

GollumEvent

push eventSwiftDocOrg/SwiftMarkup

Mattt

commit sha cb551bf06f0dc03a97c17f467873336ff82cfd41

Add documentation badge to README

view details

push time in 12 days

push eventSwiftDocOrg/CommonMark

Mattt

commit sha 00d3a8ce879b6578979a3470430867f85af26b92

Add documentation badge to README

view details

push time in 12 days

push eventSwiftDocOrg/CommonMark

Mattt

commit sha 2239c9c1080db6243179963f8b64ba7f488746b7

Update swift-cmark dependency

view details

push time in 12 days

created tagSwiftDocOrg/swift-cmark

tag0.28.3+20200207.1168665

CommonMark parsing and rendering library and program in C

created time in 12 days

push eventSwiftDocOrg/swift-cmark

Saleem Abdulrasool

commit sha 9d3898848eab2e33487de2f12b08a5fc8b3bd62e

fix -Wconst-qual warning The string literal being assigned is const, but the assignment looses the constness of this string. This enables building with `/Zc:strictString` with MSVC as well.

view details

John MacFarlane

commit sha 00557b43e2c64a194e08c3d6b03dc225bea7b123

Include string.h in cmark-fuzz.c. Recommended by build log at https://oss-fuzz-build-logs.storage.googleapis.com/log-6a7500a1-8617-42c6-b8e4-78cab009b5b5.txt

view details

John MacFarlane

commit sha cfdca3ec23b192c4526752194198291e08f9da80

commonmark.c - use size_t instead of int.

view details

John MacFarlane

commit sha 845bce401846732431f984907a0472e3f0fd8766

Move C_VISIBILITY_PRESET back to src/CMakeLists.txt. This reverts a change by @compnerd in commit b6ffaca93e2b539ec407aeb4fd588c7f9441e7a9. We don't want this for api_tests, as it triggers this warning: ``` CMake Warning (dev) at api_test/CMakeLists.txt:1 (add_executable): Policy CMP0063 is not set: Honor visibility properties for all target types. Run "cmake --help-policy CMP0063" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Target "api_test" of type "EXECUTABLE" has the following visibility properties set for C: C_VISIBILITY_PRESET For compatibility CMake is not honoring them for this target. This warning is for project developers. Use -Wno-dev to suppress it. ```

view details

John MacFarlane

commit sha 2da6c9b98e1c5ab0c307a47f63c78e6d6c85543e

Add options field to cmark_renderer. This is an internal change, as this isn't part of the public API.

view details

John MacFarlane

commit sha f68678bf9ea6c5a5d9232c4b0f4a6bcc4d87b6df

commonmark renderer: better escaping in smart mode. When CMARK_OPT_SMART is enabled, we escape literal `-`, `.`, and quote characters when needed to avoid their being "smartified." See e.g. jgm/pandoc#6041 for an application.

view details

Nick Wellnhofer

commit sha 6b999d990504d02206b20befbc5fbaea9b8e2306

Fix CMake generator expression checking for MSVC

view details

Nick Wellnhofer

commit sha 990aabe29415cdbc0d7fd22aa82c5e6bf31b4675

Reintroduce version check for MSVC /TP flag The flag is only required for old MSVC versions.

view details

Nick Wellnhofer

commit sha 572557dd3ca0cedecba3833111bb04bb5668db43

Remove unused variable

view details

Nick Wellnhofer

commit sha 6b64a95713fc8a045f8e40949cec0765e0acb9b8

Remove useless __name__ check in test scripts These checks don't seem to be required and broke pathological_tests.py on Windows where multiprocessing sets __name__ to "__mp_main__".

view details

Nick Wellnhofer

commit sha 4ac601f05db29b6135a784228098e004ca198499

Fix pathological_tests.py on Windows When using multiprocessing on Windows, the main program must be guarded with a __name__ check.

view details

Nick Wellnhofer

commit sha df7ef9ed7b5f418897df557c9de88eaba2174703

Helper function to set C strings in nodes

view details

Nick Wellnhofer

commit sha 3acbdf0965859c55fa36c65a4c0e17e92012687c

Use C string instead of chunk for code info and literal Use zero-terminated C strings instead of cmark_chunks without storing the length. The length of code literals will be readded in a later commit. strlen overhead for code info should be negligible. Reduces size of struct cmark_node by 8 bytes.

view details

Nick Wellnhofer

commit sha b237924585e61532ada774bf9e70eadff00666dc

Use C string instead of chunk for link URL and title Use zero-terminated C strings instead of cmark_chunks without storing the length. This introduces a few additional strlen computations, but overhead should be low. Allows to reduce size of struct cmark_node later.

view details

Nick Wellnhofer

commit sha 75b48c5938f5984dbcf79a579d15c9cbd6447d12

Use C string instead of chunk for custom block contents Reduces size of struct cmark_node by 8 bytes.

view details

Nick Wellnhofer

commit sha b0a4cfa36e99c27dd2b20be8f8888fa7721bad58

Use C string instead of chunk for literal text Use zero-terminated C strings and a separate length field instead of cmark_chunks. Literal inline text will now be copied from the parent block's content buffer, slowing the benchmark down by 10-15%. The node struct never references memory of other nodes now, fixing #309. Node accessors don't have to check for delayed creation of C strings, so parsing and iterating all literals using the public API should actually be faster than before.

view details

Nick Wellnhofer

commit sha 68a3f24d93ed63fd1545c691442d69630649eadb

Use C string instead of chunk in renderer Fix another place where an "allocated" cmark_chunk was used.

view details

Nick Wellnhofer

commit sha 3ef0718f9f4c9dea5014a8a0e9a67e2366b9374f

Improve packing of struct cmark_list Allows to reduce size of struct cmark_node later.

view details

Nick Wellnhofer

commit sha f3f50b29d615d2678d8047dc277b108cc5143167

Rearrange struct cmark_node Introduce multi-purpose data/len members in struct cmark_node. This is mainly used to store literal text for inlines, code and HTML blocks. Move the content strbuf for blocks from cmark_node to cmark_parser. When finalizing nodes that allow inlines (paragraphs and headings), detach the strbuf and store the block content in the node's data/len members. Free the block content after processing inlines. Reduces size of struct cmark_node by 8 bytes.

view details

Saleem Abdulrasool

commit sha 14622a194c2f640fb6b6e8edbfe9ec5bf9aecfd1

build: use absolute path for cmarkTargets.cmake Adjust the include of the CMake file to use a cmarkConfig.cmake relative location which enables use without considerations for the path.

view details

push time in 12 days

more