GRAM.PL HTML SMART TAGS v1.01
Transkrypt
GRAM.PL HTML SMART TAGS v1.01
GRAM.PL HTML SMART TAGS v1.01 Language Reference & Specification Podstawowe informacje Smart-tagi to kody umożliwiające wstawić predefiniowane wcześniej fragmenty kodu HTML oraz style modyfikujące odpowiednio treść. Ponadto można w ten sposÛb łatwo umieszczać na stronie wszelkie ramki, listy bądź tabelki, używając prostych kodÛw zamiast dziesiątek linii HTMLa. Każdy smart-tag składa się ze słowa-klucza oraz obejmujących go nawiasÛw kwadratowych: " [" oraz " ] ". Dzięki nawiasom, skrypt rozpoznaje dany zapis jako smart-taga i zapewnia (w wypadku poprawności) właściwą translację na kod HTML. Każdy smart-tag wymaga obu nawiasÛw kwadratowych (otwierającego i zamykającego) aby był poprawny, ponadto między nawiasami kwadratowymi a słowem-kluczem nie może wystąpić żadna spacja ani inny znak. Tagi zwykłe oraz blokowe Tagi podzielić można na dwa typy: zwykłe oraz blokowe. Tak zwykły używa się do dokonania jakiejś zmiany/akcji w konkretnym punkcie tekstu: np. wstawienia obrazka czy złamania linii (enter). Taki blokowe natomiast wpływają na cały fragment (blok) tekstu ktÛry obejmują Ŕ np. pogrubiają dany fragment lub obejmują go w ramkę. Jak widać możliwe jest więc zagłębianie tagÛw Ŕ obejmowanie jednego taga innym. Przykładowo (pseudo-kod): [pogrubienie] [obrazek z opisem] [wyśrodkuj] [ramka] ... [/ramka] [/wyśrodkuj] [/pogrubienie] Zagłębianie tagu blokowego w innym tagu blokowym nie jest zalecane z uwagi na to że efekty mogą być zaskakujące w sensie negatywnym. Wyjątkiem są tagi modyfikujące krÛj tekstu Ŕ pogrubienie, podkreślenie, italic Ŕ te można zawsze śmiało wrzucać na zewnątrz i wewnątrz. Zagłębianie zwykłego taga wewnątrz blokowego jest jak najbardziej OK i nie powinno rodzić żadnych niespodziewanych efektÛw :). Tagi zwykłe oraz blokowe – c.d. Stosowanie zagłębienia automatycznie narzuca strukturę. Kolejność otwierania blokowych smarttagÛw wymusza zachowanie odpowiedniej kolejności przy ich zamykaniu Ŕ parami, od najbardziej zagłębionego aż po najbardziej zewnętrzny. Tym samym otwarcia i zamknięcia muszą znajdować się na tej samej „głębokościŗ kodu oraz wewnątrz tych samych, nadrzędnych tagÛw. Oto dobrze zamknięte tagi [aaa] [bbb] [c] [/bbb] [/aaa] Poniżej trzy przykłady ktÛrych zdecydowanie NIE należy powtarzać :) [ramka] [pogrubienie] [/ramka] [/pogrubienie] [ramka] [pogrubienie] [wyśrodkuj] [/pogrubienie] [/wyśrodkuj] [/ramka] Na deser jeszcze mistrzostwo świata czyli specjalny anty-przykład. [ramka1] [pogrubienie] [/ramka1] ... [ramka2] [/pogrubienie] [/ramka2] O czym należy pamiętać ponieważ zawartość nawiasÛw kwadratowych będzie automatycznie tłumaczona przez skrypt smart-tagÛw, każdy tekst wpisany w nawiasach kwadratowych nie będzie widoczny na stronie. Tym samym, stosowanie nawiasÛw kwadratowych w celu innym niż wstawienie na stronie smarttaga jest ZABRONIONE. chcąc umieścić w treści znak na stronie znak nawiasu kwadratowego, należy posłużyć się kodem służącym do wpisywania specjalnych znakÛw w HTMLu. Dla lewego i prawego nawiasu kwadratowego są to odpowiednio: "[" oraz "]" (bez cudzysłowÛw). Pełna lista takich kodÛw znajduje się na końcu tego dokumentu. błedne smart tagi nie będą widoczne z punktu widzenia użytkownika Ŕ są w całości wycinane przez skrypt. Specyfikacja języka 1. Styl tekstu ( [b] oraz [/b] , [i] oraz [/i] , [u] oraz [/u] ) Tag blokowy Ŕ wymaga zamknięcia! Tag służący do zmiany tzw. „dekoracjiŗ tekstu, ktÛry znajdzie się wewnątrz bloku. Odpowiednio: [b] ... [/b] Ŕ pogrubienie (bold) ... , [i] ... [/i] Ŕ kursywa (italic) ... , [u] ... [/u] Ŕ podkreślenie (underline) ... . Należy stosować bezpośrednio wokÛł wybranego tekstu o tak: [ramka] [b] ... [/b] [/ramka] zamiast umieszczania na zewnątrz bloku. 2. Linki / hiperłącza ( [a href=...] oraz [/a] ) Tag blokowy Ŕ wymaga zamknięcia! Tag służący do umieszczenia linka. Wszystko co znajdzie się wewnątrz bloku będzie linkiem. Tag wymaga stosowania konkretnej struktury: [a href="link" target="_blank"] gdzie, ' link ' to adres, koniecznie razem z protokołem ("http:// ", "ftp:// " itp.) i koniecznie umieszczony w cudzysłowie. Segment ' target="_blank" ř jest opcjonalny - umieszcza się go, jeśli chcemy aby link otwierał się w nowym oknie. Podobnie jak w wypadku tagÛw modyfikujących styl, należy umieszczać go bezpośrednio wokÛł tesktu/obiektu, ktÛry ma być linkiem, na przykład: [ramka] [a href="http://www.gram.pl"] to mój ulubiony portal [/a] [/ramka] zamiast na zewnątrz ramki. 3. Przejście do nowej linii / brak-line ( [br], [span] oraz [p] ) Zwykły tag Ŕ działa w miejscu wstawienia. Tagi te służą do dzielenia tekstu wizualnie na mniejsze, czytelniejsze dla użytkownika bloki. * Pierwszy z nich Ŕ [br] Ŕ służy do zrobienia miękkiego entera (shif+enter, tak zwany „powrÛt karetkiŗ ;). Po wstawieniu w treść [br], tekst znajdujący się po tym smart-tagu będzie rozpoczynał się od nowej linii, * Drugi z nich Ŕ [span] Ŕ działa analogicznie do [br] ale dodatkowo tworzy margines pod poprzednią linią o wysokości 1,5 interlinii ( [br] < [span] < [br][br] ) * Trzeci tag Ŕ [p] Ŕ służy do przejścia do nowego akapitu. Po wstawieniu w treść [p], tekst znajdujący się po tym smart tagu będzie rozpoczynał się w nowej linii z dodatkowym większym odstępem od poprzedniej linii (ok 1.5). OgÛlnie tagi [br] i [span] są mniej inwazyjne i można stosować je praktycznie wszędzie, nawet wewnątrz punktowanych czy numerowanych list. Tag [p] (akapit) powinien być stosowany zawsze na zewnątrz wszystkich innych tagÛw, gdyż umieszczenie go (przykładowo) wewnątrz numerowanej listy wpłynie na przekłamanie numeracji kolejnych punktÛw. 4. Nagłówki, stronicowanie textu ( [sub] oraz [/sub], [str], [tytul] oraz [/tytul] ) * Pierwszy tag (blokowy) [sub] … [/sub] Ŕ służy do wstawienia nagłÛwka w odpowiednim stylu i odstępem nad / i pod nim. * Tag [str] powoduje wstawienie nowej strony Ŕ w danym miejscu następuje podział i rozpoczęcie kolejnej strony. Odpowiednie menu do stronicowania tekstu zostanie wyświetlone automatycznie. * Tag [tytul] … [/tytul] służy do nadania tytułu stronie Ŕ tytuł ten widoczny jest tylko w menu stronicowania. Powinien znajdować się tuż po tagu nowej strony ([str]) lub jako pierwsza linia w tekście (w przypadku pierwszej strony). 5. Lista numerowana/punktowana ( [lista] oraz [/lista], [#], [*] ) Ten tag jest trochę bardziej skomplikowanym tworem Ŕ składa się z jednego taga blokowego i serii zwykłych tagÛw oraz wymusza stosowanie zagłębienia. Listę tworzy się wstawiając na zewnątrz taga blokowego [lista] [/lista] a następnie umieszczając w środku tekst poprzedzony zwykłymi tagami, zależnie od typu listy jaką chcemy stworzyć: [#] Ŕ lista numerowana (1 , 2 , 3 , ....) [*] Ŕ lista punktowana (kropki) Należy pamiętać aby nie łączyć w obrębie jednej listy numerowania i punktowaina. Przykładowy zapis tworzący listę wygląda następująco: [ramka][lista] [#]... [#]... [#]... [/lista][/ramka] Efektem takiego zapisu będzie umieszczona w ramce lista numerowana. Ponieważ odstęp między cyfrą/punktem a tekstem jest tworzony automatycznie, tekst powinno się umieszczać od razu po smart-tagu, bez spacji. Umieszczenie akapitu [p] wewnątrz listy spowoduje automatycznie stworzenie nowego punktu. Dlatego właśnie wewnątrz list Ŕ w wypadku konieczności przerwania linii - należy stosować [br]. 6. Ramki ( [ramka] oraz [/ramka], [uwaga] oraz [/uwaga], [info] oraz [/info] ) Tag blokowy Ŕ wymaga zamknięcia! Tag służący do umieszczenia linka. Wszystko co znajdzie się wewnątrz tych tagÛw będzie umieszczone w ramce. Ramki rÛżnią się jedynie kolorystyką i wpływem na styl tekstu umieszczonego wewnątrz. [ramka] [lista] [*]... [*]... [/lista] [b]...[/b] [/ramka] Umieszczanie wewnątrz ramki obrazkÛw, innych ramek nie jest najlepszym pomysłem. Wewnątrz ramki powinien znajdować się tekst i/lub lista. Formatowanie tekstu (b, i, u) są dozwolone wszędzie. 7. Obrazki ( [imgNUMER] ) Zwykły tag. Umieszczone w nawiasach kwadratowych liczby z przedrostkiem img wpisuje się w oparciu o numery przypisane w engine do uploadu obrazkÛw. Opcje dotyczące wyświetlania samych obrazkÛw także ustawia się w adminie. Lista kodów HTML Poniższa tabela zawiera spis specjalnych znakÛw jakie można wstawiać w kod HTML. Większość z nich jest niedostępna z klawiatury, część Ŕ mimo że dostępna Ŕ w wersji wpisanej prosto z klawiatury (zamiast kodem) jest źle rozpoznawana przez kod HTML (np. ostre nawiasy zarezerwowane dla tagÛw xHTML). WśrÛd znakÛw znaleźć można sporo przydatnych Ŕ m.in. strzałki kierunkowe, symbole walut, ułamki. Każdy kod (Code) można wstawić na stronę HTML aby uzyskać dany efekt (Display As:). Każdy z kodÛw należy wpisywać razem z rozpoczynającym znakiem ampersand (&) oraz kończącym kod średnikiem (;). Wpisywanie kodÛw z efektem „non-printingŗ jest zabronione. Code Name 	 " or " & or &   ! " or " # $ % & or & ' ( ) * + , - . / : ; < or < = > or > ? @ [ \ ] ^ _ ` { | Horizontal tab Line feed Carriage Return quotation mark = APL quote ampersand Space Exclamation mark Quotation mark Number sign Dollar sign Percent sign Ampersand Apostrophe Left parenthesis Right parenthesis Asterisk Plus sign Comma Hyphen Period (fullstop) Solidus (slash) Colon Semi-colon Less than Equals sign Greater than Question mark Commercial at Left square bracket Reverse solidus (backslash) Right square bracket Caret Horizontal bar (underscore) Acute accent Left curly brace Vertical bar Displays As: non-printing non-printing non-printing " or " & or & non-printing ! " or " # $ % & or & ' ( ) * + , . / : ; < or < = > or > ? @ [ \ ] ^ _ ` { | Code } ~ Name Right curly brace Tilde ’ is non-standard! use ’ instead! &endash; or – are non-standard! use – instead! &emdash; or — are non-standard! use — instead!   or no-break space = non-breaking space ¡ or ¡ inverted exclamation mark ¢ or ¢ Cent sign £ or £ Pound sterling ¤ or ¤ General currency sign ¥ or ¥ yen sign = yuan sign ¦ or ¦ pipe or broken bar = broken vertical bar § or § Section sign ¨ or ¨ diaeresis = spacing diaeresis © or © copyright sign ª or ª feminine ordinal indicator « or « left-pointing double angle quotation mark = left pointing guillemet ¬ or ¬ not sign ­ or ­ soft hyphen = discretionary hyphen ® or ® registered sign = registered trade mark sign ¯ or ¯ macron = spacing macron = overline = APL overbar ° or ° degree sign ± or ± plus-minus sign = plus-or-minus sign ² or ² superscript two = superscript digit two = squared ³ or ³ superscript three = superscript digit three = cubed ´ or ´ acute accent = spacing acute µ or µ micro sign ¶ or ¶ pilcrow sign = paragraph sign · or · middle dot = Georgian comma = Greek middle dot ¸ or ¸ cedilla = spacing cedilla ¹ or ¹ superscript one = superscript digit one º or º masculine ordinal indicator right-pointing double angle quotation mark = right pointing » or » guillemet ¼ or ¼ vulgar fraction one quarter = fraction one quarter ½ or ½ vulgar fraction one half = fraction one half ¾ or ¾ vulgar fraction three quarters = fraction three quarters ¿ or ¿ inverted question mark = turned question mark À or À latin capital letter A with grave = latin capital letter A grave Á or Á latin capital letter A with acute  or  latin capital letter A with circumflex à or à latin capital letter A with tilde Ä or Ä latin capital letter A with diaeresis Å or Å latin capital letter A with ring above = latin capital letter A ring Æ or Æ latin capital letter AE = latin capital ligature AE Ç or Ç latin capital letter C with cedilla È or È latin capital letter E with grave É or É latin capital letter E with acute Ê or Ê latin capital letter E with circumflex Displays As: } ~ ¡ æ ç ¤ ø ¦ è ð í ª « ¬ ì ¯ å õ ² ³ ï ù ê · ¸ ¹ º or or or or or or or or or or or or or or or or or or or or or or or or or or or ¡ æ ç ¤ ø ¦ è ð í ª « ¬ ì ¯ å õ ² ³ ï ù ê · ¸ ¹ º » or » µ or ´ or ¶ or ¿ or À or Á or  or à or Ä or Å or ò or Æ or È or Ç or Ê or µ ´ ¶ ¿ À Á Â Ã Ä Å ò Æ È Ç Ê Code Name Ë or Ë Ì or Ì Í or Í Î or Î Ï or Ï Ð or Ð Ñ or Ñ Ò or Ò Ó or Ó Ô or Ô Õ or Õ Ö or Ö × or × Ø or Ø Ù or Ù Ú or Ú Û or Û Ü or Ü Ý or Ý Þ or Þ ß or ß ß or ß à or à á or á â or â ã or ã ä or ä å or å æ or æ ç or ç è or è é or é ê or ê ë or ë ì or ì í or í î or î ï or ï ð or ð ñ or ñ ò or ò ó or ó ô or ô õ or õ ö or ö ÷ or ÷ ø or ø ù or ù ú or ú latin capital letter E with diaeresis latin capital letter I with grave latin capital letter I with acute latin capital letter I with circumflex latin capital letter I with diaeresis latin capital letter ETH latin capital letter N with tilde latin capital letter O with grave latin capital letter O with acute latin capital letter O with circumflex latin capital letter O with tilde latin capital letter O with diaeresis multiplication sign latin capital letter O with stroke = latin capital letter O slash latin capital letter U with grave latin capital letter U with acute latin capital letter U with circumflex latin capital letter U with diaeresis latin capital letter Y with acute latin capital letter THORN Small sharp s, German (sz ligature) latin small letter sharp s = ess-zed latin small letter a with grave = latin small letter a grave latin small letter a with acute latin small letter a with circumflex latin small letter a with tilde latin small letter a with diaeresis latin small letter a with ring above = latin small letter a ring latin small letter ae = latin small ligature ae latin small letter c with cedilla latin small letter e with grave latin small letter e with acute latin small letter e with circumflex latin small letter e with diaeresis latin small letter i with grave latin small letter i with acute latin small letter i with circumflex latin small letter i with diaeresis latin small letter eth latin small letter n with tilde latin small letter o with grave latin small letter o with acute latin small letter o with circumflex latin small letter o with tilde latin small letter o with diaeresis division sign latin small letter o with stroke, = latin small letter o slash latin small letter u with grave latin small letter u with acute Displays As: Ë or Ë Ð or Ð Í or Í Î or Î Ï or Ï Ð or Ð È or È Ó or Ó Ñ or Ñ Ò or Ò Õ or Õ É or É × or × ó or ó Ö or Ö Ô or Ô Õ or Õ Ê or Ê Ý or Ý Þ or Þ ë or ë ë or ë Ì or Ì Ë or Ë Í or Í Ï or Ï Î or Î Ð or Ð æ or æ Ñ or Ñ Ó or Ó Ò or Ò Ô or Ô Õ or Õ × or × Ö or Ö Ø or Ø Ù or Ù ð or ð Ú or Ú Ü or Ü Û or Û Ý or Ý ß or ß Þ or Þ Ś or Ś ø or ø á or á à or à Code Name û or û ü or ü ý or ý þ or þ ÿ or ÿ Œ or Œ œ or œ Š or Š š or š Ÿ or Ÿ ƒ or ƒ ˆ or ˆ ˜ or ˜ Α or Α Β or Β Γ or Γ Δ or Δ Ε or Ε Ζ or Ζ Η or Η Θ or Θ Ι or Ι Κ or Κ Λ or Λ Μ or Μ Ν or Ν Ξ or Ξ Ο or Ο Π or Π Ρ or Ρ Σ or Σ Τ or Τ Υ or Υ Φ or Φ Χ or Χ Ψ or Ψ Ω or Ω α or α β or β γ or γ δ or δ ε or ε ζ or ζ η or η θ or θ ι or ι κ or κ λ or λ μ or μ latin small letter u with circumflex latin small letter u with diaeresis latin small letter y with acute latin small letter thorn Small y, dieresis or umlaut mark latin capital ligature OE latin small ligature oe latin capital letter S with caron latin small letter s with caron latin capital letter Y with diaeresis latin small f with hook = function = florin modifier letter circumflex accent small tilde greek capital letter alpha greek capital letter beta greek capital letter gamma greek capital letter delta greek capital letter epsilon greek capital letter zeta greek capital letter eta greek capital letter theta greek capital letter iota greek capital letter kappa greek capital letter lambda greek capital letter mu greek capital letter nu greek capital letter xi greek capital letter omicron greek capital letter pi greek capital letter rho greek capital letter sigma greek capital letter tau greek capital letter upsilon greek capital letter phi greek capital letter chi greek capital letter psi greek capital letter omega greek small letter alpha greek small letter beta greek small letter gamma greek small letter delta greek small letter epsilon greek small letter zeta greek small letter eta greek small letter theta greek small letter iota greek small letter kappa greek small letter lambda greek small letter mu Displays As: â or â ã or ã ý or ý þ or þ Ŝ or Ŝ Œ or Œ œ or œ Š or Š š or š Ÿ or Ÿ ƒ or ƒ ˆ or ˆ ˜ or ˜ Α or Α Β or Β Γ or Γ Γ or Γ Δ or Δ Ε or Ε Ζ or Ζ Θ or Θ Η or Η Θ or Θ Ι or Ι Κ or Κ Λ or Λ Μ Ν or Ν Ξ or Ξ Ο or Ο Π or Π Ρ or Ρ or Φ or Φ Σ or Σ Τ or Τ Υ or Υ α or α β or β γ or γ δ or δ ε or ε δ or δ ε or ε ζ or ζ η or η θ or θ ι or ι κ or κ Code Name ν or ν ξ or ξ ο or ο π or π ρ or ρ ς or ς σ or σ τ or τ υ or υ φ or φ χ or χ ψ or ψ ω or ω ϑ or ϑ greek small letter nu greek small letter xi greek small letter omicron greek small letter pi greek small letter rho greek small letter final sigma greek small letter sigma greek small letter tau greek small letter upsilon greek small letter phi greek small letter chi greek small letter psi greek small letter omega Displays As: λ or λ μ ν or ν π or π ξ or ξ ο or ο ζ or ζ η or η π or π θ or θ ρ or ρ ς or ς σ or σ greek small letter theta symbol ϑ or ϑ ϒ or ϒ greek upsilon with hook symbol ϒ or ϒ ϖ or ϖ greek pi symbol   or     or   en space em space ϖ or ϖ or or   or   thin space or ‌ or ‌ ‍ or ‍ ‎ or ‎ ‏ or ‏ – or – — or — ‘ or ‘ ’ or ’ ‚ or ‚ “ or “ ” or ” „ or „ † or † ‡ or ‡ • or • … or … ‰ or ‰ ′ or ′ ″ or ″ ‹ or ‹ › or › ‾ or ‾ ⁄ or ⁄ € or € zero width non-joiner zero width joiner left-to-right mark right-to-left mark en dash em dash left single quotation mark right single quotation mark single low-9 quotation mark left double quotation mark right double quotation mark double low-9 quotation mark dagger double dagger bullet = black small circle horizontal ellipsis = three dot leader per mille sign prime = minutes = feet double prime = seconds = inches single left-pointing angle quotation mark single right-pointing angle quotation mark overline = spacing overscore fraction slash euro sign or or ℑ or ℑ blackletter capital I = imaginary part ℑ or ℑ ℘ or ℘ script capital P = power set = Weierstrass p ℘ or ℘ ℜ or ℜ blackletter capital R = real part symbol ™ or ™ trade mark sign ℜ or ℜ î or î Ŕ or ŕ or Ř or ř or ‚ or Ŗ or ŗ or „ or ä or ‡ or é or … or ‰ or ′ or ″ or ‹ or › or ‾ or ⁄ or € or Ŕ ŕ Ř ř ‚ Ŗ ŗ „ ä ‡ é … ‰ ′ ″ ‹ › ‾ ⁄ € Code ℵ or ℵ ← or ← ↑ or ↑ → or → ↓ or ↓ ↔ or ↔ Name Displays As: alef symbol = first transfinite cardinal ℵ or ℵ leftwards arrow upwards arrow rightwards arrow downwards arrow left right arrow ← ↑ → ↓ ↔ or or or or or ← ↑ → ↓ ↔ ↵ or ↵ downwards arrow with corner leftwards = carriage return ↵ or ↵ ⇐ or ⇐ leftwards double arrow ⇐ or ⇐ ⇑ or ⇑ upwards double arrow ⇑ or ⇑ ⇒ or ⇒ ⇒ or ⇒ rightwards double arrow ⇓ or ⇓ downwards double arrow ⇔ or ⇔ ∀ or ∀ ∂ or ∂ ∃ or ∃ left right double arrow for all partial differential there exists ∅ or ∅ empty set = null set = diameter ∇ or ∇ ∈ or ∈ nabla = backward difference element of ∉ or ∉ not an element of ∋ or ∋ ∏ or ∏ ∑ or ∑ − or − contains as member n-ary product = product sign n-ary sumation minus sign ∗ or ∗ asterisk operator √ or √ ∝ or ∝ ∞ or ∞ ∠ or ∠ ∧ or ∧ ∨ or ∨ ∩ or ∩ ∪ or ∪ ∫ or ∫ ∴ or ∴ ∼ or ∼ square root = radical sign proportional to infinity angle logical and = wedge logical or = vee intersection = cap union = cup integral therefore tilde operator = varies with = similar to ≅ or ≅ approximately equal to ≈ or ≈ ≠ or ≠ ≡ or ≡ ≤ or ≤ ≥ or ≥ ⊂ or ⊂ ⊃ or ⊃ almost equal to = asymptotic to not equal to identical to less-than or equal to greater-than or equal to subset of superset of ⊄ or ⊄ not a subset of ⊆ or ⊆ ⊇ or ⊇ subset of or equal to superset of or equal to ⇓ or ⇔ or ∀ or ú or ∃ or ⇓ ⇔ ∀ ú ∃ ∅ or ∅ ∇ or ∇ ∈ or ∈ ∉ ∋ ü û − or or or or or ∉ ∋ ü û − ∗ √ ∝ ô ∠ ∧ ∨ ∩ ∪ ∫ ∴ ∼ or or or or or or or or or or or or ∗ √ ∝ ô ∠ ∧ ∨ ∩ ∪ ∫ ∴ ∼ ≅ ≈ ñ ≡ ö ÷ ⊂ ⊃ or or or or or or or or ≅ ≈ ñ ≡ ö ÷ ⊂ ⊃ ⊄ or ⊄ ⊆ or ⊆ ⊇ or ⊇ Displays As: ⊕ or ⊕ Code Name ⊕ or ⊕ circled plus = direct sum ⊗ or ⊗ circled times = vector product ⊥ or ⊥ up tack = orthogonal to = perpendicular ⊗ or ⊗ ⊥ or ⊥ ⋅ or ⋅ dot operator ⋅ or ⋅ ⌈ or ⌈ left ceiling = apl upstile ⌈ or ⌈ ⌉ or ⌉ right ceiling ⌉ or ⌉ ⌊ or ⌊ left floor = apl downstile ⌊ or ⌊ ⌋ or ⌋ right floor ⌋ or ⌋ 〈 or ⟨ left-pointing angle bracket = bra 〈 or 〈 〉 or ⟩ right-pointing angle bracket = ket 〉 or 〉 ◊ or ◊ ♠ or ♠ ♣ or ♣ ♥ or ♥ ♦ or ♦ lozenge black spade suit black club suit = shamrock black heart suit = valentine black diamond suit ś ♠ ♣ ♥ ♦ or ś or ♠ or ♣ or ♥ or ♦