Omnimaga => Site Feedback and Questions => Topic started by: DJ Omnimaga on November 02, 2011, 05:34:16 pm
Title: CODE Tags and Description bug reports/suggestion
Post by: DJ Omnimaga on November 02, 2011, 05:34:16 pm
Netham45, while the new code tags with line numbering are nice, for some reasons they look kinda weird with the new fonts. Also i noticed some display glitch causing numbers to not be aligned with the code. See the attachment below.
The misalignment of numbers doesn't seem to happen all the time, though. However when it does, it can be confusing which line is what.
Also the text is too big IMHO for code tags. Not only that but now that it doesn,t use a monospaced font anymore, it can make it harder to post code or read parts of it (especially TI-BASIC with strings or ASCII art).
Would it be possible to change the font and its size back to what it was prior the addition of numbering?
Thanks in advance.
Also, another thing about code tags: Would it be possible to check the CSS if it would be possible to change it for code tags so in Chrome they no longer end up being tiny when put in SPOILER tags? I think the CSS in the following topic (inside the js code) might help: http://ourl.ca/13513/254534
Besides that, there's a bug with Topic Descriptions: When editing the first post of the topic, the description is removed from the field.
Title: Re: CODE Tags suggestion
Post by: flyingfisch on November 02, 2011, 05:36:53 pm
Seconded
Title: Re: CODE Tags suggestion
Post by: Yeong on November 02, 2011, 05:36:54 pm
I definitely didn't see that watermark.... /me lost
Title: Re: CODE Tags and Description bug reports/suggestion
Post by: parserp on November 02, 2011, 05:38:18 pm
thirded I lost the game too... :P
Title: Re: CODE Tags and Description bug reports/suggestion
Post by: Deep Toaster on November 03, 2011, 11:35:41 pm
Another suggestion: Can the line numbers be added in JavaScript? The reason I ask for this is because the way it is now, email notifications display code blocks like this:
AwesomeCode(); More awesome code! Insane code! Output(1,1,"Hello world!") Output(2,1,"Hello world!") Output(3,1,"Hello world!") Output(4,1,"Hello world!") /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * - Neither the name of Oracle nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
/** * Copy source file to target location. If {@code prompt} is true then * prompt user to overwrite target if it exists. The {@code preserve} * parameter determines if file attributes should be copied/preserved. */ static void copyFile(Path source, Path target, boolean prompt, boolean preserve) { CopyOption[] options = (preserve) ? new CopyOption[] { COPY_ATTRIBUTES, REPLACE_EXISTING } : new CopyOption[] { REPLACE_EXISTING }; if (!prompt || Files.notExists(target) || okayToOverwrite(target)) { try { Files.copy(source, target, options); } catch (IOException x) { System.err.format("Unable to copy: %s: %s%n", source, x); } } }
/** * A {@code FileVisitor} that copies a file-tree ("cp -r") */ static class TreeCopier implements FileVisitor<Path> { private final Path source; private final Path target; private final boolean prompt; private final boolean preserve;
@Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) { // before visiting entries in a directory we copy the directory // (okay if directory already exists). CopyOption[] options = (preserve) ? new CopyOption[] { COPY_ATTRIBUTES } : new CopyOption[0];
// process options int argi = 0; while (argi < args.length) { String arg = args[argi]; if (!arg.startsWith("-")) break; if (arg.length() < 2) usage(); for (int i=1; i<arg.length(); i++) { char c = arg.charAt(i); switch (c) { case 'r' : recursive = true; break; case 'i' : prompt = true; break; case 'p' : preserve = true; break; default : usage(); } } argi++; }
// remaining arguments are the source files(s) and the target location int remaining = args.length - argi; if (remaining < 2) usage(); Path[] source = new Path[remaining-1]; int i=0; while (remaining > 1) { source[i++] = Paths.get(args[argi++]); remaining--; } Path target = Paths.get(args[argi]);
// check if target is a directory boolean isDir = Files.isDirectory(target);
// copy each source file/directory to target for (i=0; i<source.length; i++) { Path dest = (isDir) ? target.resolve(source.getFileName()) : target;
if (recursive) { // follow links when copying files EnumSet<FileVisitOption> opts = EnumSet.of(FileVisitOption.FOLLOW_LINKS); TreeCopier tc = new TreeCopier(source, dest, prompt, preserve); Files.walkFileTree(source, opts, Integer.MAX_VALUE, tc); } else { // not recursive so source must not be a directory if (Files.isDirectory(source)) { System.err.format("%s: is a directory%n", source); continue; } copyFile(source, dest, prompt, preserve); } } } }
clip = new ZeroClipboard.Client();clip.setHandCursor( true );clip.glue("a-2");clip.setText(StripHTML("AwesomeCode(); More awesome code! Insane code! Output(1,1,"Hello world!") Output(2,1,"Hello world!") Output(3,1,"Hello world!") Output(4,1,"Hello world!") /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * - Neither the name of Oracle nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
/** * Copy source file to target location. If {@code prompt} is true then * prompt user to overwrite target if it exists. The {@code preserve} * parameter determines if file attributes should be copied/preserved. */ static void copyFile(Path source, Path target, boolean prompt, boolean preserve) { CopyOption[] options = (preserve) ? new CopyOption[] { COPY_ATTRIBUTES, REPLACE_EXISTING } : new CopyOption[] { REPLACE_EXISTING }; if (!prompt || Files.notExists(target) || okayToOverwrite(target)) { try { Files.copy(source, target, options); } catch (IOException x) { System.err.format("Unable to copy: %s: %s%n", source, x); } } }
/** * A {@code FileVisitor} that copies a file-tree ("cp -r") */ static class TreeCopier implements FileVisitor<Path> { private final Path source; private final Path target; private final boolean prompt; private final boolean preserve;
@Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) { // before visiting entries in a directory we copy the directory // (okay if directory already exists). CopyOption[] options = (preserve) ? new CopyOption[] { COPY_ATTRIBUTES } : new CopyOption[0];
// process options int argi = 0; while (argi < args.length) { String arg = args[argi]; if (!arg.startsWith("-")) break; if (arg.length() < 2) usage(); for (int i=1; i<arg.length(); i++) { char c = arg.charAt(i); switch (c) { case 'r' : recursive = true; break; case 'i' : prompt = true; break; case 'p' : preserve = true; break; default : usage(); } } argi++; }
// remaining arguments are the source files(s) and the target location int remaining = args.length - argi; if (remaining < 2) usage(); Path[] source = new Path[remaining-1]; int i=0; while (remaining > 1) { source[i++] = Paths.get(args[argi++]); remaining--; } Path target = Paths.get(args[argi]);
// check if target is a directory boolean isDir = Files.isDirectory(target);
// copy each source file/directory to target for (i=0; i<source.length; i++) { Path dest = (isDir) ? target.resolve(source.getFileName()) : target;
if (recursive) { // follow links when copying files EnumSet<FileVisitOption> opts = EnumSet.of(FileVisitOption.FOLLOW_LINKS); TreeCopier tc = new TreeCopier(source, dest, prompt, preserve); Files.walkFileTree(source, opts, Integer.MAX_VALUE, tc); } else { // not recursive so source must not be a directory if (Files.isDirectory(source)) { System.err.format("%s: is a directory%n", source); continue; } copyFile(source, dest, prompt, preserve); } } } } "))
Title: Re: CODE Tags and Description bug reports/suggestion
Post by: DJ Omnimaga on November 04, 2011, 12:02:34 am
Would it slow downj the display of massive code boxes though?
Title: Re: CODE Tags and Description bug reports/suggestion
Post by: Juju on November 04, 2011, 12:08:13 am
The CODE blocks would be way better with a monospaced font.
Another suggestion: use syntax highlighting?
Title: Re: CODE Tags and Description bug reports/suggestion
Post by: DJ Omnimaga on November 04, 2011, 12:27:23 am
Yeah I have no idea why Netham45 got rid of monospaced fonts for code blocks.