Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 03:58
    calculuschild review_requested #1716
  • 03:57
    Rae2che5 removed as member
  • 03:55
    calculuschild edited #1716
  • 03:42
    calculuschild closed #1848
  • 03:42

    calculuschild on master

    change conditions for google er… Update client/homebrew/pages/ne… Update client/homebrew/pages/ed… and 6 more (compare)

  • 03:42
    calculuschild closed #1849
  • 03:41
    calculuschild synchronize #1849
  • 03:41
    calculuschild synchronize #1849
  • 03:40
    calculuschild synchronize #1849
  • 03:39
    calculuschild synchronize #1849
  • 03:39
    calculuschild synchronize #1849
  • 03:37
    calculuschild synchronize #1849
  • 03:33
    dependabot[bot] edited #1869
  • 03:32
    dependabot[bot] edited #1869
  • 03:32
    dependabot[bot] synchronize #1869
  • 03:32

    dependabot[bot] on npm_and_yarn

    Bump marked from 3.0.8 to 4.0.6… (compare)

  • 03:32
    dependabot[bot] edited #1869
  • 03:32

    calculuschild on master

    Tell CodeMirror to batch custom… Change to callback style lint and 1 more (compare)

  • 03:32
    calculuschild closed #1874
  • 03:32
    dependabot[bot] edited #1869
Trevor Buckner
@calculuschild

@Gazook89 This was probably an oversight when stolksdorf first created the site. I guess we have two possible solutions. Either

  1. We start handling everything as case-insensitive (I'm not sure if there are any conflicts in the current list of users, I could try scanning the database to check) or
  2. We just display the names in mixed-case as you suggest.

If there are no conflicts, I think we should try to make it case-insensitive to prevent future issues. I'm not sure how likely it is but it seems like a potential security issue to allow multiple users to register under myName, mYNAME, MynamE.

Of course if it's already happened we just need to roll with it I guess.

Trevor Buckner
@calculuschild
Looks like there are a total of 3715 usernames that are duplicate by case.
But just skimming over they look pretty unique, and I haven't found any that don't share the same password hash...
Gazook89
@Gazook89
I don't know how feasible it is to make it case-insensitive going forward, and make a whitelist of those duplicate accounts? That sounds like a pain to me, but just throwing it out there
Trevor Buckner
@calculuschild
Yeah that would be a mess trying to keep a whitelist with special treatment.
Ok, so looks like the best option then is just allowing mixed-case and making sure we change the names in the display. Super annoying but it's too late now to change the existing usernames in the database.
Trevor Buckner
@calculuschild
Solbera has been updating the Drop-cap font some more. Does anybody see any glaring issues? I have it loaded in this brew: https://homebrewery.naturalcrit.com/share/UwjVT0e1cArZ
Some characters are shifted ever so slightly or resized just a touch where I was eyeballing it before.
Gazook89
@Gazook89

here is a reddit comment from me in response to a question about converting legacy docs to v3 mostly in pursuit of the better TOC. It sounded to me like it'd be a pain for this user. So I spent this evening making what is basically my first js tool, to convert legacy ToCs into v3 style ToC's but using regular divs and spans. And it provides the v3 CSS.

Sharing it so I can get my "participation award" but also in case it's useful. Going out of town for a few days tomorrow but when I come back I may spruce it up beyond just a single .html file.

Trevor Buckner
@calculuschild
@Gazook89 I factored out a "dropdown menu" component for the nav bar if you want to try your hand at building the FAQ link. You can see how to put it together in the sharePage.jsx page for example. Essentially just wrap <Nav.item>s you want inside <Nav.dropdown>. The first item will always be shown in the navbar, and any other items will show up only in the dropdown.
Trevor Buckner
@calculuschild
How are you guys doing on your hacktoberfest progress?
Trevor Buckner
@calculuschild
There are some "easy" things I can think of that could have a PR.
G.Ambatte
@G-Ambatte
I'm up to 3 at the moment... October and November are busy months at work, as we try to clear the workload so we've got capacity for the Christmas rush.
Doesn't help that the team has been cut and cut again over the last four or five years, so we're now handling an increasing workload with about 1/3 of the original staff. Uh, yay progress?
G.Ambatte
@G-Ambatte
I think Undo/Redo is finally working!
G.Ambatte
@G-Ambatte
Rebased to master, switched the branches on the PR, it's still working on my local install... I think it's actually ready for a final review!
G.Ambatte
@G-Ambatte
Pushed through a quick PR to close the code wrapping issue as well.
G.Ambatte
@G-Ambatte
Pushed through #1760 to (hopefully) fix the issue with the divider getting lost off the edge of the screen.
Trevor Buckner
@calculuschild
I think I got CodeMirror document swapping figured out. No more losing your place (or undo history) when swapping between tabs!
G.Ambatte
@G-Ambatte
Nice!
caesuric
@caesuric

Hey, folks. I hope this is the right place to reach out to the Homebrewery dev team. I have a tool for building PDF books from Markdown sources, and I have built some Homebrewery-related extensions for it:

  1. A style fork of Homebrewery that is compatible with print media as well as the HTML renderer we are using.
  2. A plugin to my tool that will parse the Homebrewery markdown extensions into "Markdown in HTML" extension compatible Markdown that we can parse with the tool.

I would like to open source all of the above, but I wanted to check in for the Homebrewery-specific stuff and see if that's okay with you and/or if you need any specific form of attribution besides a link and general acknowledgment.

Thanks!

Trevor Buckner
@calculuschild
@caesuric The Homebrewery is licensed using the MIT License. Which means you are free to use The Homebrewery or any parts of the codebase any way that you want, except for claiming that you made it yourself, and provided that you include a copy of the license somewhere in your project where others can see it (even as a comment in the code is fine , just so people can trace it back to us somehow).
caesuric
@caesuric
@calculuschild Awesome, thank you for the clarification. I believe I am familiar with the legal obligations of the license, I was more just checking for things you'd like/appreciate beyond the things I'm legally required to do . Feel free to let me know if doing this in any particular way would be helpful for you. :)
Trevor Buckner
@calculuschild
@caesuric You could always make a shout-out to us whenever you advertise it. Point people to our Patreon page, etc. Maybe let us know when you release it so we can check it out! But really we don't expect anything else. Depending how your project functions, we could potentially create some kind of collaboration and add your extension as an official Homebrewery component if you would be amenable to that. Lots of people are creating new CSS themes, tweaks in their own forks, etc. and occasionally we reach out and ask if we can incorporate their work into the official project. Open-source is nice when it goes both ways, if that makes sense.
caesuric
@caesuric
Absolutely will do all of that, and am open to collaboration if it's welcome and makes sense. Really appreciate all of the work that went into Homebrewery.
caesuric
@caesuric
(Depending on your server setup, there could potentially be some benefit to having a PDF download feature that isn't reliant on browser rendering and allows PDF anchor links within documents (which the stack I am using allows). It's not perfect at handling certain things yet (mainly large block elements and column balancing), but it is still a work in progress and I hope to solve those eventually. Though I guess there may also be a bandwidth consideration for you if you integrated such a thing.)
Trevor Buckner
@calculuschild

The one issue we face is that with user-generated content (Markdown) there is always a chance that someone comes up with a nasty input that results in some evil Regex and can tie up a lot of server memory or leave us open to certain attacks. We try to have all Markdown processing handled on the client end for that reason.

That said, if it's possible to run your tool in-browser, it might help with getting more uniform results across the different browsers (Chrome print-to-PDF is slightly different than Firefox, etc.), and possibly save users some confusion when they go to retrieve a PDF and instead of a download link they get the Print dialog.

caesuric
@caesuric
Unfortunately it definitely won't run in-browser. It probably makes more sense as a separate tool with those concerns.
Trevor Buckner
@calculuschild
What language/framework are you using?
caesuric
@caesuric
Python. The markdown handling is markdown2 and the PDF generation is WeasyPrint which is, being honest, kind of complicated as a dependency, so even if there's some browser Python iteration out there, I can't see it working.
Trevor Buckner
@calculuschild
Gotcha. Well, in any case, I'm excited to see how it turns out. It seems like an interesting project!
caesuric
@caesuric
Thank you! I'll let you know when it becomes public. :)
Trevor Buckner
@calculuschild
Easy PR if someone still needs to fill out their Hacktoberfest quota. naturalcrit/homebrewery#1767
Just update the Dockerfile to match the version of Node in Package.json
caesuric
@caesuric
@calculuschild just made the project(s) public! You may be interested in the tweaks needed to get Homebrewery's style working with paged media without explicit page breaks, possibly.
libris (multiple MD -> PDF tool) here: https://github.com/lazy-scrivener-games/libris
Homebrewery style fork here: https://github.com/lazy-scrivener-games/homebrewery-fork-for-libris
pipe for pasting Homebrewery flavored markdown directly into libris input files here: https://github.com/lazy-scrivener-games/homebrewery-to-libris
G.Ambatte
@G-Ambatte
Oh man, Docker... It's been a while.
I should have time to a swing at it later today, if no one else wants to leap on it - I already have 4 accepted PRs for Hacktoberfest, but I'm happy to push through some more.
Trevor Buckner
@calculuschild
I'm pretty sure it's just changing a number. Should be easy.
G.Ambatte
@G-Ambatte
I'm just looking through the Docker packages for Node 16.11, and they don't seem to have one... 16.12 is there, though.
I might have to install Docker, just to confirm the changes actually work before committing a PR.
G.Ambatte
@G-Ambatte
I must have been looking in the wrong place.... Despite not being listed on the page I was looking at, setting the version in the Dockerfile to 16.11 allows it to compile and run just fine. PR coming through shortly.
G.Ambatte
@G-Ambatte
I've just opened PR #1771, which is some initial work at including CodeMirror's editor themes in Homebrewery. If I've done anything the awkward/difficult way, please let me know the simple solution!
Trevor Buckner
@calculuschild
@G-Ambatte I might recommend using a package like less-plugin-glob as a less plugin rather than shuffling around files everywhere
then you can just use @import (less) 'codemirror/theme/*'; in the codeEditor.less to import all the files.
Trevor Buckner
@calculuschild
Alternatively, do copy the cm themes over to \buildbut don't bother manually stitching them together. Instead just swap the css file in and out on the editor as needed like we do with the brew themes in https://github.com/naturalcrit/homebrewery/blob/732021f5a5ab190752eacf76a178c7b5bc256c07/client/homebrew/brewRenderer/brewRenderer.jsx#L202 .
probably the easiest and keeps the themes separated so users dont have to download every theme in a big lump, just one by one as they select them.
Trevor Buckner
@calculuschild
yeah, probably cleaner than needing more dependencies
G.Ambatte
@G-Ambatte
For some reason, I was under the impression we couldn't <link> in <body>. That'll make things much easier!
Trevor Buckner
@calculuschild
In html 4 it wasn't allowed but html 5 is fine with it, even if its not considered "best practice". It seemed to be the most straightforward way that takes advantage of React's ability to rebuilt the DOM at-will.
G.Ambatte
@G-Ambatte
Cool... This week is shaping up to be super busy but I'll see if I can squeeze in those changes.
Trevor Buckner
@calculuschild
Hey, so you guys who do Docker... this is solved, right? naturalcrit/homebrewery#198