모니위키 테이블 플러그인

이한길의 이미지

얼마전 모니위키를 쓰고는 싶은데..
테이블 기능이 무척 취약(?)해서.. (원래 위키는 없다지만..)
그래서 프로세서의 형태로 만들어봤습니다.

아마 위키에서 테이블 작업을 하는데 쓸만 하지 않을까 하셔 올려봅니다. 한편으로는 윈규님께서 정식 플러그인으로 받아주셨으면 하는 생각도 듭니다.

설명

셀 구분 : ||
행 구분 : ====
비어있는 셀은 이전이나 위의 비어있지 않은 셀로 통합됩니다.
만약 강제적으로 이전 셀로 통합하고자 하면 그 셀을 비워두는 대신 "_"를 써주면 됩니다.

테이블 옵션은
border=? & width=? & cellpadding=? & cellspacing=? & th & attr & bgcolor=? ...

등이 있으며 attr을 설정하면 다음 줄에 각 컬럼의 너비나 정렬등을 지정할 수 있습니다.

예제는 아래를 참고하세요.

http://eilinux.chonbuk.ac.kr/~ei200211175/moniwiki/wiki.php/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%90%EC%9E%AC%EC%97%B0%EA%B5%AC%EB%B0%8F%EC%A7%80%EB%8F%84%EB%B2%95?action=edit

설치

[모니위키 루트]/plugin/processor 아래에 복사해 넣기만 하면 됩니다.

파일은 하나인데... php라는 확장자는 허가되지 않는다는군요.
그래서 압축해서 올립니다.

File attachments: 
첨부파일 크기
Package icon table.zip1.55 KB
Forums: 
hey의 이미지

우와 설명으론 감이 안 왔었는데, 예제를 보니 보기 좋군요.

기본 모니위키 테이블도 CSS 클래스 이름만 따로 지정할 수 있으면 좋을 것 같은데.


----------------------------
May the F/OSS be with you..


hermian의 이미지

저는 [[LF]]가 동작하지 않는군요.
설정파일을 어딘가 고쳐야 할것 같은데
무엇일까요 ^^

익명 사용자의 이미지

hermian wrote:
저는 [[LF]]가 동작하지 않는군요.
설정파일을 어딘가 고쳐야 할것 같은데
무엇일까요 ^^

아.. LF는 라인피드의 약자로
그 플러그인을 호출하면 그 자리에 <br/>테그를 넣어주는.. 것입니다.

plugin/아래에..

LF.php를 만들고..

그 내용은 아래처럼 하시면 됩니다.

<?php

function macro_LF($formatter,$value) {
    return "<br />\n";
}

function do_LF($formatter,$options) {
    $formatter->send_header();
    $formatter->send_title();
    $ret= macro_LF($formatter,$options[value]);
    $formatter->send_page($ret);
    $formatter->send_footer("",$options);
    return;
}
?>

아마도..

더 간단하게... 아래처럼 해도 될꺼에요..
하지만 그냥 TEST플러그인을 가져다 복사하면서
위처럼 한것이지요..

<?php

function do_LF($formatter,$options) {
    return "<br />";
}
?>
hermian의 이미지

위 코드 처럼 해도 여전히 동작하지 않습니다.
무언가 다른 비밀이 :)
아 모니 위키는 현재 Kldp 릴리즈 버전입니다.

익명 사용자의 이미지

Quote:

비어있는 셀은 이전이나 위의 비어있지 않은 셀로 통합됩니다.
만약 강제적으로 이전 셀로 통합하고자 하면 그 셀을 비워두는 대신 "_"를 써주면 됩니다.

음.. 비어있는 셀은 이전이나 위의 비어있지 않는 셀로 통합된다고 하였는데..통합을 안할려면 어떻게 하나요?

예륻 들어..
{{{#!table width=100% & border=0 & cellspacing=1 & cellpadding=5
이름 || 나이 || 비고
====
홍길동 || 23 ||
====
김길동 || 25 || 남자 ||
====
최길동 || 22 || 여자 ||
}}}

이런식으로 테이블을 만들면..
홍길동같은 경우 셀이 비어있기 때문에 위의 비고하고 합쳐지는군요..

익명 사용자의 이미지

Quote:

비어있는 셀은 이전이나 위의 비어있지 않은 셀로 통합됩니다.
만약 강제적으로 이전 셀로 통합하고자 하면 그 셀을 비워두는 대신 "_"를 써주면 됩니다.

음.. 비어있는 셀은 이전이나 위의 비어있지 않는 셀로 통합된다고 하였는데..통합을 안할려면 어떻게 하나요?

예륻 들어..
{{{#!table width=100% & border=0 & cellspacing=1 & cellpadding=5
이름 || 나이 || 비고
====
홍길동 || 23 ||
====
김길동 || 25 || 남자 ||
====
최길동 || 22 || 여자 ||
}}}

이런식으로 테이블을 만들면..
홍길동같은 경우 셀이 비어있기 때문에 위의 비고하고 합쳐지는군요..

wkpark의 이미지

오~ 예제가 참 대단한 것 같습니다 @.@ 어떻게 저렇게 복잡한 문서를 만들었는지 ^^;;

저는 거의 테이블을 쓰지 않습니다만 필요하신 분들은 도움이 되시겠네요.

테이블을 좀 더 편리하게 만드는 방법을 생각해둔 것이 있습니다. 편리하면서 직관적으로, 수정도 쉽게 해야 되겠지요.

아무튼, 다음 버전에 참고하도록 하겠습니다. :)

온갖 참된 삶은 만남이다 --Martin Buber

atie의 이미지

위의 테이블 예제는 너무나 한국적(?)이어서 모니위키가 아니면 다른 위키에서는 흉내도 못 낼 것 같습니다.

예제를 잘 만드셨네요.

----
I paint objects as I think them, not as I see them.
atie's minipage

cdpark의 이미지

익명 사용자의 이미지

개인적으로 미디어위키의 표 문법이 직관적이고 편한 것 같습니다.

wkpark의 이미지

미디어위키의 표 문법이 마음에 드는군요 @.@

일단은 프로세서 형태로 만들고, 기본 문법으로 적용가능하도록 해야겠군요... 모인모인용 프로세서가 이미 있을것 같기도 하고..

온갖 참된 삶은 만남이다 --Martin Buber

이한길의 이미지

hermian wrote:
위 코드 처럼 해도 여전히 동작하지 않습니다.
무언가 다른 비밀이 :)
아 모니 위키는 현재 Kldp 릴리즈 버전입니다.

혹시 페이지를 알려주실 수 있으시겠습니까??
도움이 될수 있을까 해서요..

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

이한길의 이미지

손님00 wrote:
Quote:

비어있는 셀은 이전이나 위의 비어있지 않은 셀로 통합됩니다.
만약 강제적으로 이전 셀로 통합하고자 하면 그 셀을 비워두는 대신 "_"를 써주면 됩니다.

음.. 비어있는 셀은 이전이나 위의 비어있지 않는 셀로 통합된다고 하였는데..통합을 안할려면 어떻게 하나요?

예륻 들어..
{{{#!table width=100% & border=0 & cellspacing=1 & cellpadding=5
이름 || 나이 || 비고
====
홍길동 || 23 ||
====
김길동 || 25 || 남자 ||
====
최길동 || 22 || 여자 ||
}}}

이런식으로 테이블을 만들면..
홍길동같은 경우 셀이 비어있기 때문에 위의 비고하고 합쳐지는군요..

"&nbsp;" 라두 넣어 주는것이 답이 될것 같네요..

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

이한길의 이미지

wkpark wrote:
오~ 예제가 참 대단한 것 같습니다 @.@ 어떻게 저렇게 복잡한 문서를 만들었는지 ^^;;

저는 거의 테이블을 쓰지 않습니다만 필요하신 분들은 도움이 되시겠네요.

테이블을 좀 더 편리하게 만드는 방법을 생각해둔 것이 있습니다. 편리하면서 직관적으로, 수정도 쉽게 해야 되겠지요.

아무튼, 다음 버전에 참고하도록 하겠습니다. :)

atie wrote:
위의 테이블 예제는 너무나 한국적(?)이어서 모니위키가 아니면 다른 위키에서는 흉내도 못 낼 것 같습니다.

예제를 잘 만드셨네요.

사실 보셨겠지만 교수학습 과정안에 사용되는 표가 좀 복잡합니다.

제가 교직과정 이수를 하는터라.. 수업을 들으면서.. 조별로 교수학습과정안 작성을 해야 하는데.. 그걸 같이 하려다 보니 위키가 좋겠더라구요..

하지만 표기능이 좀 그래서 가볍게 만들어 사용해본거였습니다.

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

이한길의 이미지

cdpark wrote:
MoinMoin의 표도 좋지만,
http://moinmoin.wikiwikiweb.de/HelpOnTables

MediaWiki의 표가 꽤 편하더군요.
http://ko.wikipedia.org/wiki/%EB%8F%84%EC%9B%80%EB%A7%90:%ED%91%9C

저의 초보적인 그것과는 차원이 다른 것들이군요..

저는 사실 교수학습 과정안 작성에 용이하도록.. 테이블의 셀 통합의 편리성만 생각했는데... :oops:

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

wkpark의 이미지

모니위키 1.1.3부터는 기존 문법과 호환되면서 mediawiki방식과 거의 비슷한 문법으로, 테이블 내에 다중 라인을 넣을 수 있도록 하였습니다~

자세한 내용은 http://moniwiki.kldp.org/wiki.php/TableFormatting 를 참고하세요~

온갖 참된 삶은 만남이다 --Martin Buber

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.