 e89f2f4b7b
			
		
	
	e89f2f4b7b
	
	
	
		
			
			Created 10 detailed GitHub issues covering: - Project activation and management UI (#1-2) - Worker node coordination and visualization (#3-4) - Automated GitHub repository scanning (#5) - Intelligent model-to-issue matching (#6) - Multi-model task execution system (#7) - N8N workflow integration (#8) - Hive-Bzzz P2P bridge (#9) - Peer assistance protocol (#10) Each issue includes detailed specifications, acceptance criteria, technical implementation notes, and dependency mapping. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Process html entity - {, ¯, ", ...
 | |
| 
 | |
| import { decodeHTML } from 'entities'
 | |
| import { isValidEntityCode, fromCodePoint } from '../common/utils.mjs'
 | |
| 
 | |
| const DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i
 | |
| const NAMED_RE   = /^&([a-z][a-z0-9]{1,31});/i
 | |
| 
 | |
| export default function entity (state, silent) {
 | |
|   const pos = state.pos
 | |
|   const max = state.posMax
 | |
| 
 | |
|   if (state.src.charCodeAt(pos) !== 0x26/* & */) return false
 | |
| 
 | |
|   if (pos + 1 >= max) return false
 | |
| 
 | |
|   const ch = state.src.charCodeAt(pos + 1)
 | |
| 
 | |
|   if (ch === 0x23 /* # */) {
 | |
|     const match = state.src.slice(pos).match(DIGITAL_RE)
 | |
|     if (match) {
 | |
|       if (!silent) {
 | |
|         const code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10)
 | |
| 
 | |
|         const token   = state.push('text_special', '', 0)
 | |
|         token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD)
 | |
|         token.markup  = match[0]
 | |
|         token.info    = 'entity'
 | |
|       }
 | |
|       state.pos += match[0].length
 | |
|       return true
 | |
|     }
 | |
|   } else {
 | |
|     const match = state.src.slice(pos).match(NAMED_RE)
 | |
|     if (match) {
 | |
|       const decoded = decodeHTML(match[0])
 | |
|       if (decoded !== match[0]) {
 | |
|         if (!silent) {
 | |
|           const token   = state.push('text_special', '', 0)
 | |
|           token.content = decoded
 | |
|           token.markup  = match[0]
 | |
|           token.info    = 'entity'
 | |
|         }
 | |
|         state.pos += match[0].length
 | |
|         return true
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   return false
 | |
| }
 |