1: <?php
2:
3: namespace Charcoal\Cms;
4:
5: // From 'charcoal-translator'
6: use Charcoal\Translator\Translation;
7:
8: /**
9: *
10: */
11: interface MetatagInterface
12: {
13: /**
14: * @return string
15: */
16: public function canonicalUrl();
17:
18: /**
19: * @return Translation|string|null
20: */
21: public function defaultMetaTitle();
22:
23: /**
24: * @return Translation|string|null
25: */
26: public function defaultMetaDescription();
27:
28: /**
29: * @return Translation|string|null
30: */
31: public function defaultMetaImage();
32:
33: /**
34: * @param mixed $title The meta title (localized).
35: * @return self
36: */
37: public function setMetaTitle($title);
38:
39: /**
40: * @return Translation|string|null
41: */
42: public function metaTitle();
43:
44: /**
45: * @param mixed $description The meta description (localized).
46: * @return self
47: */
48: public function setMetaDescription($description);
49:
50: /**
51: * @return Translation|string|null
52: */
53: public function metaDescription();
54:
55: /**
56: * @param mixed $image The meta image (localized).
57: * @return self
58: */
59: public function setMetaImage($image);
60:
61: /**
62: * @return Translation|string|null
63: */
64: public function metaImage();
65:
66: /**
67: * @param mixed $author The meta author (localized).
68: * @return self
69: */
70: public function setMetaAuthor($author);
71:
72: /**
73: * @return Translation|string|null
74: */
75: public function metaAuthor();
76:
77: /**
78: * @return string
79: */
80: public function metaTags();
81:
82: /**
83: * @param string $appId The facebook App ID (numeric string).
84: * @return self
85: */
86: public function setFacebookAppId($appId);
87:
88: /**
89: * @return string
90: */
91: public function facebookAppId();
92:
93: /**
94: * @param mixed $title The opengraph title (localized).
95: * @return self
96: */
97: public function setOpengraphTitle($title);
98:
99: /**
100: * @return Translation|string|null
101: */
102: public function opengraphTitle();
103:
104: /**
105: * @param mixed $siteName The opengraph site name (localized).
106: * @return self
107: */
108: public function setOpengraphSiteName($siteName);
109:
110: /**
111: * @return Translation|string|null
112: */
113: public function opengraphSiteName();
114:
115: /**
116: * @param mixed $description The opengraph description (localized).
117: * @return self
118: */
119: public function setOpengraphDescription($description);
120:
121: /**
122: * @return Translation|string|null
123: */
124: public function opengraphDescription();
125:
126: /**
127: * @param string $type The opengraph type.
128: * @return self
129: */
130: public function setOpengraphType($type);
131:
132: /**
133: * @return string
134: */
135: public function opengraphType();
136:
137: /**
138: * @param mixed $image The opengraph image (localized).
139: * @return self
140: */
141: public function setOpengraphImage($image);
142:
143: /**
144: * @return Translation|string|null
145: */
146: public function opengraphImage();
147:
148: /**
149: * @param mixed $author The opengraph author (localized).
150: * @return self
151: */
152: public function setOpengraphAuthor($author);
153:
154: /**
155: * @return Translation|string|null
156: */
157: public function opengraphAuthor();
158:
159: /**
160: * @param mixed $publisher The opengraph publisher (localized).
161: * @return MetatagInterface
162: */
163: public function setOpengraphPulisher($publisher);
164:
165: /**
166: * @return Translation|string|null
167: */
168: public function opengraphPublisher();
169:
170: /**
171: * @return string
172: */
173: public function opengraphTags();
174: }
175: