Donor–acceptor type covalent organic frameworks: design, optimization strategies and applications | Synapse