EMBOSS...:XHTML(3pm)

πŸ“¦
version 2.2.0 Β· 3 versions
, in debian trixie, ubuntu noble, ubuntu questing

πŸ’– EMBOSS::GUI::XHTML πŸ’–

okay bestie, real talk: this is the Perl module EMBOSS::GUI::XHTML, and it's the ✨glow-up artist✨ that generates HTML for EMBOSS::GUI. Manual name's right there in the title if you need it, but honestly just vibe with me for a sec πŸ¦‹


🌸 AUTHOR 🌸

Luke McCarthy <lukem@gene.pbi.nrc.ca> β€” the icon, the legend, the main character who wrote this πŸ‘‘


✨ SYNOPSIS ✨

Not for public consumption. Like, at ALL. Use EMBOSS::GUI instead, bestie. This is the backstage crew, not the opening act πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

EMBOSS::GUI::XHTML generates the HTML that EMBOSS::GUI needs. That's the whole job. It's giving "backend bestie who makes the frontend look good" πŸ’–

And here's the slay part: the look of EMBOSS::GUI can be customized by editing or replacing the default style sheet. There is very little that cannot be accomplished this way. Obsessed, honestly. If you absolutely must have new HTML, just create a new module that provides the methods described below and specify that new module in the EMBOSS::GUI constructor. Custom module? We love that for you 🫢

Public methods are described below β€” the ones you're actually allowed to touch:


πŸ¦‹ new(%args)

Returns a new EMBOSS::GUI::XHTML object. Fresh out of the box, no cap ✨

%args is a hash of optional named arguments. The following arguments are %recognized:

  • static => $boolean β€” if $boolean is true, the generated HTML will assume that, where possible, the pages of the interface have been generated statically and will be linked appropriately. See also the mkstatic script in the EMBOSS::GUI distribution. πŸ“„
  • frames => $boolean β€” if $boolean is true, the generated HTML will assume that the main menu is in its own frame and doesn't have to be added to each page. No more copy-paste menu, periodt πŸ–ΌοΈ
  • script_url => $url β€” specifies the URL of the main EMBOSS::GUI CGI script. This parameter is required if static pages are generated, otherwise the URL will be determined from the CGI environment. Don't skip this one if you're going static, fr fr πŸ™ˆ
  • style_url => $url β€” specifies the URL of the style sheet to use. Serving looks, literally πŸ’…
  • image_url => $url β€” specifies a URL prefix to place before image links. πŸ–ΌοΈ
  • manual_url => $url β€” specifies a URL prefix to place before manual links. This prefix is only used if static pages are generated. πŸ‘€

🌈 intro_page()

Generates an introductory page describing EMBOSS and the GUI. First impressions? Iconic πŸ’–


Generates the main menu page.

@entries is either a list of applications as returned by EMBOSS::GUI::apps(), or a list of groups as returned by EMBOSS::GUI::groups(). Either way, it's a whole menu, and you're serving it ✨


🧚 input_page($acd, $hide_optional)

Generates the application-specific input page.

  • $acd is an EMBOSS::ACD object that describes the application.
  • $hide_optional is a boolean value that determines whether optional parameters (also called additional parameters in the EMBOSS documenation) will appear in the input page. πŸ™ˆ

🧚 input_page($output_dir)

Generates an output page based on the contents of the specified directory.

$output_dir is a directory containing the output of an EMBOSS application. Yes, same method name as the one above β€” that's just how it is, bestie, don't @ me 😭


πŸ‘‘ manual_page($app, $manual)

Generates the application-specific manual page.

  • $app is the name of the application.
  • $manual_html is the full text of the HTML application manual.

⭐ default_output_page($refresh_delay)

Generates the default output page to be used as a placeholder until the application has finished running and the actual output is available. The "brb, loading" era 🌸

$refresh_delay is the number of seconds to wait between page reloads. ⏳


πŸ’€ error_page(@error)

Generates an error page. Oops 🫠

@error is the text of the error message. All elements of the list are joined into a single string, so this method has the same syntax as print, warn, die, etc. Yes, that means you can throw a whole list at it and it'll smoosh them together πŸ’…


πŸŽ€ frameset_page()

Generates a page that sets up the menu and main content frames. Frames within frames, it's giving inception πŸ–ΌοΈβœ¨


😭 BUGS 😭

If the user has asked to see only required fields, sections containing only optional fields will still be visible, even though the fields they contain are hidden. Fixing this requires better section handling in EMBOSS::ACD.

so basically: empty-looking sections with nothing in them. Not the vibe. Known issue, noted, moving on πŸ™ˆ


Copyright (c) 2004 Luke McCarthy. All rights reserved. This program is free software. You may copy or redistribute it under the same terms as Perl itself. 🫢


and that's the whole page, bestie!! this was perl v5.38.2, dated 2024-02-25, and you absolutely ate reading all of it. go generate some HTML, you've got this πŸ‘‘πŸ’–βœ¨

πŸ“¦ where this page comes from