diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 7e16fb1b2..f6ebe90f9 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -22,8 +22,8 @@ the tests are implemented. If you are unsure how to write tests, please `contact me`_ and I'll be happy to help. -Check that the tests run ------------------------- +Check that the tests pass +------------------------- Check that the Jasmine tests complete sucessfully. Open tests.html in your browser, and the tests will run automatically. diff --git a/docs/doctrees/environment.pickle b/docs/doctrees/environment.pickle index 55c1cb816..1ae06e0b8 100644 Binary files a/docs/doctrees/environment.pickle and b/docs/doctrees/environment.pickle differ diff --git a/docs/doctrees/index.doctree b/docs/doctrees/index.doctree index 694040bed..afc90b3a9 100644 Binary files a/docs/doctrees/index.doctree and b/docs/doctrees/index.doctree differ diff --git a/docs/html/_sources/index.txt b/docs/html/_sources/index.txt index 075ac1463..1de2bc76e 100644 --- a/docs/html/_sources/index.txt +++ b/docs/html/_sources/index.txt @@ -265,6 +265,52 @@ for an example of how and in what order all the Javascript files that converse.j depends on need to be loaded. +Before submitting a pull request +================================ + +Add tests for your bugfix or feature +------------------------------------ + +Add a test for any bug fixed or feature added. We use Jasmine +for testing. + +Take a look at ``tests.html`` and ``spec/MainSpec.js`` to see how +the tests are implemented. + +If you are unsure how to write tests, please +`contact me `_ and I'll be happy to help. + +Check that the tests pass +------------------------- + +Check that the Jasmine tests complete sucessfully. Open +`tests.html `_ +in your browser, and the tests will run automatically. + +On the command line you can run: + +:: + + grunt test + +Check your code for errors or bad habits by running JSHint +---------------------------------------------------------- + +`JSHint `_ will do a static analysis of your code and hightlight potential errors +and/or bad habits. + +:: + + grunt jshint + + +You can run both the tests and jshint in one go by calling: + +:: + + grunt check + + ============= Configuration ============= diff --git a/docs/html/index.html b/docs/html/index.html index 051cd838d..3bccd23e0 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -84,29 +84,35 @@
  • Install 3rd party dependencies
  • With AMD and require.js (recommended)
  • Without AMD and require.js
  • - - -
  • Configuration
      -
    • Configuration variables
    • -
    • Minification
      @@ -295,9 +301,40 @@ to use it this way, please refer to for an example of how and in what order all the Javascript files that converse.js depends on need to be loaded.

      +
      +

      Before submitting a pull request

      +
      +

      Add tests for your bugfix or feature

      +

      Add a test for any bug fixed or feature added. We use Jasmine +for testing.

      +

      Take a look at tests.html and spec/MainSpec.js to see how +the tests are implemented.

      +

      If you are unsure how to write tests, please +contact me and I’ll be happy to help.

      +
      +
      +

      Check that the tests pass

      +

      Check that the Jasmine tests complete sucessfully. Open +tests.html +in your browser, and the tests will run automatically.

      +

      On the command line you can run:

      +
      grunt test
      +
      +
      +
      +

      Check your code for errors or bad habits by running JSHint

      +

      JSHint will do a static analysis of your code and hightlight potential errors +and/or bad habits.

      +
      grunt jshint
      +
      +

      You can run both the tests and jshint in one go by calling:

      +
      grunt check
      +
      +
      +
      -

      Configuration

      +

      Configuration

      The included minified JS and CSS files can be used for demoing or testing, but you’ll want to configure Converse.js to suit your needs before you deploy it on your website.

      @@ -311,14 +348,14 @@ all the available configuration settings.

      JS file so that it will include the new settings. Please refer to the Minification section for more info on how to do this.

      -

      Configuration variables

      +

      Configuration variables

      -

      animate

      +

      animate

      Default = True

      Show animations, for example when opening and closing chat boxes.

      -

      auto_list_rooms

      +

      auto_list_rooms

      Default = False

      If true, and the XMPP server on which the current user is logged in supports multi-user chat, then a list of rooms on that server will be fetched.

      @@ -328,30 +365,30 @@ features, number of occupants etc.), so on servers with many rooms this option will create lots of extra connection traffic.

      -

      auto_subscribe

      +

      auto_subscribe

      Default = False

      If true, the user will automatically subscribe back to any contact requests.

      -

      bosh_service_url

      +

      bosh_service_url

      Connections to an XMPP server depend on a BOSH connection manager which acts as a middle man between HTTP and XMPP.

      See here for more information.

      -

      fullname

      +

      fullname

      If you are using prebinding, you need to specify the fullname of the currently logged in user.

      -

      hide_muc_server

      +

      hide_muc_server

      Default = False

      Hide the server input field of the form inside the Room panel of the controlbox. Useful if you want to restrict users to a specific XMPP server of your choosing.

      -

      prebind

      +

      prebind

      Default = False

      Use this option when you want to attach to an existing XMPP connection that was already authenticated (usually on the backend before page load).

      @@ -372,7 +409,7 @@ have to write a Javascript snippet to attach to the set up connection:

      RID (Request ID), which you use when you attach to the connection.

      -

      show_controlbox_by_default

      +

      show_controlbox_by_default

      Default = False

      The “controlbox” refers to the special chatbox containing your contacts roster, status widget, chatrooms and other controls.

      @@ -382,7 +419,7 @@ the page with class toggle-online-users.

      page load.

      -

      Minification

      +

      Minification

      -

      Minifying Javascript

      +

      Minifying Javascript

      We use require.js to keep track of Converse.js and its dependencies and to to bundle them together in a single minified file fit for deployment to a production site.

      @@ -413,14 +450,14 @@ manager, NPM.

      You can read more about require.js’s optimizer here.

      -

      Minifying CSS

      +

      Minifying CSS

      CSS can be minimized with Yahoo’s yuicompressor tool:

      yui-compressor --type=css converse.css -o converse.min.css
      -

      Translations

      +

      Translations

      Note

      Translations take up a lot of space and will bloat your minified file. diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js index 1a89290d6..3dfd5b2eb 100644 --- a/docs/html/searchindex.js +++ b/docs/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{all:0,code:0,partial:0,queri:0,webchat:0,follow:0,middl:0,depend:0,sensit:0,sorri:0,those:0,under:0,string:0,fals:0,mechan:0,jack:0,veri:0,list:0,pleas:0,prevent:0,past:0,second:0,pass:0,download:0,further:0,fullnam:0,click:0,even:0,index:0,what:0,hide:0,section:0,current:0,version:0,"new":0,net:0,"public":0,widget:0,gener:0,here:0,bodi:0,let:0,valu:0,box:0,convert:0,convers:0,mysit:0,reason:0,fetch:0,implement:0,via:0,extra:0,apach:0,prefer:0,ask:0,href:0,org:0,auto_list_room:0,instal:0,from:0,zip:0,commun:0,doubl:0,two:0,websit:0,stylesheet:0,call:0,recommend:0,type:0,until:0,tightli:0,more:0,yahoo:0,site:0,must:0,room:0,setup:[],work:0,xhr:0,can:0,lc_messag:0,purpos:0,root:0,blogpost:0,control:0,quickstart:0,share:0,templat:0,tag:0,proprietari:0,explor:0,onlin:0,occup:0,end:0,goal:0,write:0,how:0,sid:0,instead:0,css:0,updat:0,npm:0,regener:0,product:0,resourc:0,after:0,usabl:0,befor:0,callback:0,underscor:0,data:0,demonstr:0,man:0,practic:0,bind:0,show_controlbox_by_default:0,django:0,caus:0,inform:0,media:0,order:0,chatbox:0,xmpp:0,over:0,becaus:0,through:0,streamlin:0,snippet:0,jid:0,directli:0,fit:0,pend:0,hidden:0,therefor:0,might:0,them:0,anim:0,"return":0,thei:0,initi:0,front:0,now:0,introduct:0,name:0,edit:0,authent:0,token:0,ejabberd:0,each:0,side:0,mean:0,domain:0,individu:0,realli:0,legwork:0,connect:0,happen:0,extract:0,special:0,variabl:0,shown:0,"3rd":0,space:0,open:0,content:0,rel:0,internet:0,plural:0,factori:0,po2json:0,proxi:0,insid:0,standard:0,standalon:0,ajax:0,put:0,succesfulli:0,afterward:0,could:0,success:0,keep:0,yui:0,turn:0,first:0,origin:0,softwar:0,render:0,onc:0,hoop:0,lastnam:0,number:0,yourself:0,restrict:0,alreadi:0,done:0,owner:0,jabber:0,differ:0,script:0,top:0,messag:0,attach:0,attack:0,jed:0,luckili:0,option:0,tool:0,specifi:0,compressor:0,part:0,bower:0,grunt:0,than:0,serv:0,jump:0,kind:0,bloat:0,provid:0,remov:0,exampl:0,jqueri:[],bridg:0,toward:[],browser:0,pre:0,sai:[],saa:0,modern:0,ani:0,packag:0,have:0,tabl:0,need:0,moffitt:0,element:0,bosh_service_url:0,prebind:0,min:0,latter:0,note:0,also:0,without:0,build:0,which:0,singl:0,sure:0,roster:0,track:0,object:0,most:0,deploi:0,homepag:0,"class":0,don:0,url:0,request:0,face:0,runtim:0,pars:0,usual:0,xdomainrequest:0,show:0,german:0,text:0,session:0,fine:0,find:0,onli:0,exactli:0,locat:0,just:0,configur:0,solut:0,should:0,folder:0,local:0,meant:0,get:0,opkod:0,cannot:0,deploy:0,requir:0,enabl:0,emb:0,method:0,reload:0,integr:0,contain:0,where:0,set:0,stroph:0,see:0,close:0,statu:0,state:0,reus:0,between:0,experi:0,hide_muc_serv:0,attribut:0,kei:0,screen:0,javascript:0,conjunct:[],job:0,bosh:0,cor:0,instant:0,shortliv:0,conversej:0,etc:0,grain:0,mani:0,login:0,com:0,load:0,instanti:0,pot:0,backend:0,creat:0,rebuild:0,compon:0,json:0,much:0,besid:0,subscrib:0,msgmerg:0,great:0,minifi:0,togeth:0,i18n:0,present:0,multi:0,main:0,servic:0,plugin:0,defin:0,file:0,helper:0,demo:0,auto_subscrib:0,non:0,rid:0,develop:0,minim:0,receiv:0,parti:0,make:0,minif:0,cross:0,same:0,webpag:0,html:0,chatroom:0,signon:0,http:0,webserv:0,optim:0,upon:0,hand:0,"50kb":0,user:0,xhr_user_search:0,recent:0,stateless:0,markup:0,person:[],contact:0,command:0,wherebi:0,thi:0,choos:0,latest:0,plural_form:0,protocol:0,firstnam:0,languag:0,web:0,xmlhttprequest:0,had:0,add:0,valid:0,non_amd:0,input:0,yuicompressor:0,match:0,take:0,applic:0,format:0,read:0,amd:0,nginx:0,traffic:0,xss:0,like:0,specif:0,server:0,benefit:0,necessari:0,either:0,page:0,deal:0,nplural:0,some:0,back:0,librari:0,bottom:0,though:0,overcom:0,refer:0,run:0,host:0,panel:0,src:0,about:0,obj:[],controlbox:0,unfortun:0,act:0,own:0,encod:0,automat:0,wrap:0,your:0,manag:0,log:0,wai:0,transfer:0,support:0,custom:0,avail:0,start:[],includ:0,lot:0,suit:0,"var":0,"function":0,head:0,properli:0,form:0,bundl:0,link:0,translat:0,synonym:0,line:0,inlin:0,"true":0,congratul:0,requirej:0,info:0,made:0,locale_data:0,possibl:0,"default":0,asynchron:0,below:0,toggl:0,otherwis:0,problem:0,expect:0,featur:0,onconnect:0,"100kb":[],exist:0,chat:0,want:0,when:0,detail:0,gettext:0,field:0,other:0,rememb:0,test:0,you:0,nice:0,node:0,intend:0,releas:0,stai:0,lang:0,longer:0,directori:0,getjson:0,time:0},objtypes:{},titles:["Quickstart (to get a demo up and running)"],objnames:{},filenames:["index"]}) \ No newline at end of file +Search.setIndex({objects:{},terms:{all:0,code:0,partial:0,queri:0,webchat:0,follow:0,middl:0,depend:0,sensit:0,sorri:0,specif:0,those:0,under:0,spec:0,string:0,fals:0,mechan:0,jack:0,veri:0,list:0,pleas:0,prevent:0,past:0,second:0,pass:0,download:0,further:0,fullnam:0,click:0,even:0,index:0,what:0,hide:0,section:0,current:0,version:0,"new":0,net:0,method:0,widget:0,gener:0,here:0,bodi:0,let:0,valu:0,box:0,convert:0,convers:0,mysit:0,ajax:0,fetch:0,implement:0,via:0,extra:0,solut:0,prefer:0,put:0,href:0,succesfulli:0,auto_list_room:0,instal:0,from:0,zip:0,commun:0,doubl:0,two:0,websit:0,stylesheet:0,call:0,recommend:0,type:0,until:0,tightli:0,more:0,yahoo:0,must:0,room:0,setup:[],work:0,xhr:0,can:0,lc_messag:0,purpos:0,root:0,blogpost:0,control:0,quickstart:0,share:0,templat:0,tag:0,proprietari:0,explor:0,onlin:0,occup:0,end:0,goal:0,snippet:0,how:0,sid:0,roster:0,instead:0,css:0,updat:0,npm:0,regener:0,product:0,resourc:0,after:0,usabl:0,befor:0,callback:0,underscor:0,data:0,demonstr:0,man:0,practic:0,bind:0,show_controlbox_by_default:0,element:0,caus:0,inform:0,parti:0,order:0,help:0,chatbox:0,xmpp:0,over:0,becaus:0,through:0,streamlin:0,write:0,jid:0,directli:0,fit:0,fix:0,pend:0,hidden:0,therefor:0,might:0,them:0,anim:0,"return":0,thei:0,initi:0,front:0,now:0,introduct:0,name:0,edit:0,authent:0,token:0,ejabberd:0,each:0,side:0,mean:0,domain:0,individu:0,realli:0,legwork:0,connect:0,happen:0,extract:0,special:0,variabl:0,shown:0,"3rd":0,space:0,open:0,content:0,rel:0,internet:0,plural:0,factori:0,po2json:0,proxi:0,insid:0,standard:0,standalon:0,reason:0,ask:0,org:0,afterward:0,could:0,keep:0,yui:0,turn:0,first:0,origin:0,softwar:0,render:0,onc:0,hoop:0,lastnam:0,number:0,yourself:0,restrict:0,alreadi:0,done:0,owner:0,custom:0,jabber:0,differ:0,script:0,top:0,messag:0,attach:0,attack:0,jed:0,luckili:0,option:0,tool:0,specifi:0,compressor:0,part:0,bower:0,grunt:0,than:0,serv:0,jump:0,kind:0,bloat:0,provid:0,remov:0,exampl:0,jqueri:[],reus:0,toward:[],browser:0,pre:0,"function":0,sai:[],saa:0,modern:0,ani:0,packag:0,have:0,tabl:0,need:0,moffitt:0,django:0,bosh_service_url:0,prebind:0,min:0,latter:0,note:0,also:0,without:0,build:0,which:0,singl:0,sure:0,though:0,track:0,object:0,most:0,deploi:0,homepag:0,"class":0,don:0,url:0,request:0,face:0,runtim:0,pars:0,latest:0,xdomainrequest:0,show:0,german:0,text:0,session:0,fine:0,find:0,onli:0,exactli:0,locat:0,firstnam:0,configur:0,apach:0,should:0,folder:0,local:0,meant:0,get:0,opkod:0,cannot:0,requir:0,enabl:0,emb:0,mainspec:0,"public":0,reload:0,bad:0,integr:0,contain:0,where:0,set:0,habit:0,stroph:0,see:0,close:0,statu:0,state:0,bridg:0,between:0,experi:0,jasmin:0,hide_muc_serv:0,attribut:0,kei:0,screen:0,javascript:0,conjunct:[],job:0,bosh:0,otherwis:0,both:0,cor:0,instant:0,shortliv:0,conversej:0,etc:0,grain:0,mani:0,login:0,com:0,load:0,instanti:0,pot:0,non:0,backend:0,sucessfulli:0,rebuild:0,compon:0,json:0,much:0,besid:0,subscrib:0,msgmerg:0,great:0,minifi:0,togeth:0,i18n:0,present:0,multi:0,main:0,look:0,servic:0,plugin:0,defin:0,error:0,hightlight:0,chat:0,helper:0,demo:0,auto_subscrib:0,site:0,rid:0,develop:0,minim:0,receiv:0,media:0,make:0,minif:0,cross:0,same:0,read:0,html:0,chatroom:0,complet:0,signon:0,http:0,webserv:0,optim:0,upon:0,hand:0,"50kb":0,user:0,xhr_user_search:0,recent:0,stateless:0,markup:0,person:[],contact:0,command:0,wherebi:0,thi:0,choos:0,usual:0,plural_form:0,protocol:0,just:0,jshint:0,languag:0,web:0,xmlhttprequest:0,had:0,onconnect:0,add:0,other:0,non_amd:0,input:0,yuicompressor:0,match:0,take:0,applic:0,format:0,webpag:0,amd:0,nginx:0,traffic:0,xss:0,like:0,success:0,server:0,benefit:0,necessari:0,either:0,page:0,deal:0,nplural:0,some:0,back:0,librari:0,bottom:0,deploy:0,unsur:0,overcom:0,refer:0,run:0,host:0,panel:0,src:0,about:0,obj:[],controlbox:0,unfortun:0,act:0,own:0,encod:0,automat:0,wrap:0,your:0,manag:0,log:0,wai:0,transfer:0,support:0,submit:0,happi:0,avail:0,start:[],includ:0,lot:0,suit:0,"var":0,analysi:0,head:0,properli:0,form:0,bundl:0,link:0,translat:0,synonym:0,line:0,inlin:0,"true":0,bug:0,congratul:0,longer:0,info:0,pull:0,made:0,locale_data:0,possibl:0,"default":0,bugfix:0,asynchron:0,below:0,toggl:0,"static":0,problem:0,expect:0,featur:0,creat:0,"100kb":[],exist:0,file:0,check:0,want:0,when:0,detail:0,gettext:0,field:0,valid:0,rememb:0,test:0,you:0,nice:0,node:0,intend:0,releas:0,stai:0,lang:0,requirej:0,directori:0,getjson:0,potenti:0,time:0},objtypes:{},titles:["Quickstart (to get a demo up and running)"],objnames:{},filenames:["index"]}) \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index 075ac1463..1de2bc76e 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -265,6 +265,52 @@ for an example of how and in what order all the Javascript files that converse.j depends on need to be loaded. +Before submitting a pull request +================================ + +Add tests for your bugfix or feature +------------------------------------ + +Add a test for any bug fixed or feature added. We use Jasmine +for testing. + +Take a look at ``tests.html`` and ``spec/MainSpec.js`` to see how +the tests are implemented. + +If you are unsure how to write tests, please +`contact me `_ and I'll be happy to help. + +Check that the tests pass +------------------------- + +Check that the Jasmine tests complete sucessfully. Open +`tests.html `_ +in your browser, and the tests will run automatically. + +On the command line you can run: + +:: + + grunt test + +Check your code for errors or bad habits by running JSHint +---------------------------------------------------------- + +`JSHint `_ will do a static analysis of your code and hightlight potential errors +and/or bad habits. + +:: + + grunt jshint + + +You can run both the tests and jshint in one go by calling: + +:: + + grunt check + + ============= Configuration =============