indie-config-ja
indie-config ã¯ãããªãã®IndieWebãµã€ããWebãã©ãŠã¶ã«èªèãããããã®èšå®æ¹æ³ã§ããããã«ãããä»ã®ãµã€ãã«ããwebactionsïŒè¿ä¿¡ãããããã¿ã³ãªã©ïŒããã©ãŠã¶ãèªèãããããã®ã¢ã¯ã·ã§ã³ã®åŠçãããªãã®ãµã€ãã«å§ä»»ã§ããããã«ãªããŸããindie-configã¯ããããã³ã«ãã³ãã©ãšpostmessageã䜿çšããŠãã®æ©èœãå®è£ ããŠããŸãã
indie-config ãš indie-action ã®éãïŒ
- indie-config ã¯ãèªèº«ã®ããŒã ããŒãžã«èšå®ãããã®ã§ããããã«ãããããªããä»ã®ãµã€ãã§Webã¢ã¯ã·ã§ã³ãã¿ã³ãã¯ãªãã¯ããéãèªåã®å人ãµã€ãã§ãã®ã¢ã¯ã·ã§ã³ãåŠçã§ããããã«ãªããŸãã
<indie-action>ã¯ãèªåã®æçš¿ã®ããŒããªã³ã¯ã«è¿ä¿¡ãããããªã©ã®ãã¿ã³ãšããŠäœ¿çšããããŒã¯ã¢ããã§ããããã«ãããä»ã®ãŠãŒã¶ãŒãããããã¯ãªãã¯ããéã圌ãèªèº«ã®ãµã€ãã§ã¢ã¯ã·ã§ã³ãåŠçã§ããããã«ãªããŸãã
indie-configã¯ãIndieWebCampUK 2014ã§å°å ¥ãè°è«ããããã¿ã€ãã®äœæãããã³ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãè¡ãããŸããã
2019幎çŸåšãiframeãä»ãã web+action ããªãã£ã«ã¯å®å šã«ã¯åäœããŠããŸããããããªãå®éšãæè¿ãããŠããŸãã
çç±
èªèº«ã®å人ãµã€ãã«indie-configãèšå®ããããšã§ãä»è ã®ãµã€ãã«ããweb actionïŒãè¿ä¿¡ããããæ°ã«å ¥ãããªã©ïŒã®ãªã³ã¯ããã¿ã³ãã¯ãªãã¯ããéããããã®ã¢ã¯ã·ã§ã³ãèªåçã«ãããªãã®ããµã€ãã®æçš¿ã€ã³ã¿ãŒãã§ãŒã¹ã§èµ·åãããããšãã§ããŸãã
èªèº«ã®æçš¿ã®ããŒããªã³ã¯ïŒããã³webactionsãèšçœ®ããŠãããã®ä»ã®å ŽæïŒã«indie-configã®èªã¿èŸŒã¿ã远å ããããšã§ããµã€ãã«indie-configãèšå®ããŠããIndieWebãŠãŒã¶ãŒããèªèº«ã®ãµã€ãã䜿ã£ãŠããªãã®æçš¿ã«å¯ŸããŠçŽ æ©ãããããããããªãã¹ããããè¿ä¿¡ããè¡ããããã«ãªããŸãã
Indie-configã¯ãWebäžã§ã®ã¢ã¯ã·ã§ã³ãå®è¡ããããã«äœ¿çšãããããŒã«ãããã©ãŠã¶ã«èªèãããæ¹æ³ã®æåã®å®çšçãªãããã¿ã€ãã§ãããŠãŒã¹ã±ãŒã¹ã蚌æãããããŒãæçããã«ã€ããŠããã©ãŠã¶èªäœã«çµã¿èŸŒãŸããããé©åãªææ³ã«åã£ãŠä»£ããããããšãæåŸ ãããŠããŸãã
ãã©ãŠã¶ã®ãµããŒãç¶æ³
- Firefoxã® ãã° 1196151 ãindie-configã®åäœã劚ããŠããŸãã ââ ããŒãžã§ã³78ã§ä¿®æ£æžã¿ã
- Chrome/iumã§ã¯æ£åžžã«åäœããŸã ââ 2019幎12æ22æ¥æç¹ã§ã¯ãCSPïŒã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒïŒéåã«ããiframeã®èªã¿èŸŒã¿ã劚ããããåäœããŸããã
å ¬éæ¹æ³
èªèº«ã®å人ãµã€ãã«indie-configãèšå®ããæ¹æ³ïŒ
èšå®ããŒãžã®äœæ
èªèº«ã®ã¿ãã¢ã¯ã»ã¹ããå¿ èŠã®ããããŒãžããµã€ãäžã«äœæããŸããäŸãã° "config.html" ã®ãããªããŒãžã§ãããã®ããŒãžã«ã¯ã以äžã®Javascriptãå«ããå¿ èŠããããŸãã
<script>
(function() {
if (window.parent !== window) {
window.parent.postMessage(JSON.stringify({
// è¿ä¿¡ãæžãããã«äœ¿çšãããšã³ããã€ã³ã
reply: 'https://aaronparecki.com/note.php?reply_to={url}'
}), '*');
}
}());
</script>
äžèšã®URLããããªãèªèº«ã®æçš¿ã€ã³ã¿ãŒãã§ãŒã¹ã®URLã«çœ®ãæããŠãã ããã
Webã¢ã¯ã·ã§ã³ãããã³ã«ã®ç»é²
ããŒã ããŒãžå ã§ãèªåã®ãµã€ãã«ãµã€ã³ã€ã³ããŠããæã«ã ãèªåèªèº«ã«è¡šç€ºãããå Žæã«ã以äžã®ã³ãŒãã远å ããŸãã
<script>
window.navigator.registerProtocolHandler('web+action', 'https://aaronparecki.com/config.html?handler=%s', 'Aaron Parecki');
</script>
URLïŒhttps://aaronparecki.com/config.htmlïŒãšååïŒ'Aaron Parecki'ïŒã¯ãèªèº«ã®æ
å ±ã«çœ®ãæããŠãã ãããURLã¯åã®ã¹ãããã§äœæããããŒãžã®ãã®ã«ããŸãã3çªç®ã®ãã©ã¡ãŒã¿ã«æå®ããããã¹ãã¯ãã©ãŠã¶ã®ããã³ããã«è¡šç€ºããããããããªãã®ååããµã€ãã®ãœãããŠã§ã¢åãªã©ã«ããã®ãé©åã§ãã
æå¹å
ããŒã ããŒãžã«ã¢ã¯ã»ã¹ãããšããµã€ãã« "web+action://" ãªã³ã¯ã®åŠçãèš±å¯ãããã©ãããå°ããããã³ããã衚瀺ãããŸãã
ãã¢ããªã±ãŒã·ã§ã³ã远å ãïŒãŸãã¯ãã©ãŠã¶ããšã®åæ§ã®ãã¿ã³ïŒãã¯ãªãã¯ãããšããŠã§ããµã€ãããã©ãŠã¶ãŸãã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ç»é²ãããŸãã
- Chromeã®å Žåãããã³ããã¯å°ãåããã«ããã§ããã¢ãã¬ã¹ããŒã®å³åŽã«å°ããªã²ã圢ã®ã¢ã€ã³ã³ã衚瀺ãããŸãããããã¯ãªãã¯ãããšã[example.com] ã«ãã¹ãŠã® web+action ãªã³ã¯ãéãããšãèš±å¯ããŸããïŒããšããããã³ããã衚瀺ããããèš±å¯ããæåŠããç¡èŠãã®ãã¿ã³ã衚瀺ãããŸãã
äŸ
å©ç𿹿³ïŒã³ã³ã·ã¥ãŒã ïŒ
indieconfig.js ã®ãããªindie-configããŒããŒãšãwebaction.js ã®ãã㪠webactions ã·ã ïŒshimïŒãå¿ èŠã§ãã
ãããããµã€ãã® head ã»ã¯ã·ã§ã³ã§èªã¿èŸŒã¿ãŸãã
<script type="text/javascript" src="https://indieweb.org/path/to/indieconfig.js"></script> <script type="text/javascript" src="https://indieweb.org/path/to/webaction.js"></script>
ããã§å®äºã§ãïŒWebã¢ã¯ã·ã§ã³ãindie-configã®èªã¿èŸŒã¿ãåŸ
æ©ããŠããããšã瀺ãããã«ã.indieconfig-loading ã¯ã©ã¹ã«ã¹ã¿ã€ã«ã远å ãããšè¯ãã§ãããã
äžèšã®äŸïŒPelleã®ããã° http://voxpelli.com/ ããïŒã®ã¹ã¯ãªããã¯ãããŒãžèªã¿èŸŒã¿åŸã®æåã®Webã¢ã¯ã·ã§ã³æäœæã«indie-configãèªã¿èŸŒã¿ãŸãã3ç§ã®ã¿ã€ã ã¢ãŠããèšå®ããŠãããèªã¿èŸŒããªãå Žåã¯ãã©ãŒã«ããã¯ãšããŠãwebactionsã¿ã°å
ã«ããæåã® <a> ã® href ãžãªãã€ã¬ã¯ãããŸãããã®ã¿ã€ã ã¢ãŠãã«ãããindie-configã䜿çšããŠããªããŠãŒã¶ãŒãäžå®æéåŸã«ãªãã€ã¬ã¯ããããŸããPelleã¯ããããŠãŒã¶ãŒã«äŒãããããWebã¢ã¯ã·ã§ã³ã®ã¢ã€ã³ã³ãã¢ãã¡ãŒã·ã§ã³ã«çœ®ãæããŠããŸãã
FAQ
æ¯å registerProtocolHandler ãå®è¡ããŠã倧äžå€«ã§ããïŒ
Q: ããŒã ããŒãžãèªã¿èŸŒããã³ã«ããããã³ã«ç»é²ã®åŠçãå®è¡ããŠãåé¡ãããŸãããïŒ
A: ã¯ããåé¡ãããŸããããã§ã«ç»é²æžã¿ã®ããŒãžã§ registerProtocolHandler() ãå®è¡ããŠãäœãèµ·ãããŸããããã¹ãŠãæ£ããç»é²ãããŠãããšèªèãããã ãã§ãã
èšå®æ å ±ã®ä»£ããã«ãè¿ä¿¡çšã®ã«ã¹ã¿ã ãã³ãã©ãçŽæ¥äœ¿ããªãã®ã¯ãªãã§ããïŒ
Q: ãªãã«ã¹ã¿ã ãã³ãã©ã¯ãè¿ä¿¡ãçŽæ¥åŠçããã«èšå®æ å ±ãè¿ãã®ã§ããïŒïŒäŸ: web+action://permalink ã http://example.com/reply?u=permalink ã§çŽæ¥åŠçãããªã©ïŒ
A: ãã³ãã©ãç»é²ãããŠããªãå Žåã®ãã©ãŒã«ããã¯ïŒä»£æ¿çïŒãæäŸã§ããªãããã§ãããã®å ŽåãããŒãžäžã® <a href="web+action://permalink">Reply</a> ãªã³ã¯ãã¯ãªãã¯ããŠãã©ãã«ãç¹ãããªããªã£ãŠããŸããŸãã
isProtocolHandlerRegistered ã«ã€ããŠ
Q: isProtocolHandlerRegistered ã䜿ã£ãŠãã³ãã©ãç»é²ãããŠããã確èªããç»é²ãããŠããå Žåã®ã¿ã«ã¹ã¿ã ãããã³ã«ã䜿ãããšã¯ã§ããŸãããïŒ
A: ãã®é¢æ°ã¯ååšããŸããïŒ ãŸãããã©ã€ãã·ãŒæŒæŽ©ã®å¯èœæ§ããããŸããäŸãã°ããµã€ãåŽã facebook: ã twitter: ãªã©ããã§ãã¯ããããšã§ãããªãã®ã¹ããã«ã©ã®ã¢ããªãã€ã³ã¹ããŒã«ãããŠãããã確èªã§ããŠããŸãããã§ãã
IndieWebã®å®è£ äŸ
Pelle Wessman
Pelle㯠http://voxpelli.com ã§ãindie-actionãåããŠã¯ãªãã¯ãããéã«ãŠãŒã¶ãŒã®ç»é²æžã¿ web+action ãã³ãã©ãç §äŒããJavaScriptãå ¬éããŠããŸããé©åãªã¢ã¯ã·ã§ã³ãã³ãã©ãèŠã€ãã£ãå Žåã圌ã®ãµã€ãã®ãè¿ä¿¡ãããæçš¿ããªã³ã¯ã¯ãããã©ã«ãã®æåã§ã¯ãªããã®ãã³ãã©ã䜿çšããŸãã
X-Tags ã©ã€ãã©ãªã䜿çšããã·ã³ãã«ãª ãã«ãŒãã»ãªãã»ã³ã³ã»ããïŒæŠå¿µå®èšŒïŒçšWebã³ã³ããŒãã³ã ãéã㊠<indie-action> ã¿ã°ãèšå®ããŠããŸããã
ãŸããPelle㯠IndieWebCamp NÃŒrnberg 2016 ã®æéäžã«ã誰ã§ãèªåçšã®indie-configãã»ããã¢ããã§ãã localStorageããŒã¹ã®å ¬éããŒã« ãäœæããŸããã
Barnaby Walters
IndieWebCamp UK 2014 ã§Pelleãšååããvoxpelli.comäžã®ãªã³ã¯ãã waterpigs.co.uk äžã®è¿ä¿¡ãªã³ã¯ãžãšèªå°ãããã¢ã³ã¹ãã¬ãŒã·ã§ã³ãè¡ããŸãããBarnabyã¯ãweb+action ãã³ãã©ãç»é²ããããã®éçãªããŒãžãèªèº«ã®ãµã€ãã«æã£ãŠããŸãïŒhttps://waterpigs.co.uk/indie-config.html
Kyle Mahan
- https://kylewm.com/test/indieconfig.html ã䜿çšããŠãè¿ä¿¡ããªãã¹ãããæ°ã«å ¥ãããããã®ã¢ã¯ã·ã§ã³ã«å¯Ÿããindie-configãã³ãã©ãç»é²ããŠããŸãã
- 2014-02-05ïŒVoxpelliã® indieconfig.js ãš webaction.js ã远å ããŸãããããã«ãããindie-configãã³ãã©ãæã£ãŠãããŠãŒã¶ãŒã§ããã°èª°ã§ããè¿ä¿¡ããããããããªã³ã¯ãåäœããããã«ãªããŸãã
Malcolm Blaney
- dobrado ã¯ããŠãŒã¶ãŒã®ãã©ãŠã¶ã«ç»é²ããã web+action ãã³ãã©ã®ãµããŒããçµäºããŸããã代ããã«ããŠãŒã¶ãŒãURLãå ¥åããéã« rel="webaction" ãšã³ããã€ã³ããæ¢ãä»çµã¿ã«ãªã£ãŠããŸããååŸãããèšå®ã¯localStorageã«ä¿åãããŸãã
- indie-configãæ¡åŒµãã`status` ãªãã·ã§ã³ãæ¢ããŠãèŠã€ãã£ãå Žåã«CORSïŒãªãªãžã³éãªãœãŒã¹å ±æïŒã䜿çšããŠãªã¯ãšã¹ããå®è¡ããããã«ããŸãããïŒããã¬ã€ã³ã¹ããŒãã³ã°ããåç §ïŒ
ãã¬ã€ã³ã¹ããŒãã³ã°
ãªã¿ãŒã³ã«ãŒãïŒReturn RouteïŒ
ã¢ã¯ã·ã§ã³å®äºåŸã«æ»ãããã®URLãåŒæ°ãšããŠæãŠããšäŸ¿å©ã§ããããããã°ããããã¢ãããå¿ èŠãšãããäžã€ã®ãŠã£ã³ããŠã§ãã¹ãŠãå®çµãããããšãã§ããŸãã
ã¹ããŒã¿ã¹ãªãã·ã§ã³ïŒStatus OptionïŒ
Malcolm ã¯2015-10-22ã«ãèªèº«ã®å®è£ ã« `status` ãªãã·ã§ã³ã远å ããŸããã
ãã®ã¢ã€ãã¢ã¯ãindie-configãCORSçµç±ã§ãŠãŒã¶ãŒã®ãµã€ãã«ãªã¯ãšã¹ããè¿ããã¿ãŒã²ããã®ç¶æ ãè¿ããããšãããã®ã§ãããã®ãŠãŒã¶ãŒãšã¿ãŒã²ããURLã®çµã¿åããã«å¯ŸããŠããŠãŒã¶ãŒã®ãµã€ããææ¡ããŠãããã¹ãŠã®ã¢ã¯ã·ã§ã³ã®ç¶æ ãè¿ãã¹ãã§ããç¶æ ã¯JSONïŒäŸ: `{ "like": true, "follow": true }` ãªã©ïŒã§æäŸãããŸãã`false` ã®å€ã¯æé»çã«ç€ºããããããçç¥å¯èœã§ãã
åŒã³åºãåŽã®ãµã€ãã¯ãã®æ å ±ãåãåããšãåã¢ã¯ã·ã§ã³ã®è¡šç€ºã奜ããªããã«ããŒã¯ã¢ããã§ããŸããäŸãã°ãã¢ã¯ã·ã§ã³ã« "highlight" ã®ãããªã¯ã©ã¹åã远å ãããããªã³ã¯ã®ããã¹ãã "follow" ãã "following"ïŒãã©ããŒäžïŒã«å€æŽãããã§ããŸãã
- äžè¬çã«ãããã¯è峿·±ãã¢ãããŒãã ãšæããŸãããã ããŠãŒã¶ãŒããµã€ãäžã§äœã®ã¢ã¯ã·ã§ã³ãèµ·ããåã«ã¹ããŒã¿ã¹ãåãåããããšããµã€ããžã®ã¢ã¯ã»ã¹èš±å¯ãæ±ããããã³ããããããªã衚瀺ãããå¯èœæ§ããããå°ãç ©ãããæãããããããŸããã --Kodfabrik.se 2015幎10æ22æ¥ 00:52 (PDT)
- æšæºçãªindie-configã®åå€ã«å¯ŸããŠãäŸãã°
{ "follow-status": "http://example.com/follow-status" }ã®ãããªæå®ãïŒåç¬ãŸãã¯è¿œå ã§ïŒèš±å¯ã§ãããšè¯ãã§ããããå°ãªããšãããã©ããŒç¶æ ã㯠indie-reader ã ããç¥ã£ãŠããæ å ±ãããããŸããããããããç¶æ ãã«ã€ããŠã¯indie-readerã¯äœãç¥ããªãå¯èœæ§ãããããã§ãã --Kodfabrik.se 2015幎10æ22æ¥ 00:52 (PDT) - è€æ°ã®URLã®ã¹ããŒã¿ã¹ãäžåºŠã«ç §äŒã§ãããšäŸ¿å©ãããããŸãããããããã°ãæ°åã®åŒã³åºãã ãã§ãã£ãŒãå ã®ãã¹ãŠã® webactions ã®ç¶æ ã衚瀺ã§ããŸãã --Kodfabrik.se 2015幎10æ22æ¥ 01:41 (PDT)
- ãaction-statusãïŒã€ãŸã "follow-status"ã"like-status" ãªã©ïŒã®ãµããŒãã远å ããŸããããç§èªèº«ã¯æ±çšçãªãã©ãŒã«ããã¯ãªãã·ã§ã³ã§ãã "status" ã®ã¿ã䜿çšããŠããŸãããŸãã`url[]=target1&url[]=target2...` ãšãã圢åŒã§è€æ°URLã®ç §äŒãå¯èœã«ããŸãããJSONã¬ã¹ãã³ã¹ã¯ãäŸãã° `{ "target1": { "like": true }, "target2": { "reply": true } }` ã®ããã«è¿ãããã¹ãã§ããã¹ããŒã¿ã¹æ å ±ããªãã¿ãŒã²ããããç¶æ ã `false` ã®ã¢ã¯ã·ã§ã³ã¯çç¥å¯èœã§ãã --Malcolm 2015幎10æ27æ¥