-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hand-crafted logo letters #39
Conversation
for the pleasure of the eyes
It's awesome how this works but as been said in #13 "I think it would be unfortunate if we need JavaScript to render a logo for CSS" |
The logo will be entirely static – the JS is only doing the work that is currently done by Figma, which is generating the lines in a reproducible manner. |
parametrise everything
Ah fair point never mind then ;) |
Is there I reason that you changed the size of 1000x1000 to 240x240? And I really think you should try to add the see this example:
|
Co-Authored-By: ROL4ND909 <mail@rolandfranke.nl>
3f9e7b8
to
efc7c30
Compare
I kinda get this change but I also wonder if it will make it harder to approach the logo from a designer perspective. Having Figma as a source of truth is a good thing I think. |
I appreciate all this work but I think it will make it harder to maintain and to make design changes. I agree with @romainmenke here. Also one of the original requests for a new CSS logo was that it is easily reproducible in HTML/CSS only. Modifying the font curves implies we can no longer use an external font, therefore we can only use SVG in the HTML/CSS version. I still think we should have a master |
Absolutely understand if this is not a desirable change. Having felt firsthand as a designer the stronghold of proprietary software being used to generate assets I try to offer alternatives especially if they can be of public benefit. Feel free to close this PR or react with a 👎 if it is not a step in the right direction for the CSS logo. I doubt you'll find a way to consistently create accessible SVG files from Figma, Illustrator or even Inkscape, but I would also love to be proved wrong so if you find an elegant solution to this conenendrum please share it here so I can get notified 🙇 |
Maybe this is something that can be done with post processing with something like |
Figma export was done only once, and further changes can be done in any software supporting SVG. After the changes and exporting the file we can use tools like SVGOMG and then add the missing A11Y data to the XML. I don't think we will need to change it often after we solve the font problems. Also, having a single SVG file as source of truth (and the rest generated from it) it helps with the maintenance. After all your effort, I'd rather wait to see what other contributors think before closing this PR or not Voting the original post can help |
and adjust parameters to be closer to the existing logo
@rol4nd909
I initially thought 240 was a more easily divisible number, but for the sake of consistency I’ve kept it as 1000 × 1000 in
Agreed, added in @itsjavi
Is this assessment based on having tried the interactive version? Would it help if that version had interactive bezier handles to enable manually modifying the control points?
Agreed – this proposal being one approach that leads to solving the font problem, while also addressing some design issues raised in #14.
I’ve enjoyed doing this and do not consider it to be a waste of my time even if it ends up being rejected. |
Lovely thread y'all, so nice to see healthy contributors and community working together towards a healthy repo ❤️ I agree with Javi and Roland here
The SVG file, one that people can read and reason with, while it's not the DRYest solution out there, it does strike the healthy balance if approachability and maintainability. This work @mxdvl is very coo, and I bet (i'd also read and share it) you could write a super fun blog post on what you did and share it for anyone else that wants to learn from it or use the output you create from it. That way the great work can continue to live on. I'm going to close this for now, as the community group discussed this today and decided to continue maintaining the sources as SVG. Thanks again for the kind contributor dialog and sharing this super cool work with us. |
Thank you for the feedback, I’ll definitely write about it, as this is not the first time I’ve proposed hand-crafted logo.
Would this mean that you’d consider a PR that uses the output of this function directly to the SVG files, similar to mxdvl#1? <svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1000" viewBox="0 0 1000 1000" fill="none" role="img" aria-labelledby="css-title css-description">
<title id="css-dark-title">CSS Logo</title>
<desc id="css-dark-description">A purple square with rounded corners and the letters CSS inside in white</desc>
<path d="M0,0H840A 160 160 0 0 1 1000 160V840A 160 160 0 0 1 840 1000H160A 160 160 0 0 1 0 840Z" fill="rebeccapurple"></path>
<g class="CSS" stroke-width="72" stroke="white" transform="translate(820 730)">
<path class="C" transform="translate(-470 0)" d="M 65,-75C 65,-107 54,-155 0,-155C -54,-155 -65,-107 -65,-75L -65,75C -65,107 -54,155 0,155C 54,155 65,107 65,75"></path>
<path class="S" transform="translate(-235 0)" d="M 65,-75C 65,-107 54,-155 0,-155C -54,-155 -65,-107 -65,-75C -65,19 65,-19 65,75C 65,107 54,155 0,155C -54,155 -65,107 -65,75"></path>
<path class="S" transform="translate(-0 0)" d="M 65,-75C 65,-107 54,-155 0,-155C -54,-155 -65,-107 -65,-75C -65,19 65,-19 65,75C 65,107 54,155 0,155C -54,155 -65,107 -65,75"></path>
</g>
</svg> I’m only asking as your comments make no mention of visual fidelity and wanted to make sure that it was understood that I would still consider the SVG as the source of truth :) |
Tbh, I prefer the current one because it uses curves instead of strokes for the text (some tools to create fonts out of SVGs require converting/expanding strokes to curves), and arcs instead of bezier curves (#29) which are more precise. SVG transforms also seem to have partial browser support currently. What I like is that the paths for the text are more compact. Is there a way to do the same with expanded stroke, as only curves? Also, it might be some missing fill and the view box, but this is what I see when opening it on Affinity Designer 2: |
Fair!
This one does too, see the M 0,0
H 840
A 160 160 0 0 1 1000 160
V 840
A 160 160 0 0 1 840 1000
H 160
A 160 160 0 0 1 0 840Z
Not really,
I doubt it, as you’ll need to trace the “inner” and “outer” lines of the SVG, so you’ll end up with something close to the current version even if you nudge the paths ever so slightly. The whole point of this proposal is to use
I’ve updated my post above to include an explicit |
thank you @mxdvl ! I am learning a lot about SVG syntax thanks to you. I wouldn't mind using strokes very much (at the end you can just expand them in vector tools), but the only problem I see is that the design varies from the original font, making it complex for designers to use "the CSS font" for other purposes (e.g. banners, etc). Looks very similar though. Screen.Recording.2024-11-19.at.21.17.19.mov |
Why are we doing this?
By carefully creating the paths for the CSS letters in the logo, we:
This comes at the cost of better understanding of the SVG internals, which is mitigated by:
d
What does this change?
Closes #35
Closes #27
Closes #14
Closes #31