How to code colors in hex
JavaScript (ES6), 219 203 201 bytes



f=
s=&gt;s.split`
`.map((b,i,a)=&gt;b.replace(/./g,(c,j)=&gt;`&lt;font color=#${g=(x,y)=&gt;((a[x+i]||``)[b=y+j]==`*`&amp;&amp;15&lt;&lt;b%3*4)|(y&lt;0?8&lt;&lt;9:g(x,y-2)),(g(0,2)|g(-1,1)|g(1,1)).toString(16).slice(1)}&gt;${c}&lt;/font&gt;`)).join`
`
&lt;input type=button value="Colourise!" onclick=i.innerHTML=f(i.textContent)&gt;
&lt;pre id=i contenteditable&gt; / \ / \
| * | * |
 \ / \ / \
  | * | * |
 / \ / \ / \
| * |   | * |
 \ / \ / \ / \
  | * | * | * |
 / \ / \ / \ /
| * | * |
 \ / \ /&lt;/pre&gt;




Explanation: Each character is wrapped in a font tag to set its colour, which is calculated by checking each square, plus the squares two to the left and right, plus the four squares one away diagonally, for *s and if so combining the colours of all *s found. The * colours are chosen simply by taking their horizontal coordinate modulo 3 and shifting a bitmask appropriately. Edit: Saved 2 bytes by switching from #RRGGBB to #RGB colours.