Skip to content
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

Support different page sizes #39

Closed
rnkn opened this issue Jan 14, 2020 · 15 comments
Closed

Support different page sizes #39

rnkn opened this issue Jan 14, 2020 · 15 comments
Assignees

Comments

@rnkn
Copy link

rnkn commented Jan 14, 2020

First, in case I’ve not mentioned it, I really appreciate you building Wrap and putting your time/energy into the Fountain ecosystem. Thank you.

Is your feature request related to a problem? Please describe.

Not really, except perhaps not being able to specify page size.

Describe the solution you'd like

There are slight variations in how people may like to format their scripts; generally I’d say these are limited to: page size (a4 vs. US letter), whether dialogue breaks across pages, and whether scene headings are double-spaced, bold, and/or underlined. I’d like to be able to configure these via command line switches. There are probably others variations people wish for (e.g. #29 ) but I’d say these are the main ones.

Describe alternatives you've considered

Currently I use afterwriting, but I think multiple implementations are a very positive thing.

Additional context

I maintain an Emacs mode for Fountain editing. Currently it has internal export functionality, but I would prefer to remove this in favour of external CLI tools such as Wrap. Being able to specify export formatting via command switches makes for a pretty seamless user interaction, e.g. here’s a screenshot of how a user configures different export profiles in Emacs:

Screen Shot 2020-11-09 at 5 44 18 pm

@eprovst
Copy link
Owner

eprovst commented Jan 27, 2020

This is something I have been thinking on for a while actually. There are mainly two reasons why this kind of flexibility is not something I am planning to add, at least entirely:

  1. Wrap is intended to be very simple and straightforward tool. The problem that this creates is that every feature should be carefully selected as not to introduce feature creep. The -v option of cat is a great example of something to avoid.

  2. I want to make it easy for users to export industry standard screenplays and hard to shoot oneself in the foot. Underlining of scene headers for instance is a great example, this goes against typographical best practices and is not seen in any style guide.

    Emboldening scene headers without double spacing seems to be a recent trend however so that is something that might be added. That way there are two options: traditional (the default) and contemporary which can even change between versions of Wrap to reflect current usage. However emboldening with double spacing is again something that isn't done by most professionals and thus shouldn't be an option of Wrap in my opinion.

Stopping dialogue from breaking across pages is something that would require an entire rewrite of the PDF export module and that would break "one minute per page" estimates. So it's unlikely this will be added either.

Support for A4 is indeed something that is missing, shouldn't be too hard to add, only needs some margin offsets.

In summary: Wrap tries to complement Afterwriting by being simple and straightforward to install, use and get standard compliant results. So there is no goal of having the same or similar flexibility 🙂

Putting limits at the functionality of submodules also helps to make other parts a lot more flexible. Supporting languages different from English, multiple output formats...

It's a careful balancing act, combined with limited development time. Of course if you disagree with any of my concerns or are able to provide patches, please do. I'm open to changing my mind and it's Free and Open Source Software after all! 🙂

Which reminds me to leave some code quality disclaimers in some modules. The parser is fairly ugly for instance...

@rnkn
Copy link
Author

rnkn commented Jan 27, 2020

Sounds like you’ve got a good handle on it all. I agree that A4 would be the priority, and then whatever scene heading variations you see fit. A dialogue-breaking-across-pages option could safely be ignored.

@rnkn
Copy link
Author

rnkn commented Jan 30, 2020

I hope you don't mind me chiming in again but what's your take on exporting snippets? e.g. Someone asks for just a couple of new scenes (page numbers don't matter).

This works well with Wrap's ability to read from stdin, and would go nicely with a tittle page flag.

@eprovst
Copy link
Owner

eprovst commented Jan 30, 2020

A snippet mode, where page numbers and title page are disabled, has a clear, common use case. So that's going on the to do list.

Thanks for the suggestion!

@corvore
Copy link

corvore commented May 16, 2020

Another vote for some formatting. Even just something like --bold-scenes.
I feel like maybe just a couple of the most common formatting differences people might have would be helpful.

Again, thank you for such a wonderful tool! The scene numbering is *chef's kiss. Just missing my bold scene headings ;)

@sten0
Copy link

sten0 commented Nov 9, 2020

@elecprog, would it be possible to get A4 support and a tagged release before Christmas? I maintain the Debian package for @rnkn's fountain-mode, and I've been deferring updating to the latest version because Debian doesn't have a fountain->PDF export solution yet. Afterwriting looks like a nightmare to package, but I'm optimistic about Wrap! In particular, the multilingual aspect fits well with Debian's ethos :-)

@eprovst
Copy link
Owner

eprovst commented Nov 9, 2020

I was deferring A4 support until I had the time to properly cleanup the PDF export module which is unlikely before Christmas.

I see the urgency though, so I'll instead try to patch it in somewhere in the coming month to have time to collect feedback/bug reports before Debian freezes the next release 🙂

@rnkn
Copy link
Author

rnkn commented Nov 9, 2020

@sten0 what's the timeline for Debian feature freeze? Also, does pip install 'screenplain[PDF]' not work on Debian?

@eprovst eprovst self-assigned this Nov 10, 2020
@eprovst
Copy link
Owner

eprovst commented Nov 10, 2020

Okay, page size should up and working in the latest nightly.

It's a bit hacky, though (and, oh dear, this project's code is messy...) 🙂

@sten0
Copy link

sten0 commented Nov 11, 2020 via email

@sten0
Copy link

sten0 commented Nov 11, 2020 via email

@eprovst
Copy link
Owner

eprovst commented Nov 11, 2020

@sten0 see the latest comment in #33, HTML output currently uses a CDN to get the CSS, I'm planning on embedding it in the output before the next release.

Most likely I'll archive Wraparound/css. At any rate, no need to package that one 😉

Under scripts, there is a .go source file that generates shell completions. Could be useful for packaging.

If you have any suggestions for reorganisation of the repo structure that might aide packaging, please let me know, preferably in a separate issue. The code is a mess and so is the repo. I started this project three years back, the summer before uni, it shows...

To clarify, you're not packaging rubish. The parser is backed by unit tests so although it's messy that part is pretty stable. I might write a more detailed report of code quality.

At any rate, thank you for wanting to package Wrap. Having your code being packaged in Debian is quite the honour. 🙂

@sten0
Copy link

sten0 commented Nov 17, 2020 via email

@eprovst
Copy link
Owner

eprovst commented Nov 22, 2020

@sten0 CSS is now embedded.

I'll wait a couple of days to see if any issues pop up and will then make a release. There are some other features (see the roadmap) that might or might not land before Christmas but the bare minimum has been reached 🙂

[Edit: v0.3.1 has been released!]

@eprovst
Copy link
Owner

eprovst commented Nov 22, 2020

@rnkn Could you split up the other feature requests in this thread to separate issues? That makes tracking them a bit easier.

Mainly 'modern scene headers' and 'snippets mode' remain I think, I'll consider this one as 'page sizes'. 🙂

@eprovst eprovst changed the title Formatting (incl. page size) options as CLI switches Support different page sizes Nov 23, 2020
@eprovst eprovst closed this as completed Nov 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants